ArangoDB

ArangoDB是一个原生多模型数据库,具有用于文档,图形和键值的灵活数据模型。 使用方便的类似SQL的查询语言或JavaScript扩展来构建高性能应用程序。(ArangoDB is a native multi-model database with flexible data models for documents, graphs, and key-values. Build high performance applications using a convenient SQL-like

Github stars Tracking Chart

ArangoDB是一个多模型的开源数据库,具有用于文档、图形和键值的灵活数据模型。 使用方便的类似SQL的查询语言或JavaScript扩展来构建高性能应用程序。如果需要的话,可以使用ACID事务。通过几次鼠标点击,横向扩展。
支持的数据模型可以在查询中进行混合,并允许ArangoDB成为数据的聚合点。
若要开始使用,尝试官方的10分钟教程——可以选择您最喜爱的编程语言的版本,或者尝试官方的ArangoDB Cookbook食谱

对于缺乏耐心的人:):下载并安装ArangoDB。 启动服务器arangod并将您的浏览器指向http://127.0.0.1:8529/。

ArangoDB的主要功能
  • 多模型:文档,图形和键值对 - 根据您的应用为您的数据建模。
  • 连接:方便地加入属于一起的灵活的临时查询,减少数据冗余。
  • 交易:简单的应用程序开发可以保证数据的一致性和安全性。你的客户没有任何麻烦。

ArangoDB的其他功能包括:

  • 无模式的架构让您将MySQL的空间效率与NoSQL的性能结合起来;
  • 使用ArangoDB Foxx以数据为中心的微服务方法,将应用程序逻辑和数据库融合在一起,实现最大吞吐量;
  • JavaScript为所有的:没有语言动物园,您可以从浏览器到后端使用一种语言;
  • ArangoDB是多线程的 - 利用所有核心的力量;
  • 灵活的数据建模:将您的数据作为键值对,文档或图形的组合进行建模 - 完美的社会关系;
  • 自由索引选择:使用正确的索引来解决你的问题,无论是跳跃表还是全文搜索;
  • 可配置的持久性:让应用程序决定是否需要更多的持久性或更高的性能;
  • 强大的查询语言(AQL)来检索和修改数据;
  • 事务:对具有可选事务一致性和隔离性的多个文档或集合运行查询;
  • 复制和分片:在主从配置中设置数据库或跨多个服务器传播更大的数据集;
  • 它是开放源代码(Apache License 2.0)。

Main metrics

Overview
Name With Ownerarangodb/arangodb
Primary LanguageC++
Program languageJavaScript (Language Count: 19)
PlatformDocker, Kubernetes, Linux, Mac, Windows
License:Other
所有者活动
Created At2011-10-26 06:42:00
Pushed At2024-10-27 14:24:06
Last Commit At
Release Count671
Last Release Namev3.12.3 (Posted on )
First Release Namev0.0.1 (Posted on )
用户参与
Stargazers Count13.6k
Watchers Count329
Fork Count838
Commits Count51.6k
Has Issues Enabled
Issues Count4631
Issue Open Count736
Pull Requests Count15370
Pull Requests Open Count42
Pull Requests Close Count1320
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private

ArangoDB-Logo

ArangoDB

Slack: ArangoDB-Logo

ArangoDB is a multi-model, open-source database with flexible data models for
documents, graphs, and key-values. Build high performance applications using a
convenient SQL-like query language or JavaScript extensions. Use ACID
transactions if you require them. Scale horizontally with a few mouse clicks.

The supported data models can be mixed in queries and allow ArangoDB to be the
aggregation point for your data.

Check out our training center
to get started and see the full documentation
to dive deeper.

For the impatient:

  • Start the ArangoDB Docker container

    docker run -e ARANGO_ROOT_PASSWORD=test123 -p 8529:8529 -d arangodb/arangodb
    
  • Alternatively, download and install ArangoDB.
    Start the server arangod if the installer did not do it for you.

  • Point your browser to http://127.0.0.1:8529/

Key Features in ArangoDB

  • Multi-Model: Documents, graphs and key-value pairs — model your data as
    you see fit for your application.
  • Joins: Conveniently join what belongs together for flexible ad-hoc
    querying, less data redundancy.
  • Transactions: Easy application development keeping your data consistent
    and safe. No hassle in your client.

Here is an AQL query that makes use of all those features:

AQL Query Example

Joins and transactions are key features for flexible, secure data designs,
widely used in relational databases but lacking in many NoSQL products. However,
there is no need to forgo them in ArangoDB. You decide how and when to use joins
and strong consistency guarantees, without sacrificing performance and scalability.

Furthermore, ArangoDB offers a JavaScript framework called Foxx
that is executed in the database server with direct access to the data. Build your
own data-centric microservices with a few lines of code. By extending the HTTP API
with user code written in JavaScript, ArangoDB can be turned into a strict
schema-enforcing persistence engine.

Other features of ArangoDB include:

  • Use a data-centric microservices approach with ArangoDB Foxx and fuse your
    application-logic and database together for maximal throughput
  • JavaScript for all: no language zoo, you can use one language from your
    browser to your back-end
  • Flexible data modeling: model your data as combination of key-value pairs,
    documents or graphs - perfect for social relations
  • Different storage engines: ArangoDB provides a storage engine for mostly
    in-memory operations and an alternative storage engine based on RocksDB which
    handle datasets that are much bigger than RAM.
  • Powerful query language (AQL) to retrieve and modify data
  • Transactions: run queries on multiple documents or collections with
    optional transactional consistency and isolation
  • Replication and Sharding: set up the database in a master-slave
    configuration or spread bigger datasets across multiple servers
  • Configurable durability: let the application decide if it needs more
    durability or more performance
  • Schema-free schemata let you combine the space efficiency of MySQL with the
    performance power of NoSQL
  • Free index choice: use the correct index for your problem, be it a skiplist
    or a fulltext search
  • ArangoDB is multi-threaded - exploit the power of all your cores
  • Easy to use web interface and command-line client tools for interaction
    with the server
  • It is open source (Apache License 2.0)

For more in-depth information read the
design goals of ArangoDB

Latest Release

Packages for all supported platforms can be downloaded from
https://www.arangodb.com/download.

Please also check what's new in ArangoDB.

More Information

See our documentation for detailed
installation & compilation instructions.

There is an introductory chapter
showing the basic operation of ArangoDB. To learn ArangoDB's query language check out the
AQL tutorial.

Stay in Contact

We really appreciate feature requests and bug reports. Please use our Github
issue tracker for reporting them:

https://github.com/arangodb/arangodb/issues

You can use our Google group for improvements, feature requests, comments:

https://www.arangodb.com/community

StackOverflow is great for questions about AQL, usage scenarios etc.

https://stackoverflow.com/questions/tagged/arangodb

To chat with the community and the developers we offer a Slack chat:

https://slack.arangodb.com/