Convert Figma logo to code with AI

arangodb logoarangodb

🥑 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 query language or JavaScript extensions.

13,780
852
13,780
766

Top Related Projects

Free and Open Source, Distributed, RESTful Search Engine

27,075

The MongoDB Database

Apache Cassandra®

14,215

Graphs for Everyone

OrientDB is the most versatile DBMS supporting Graph, Document, Reactive, Full-Text and Geospatial models in one Multi-Model product. OrientDB can run distributed (Multi-Master), supports SQL, ACID Transactions, Full-Text indexing and Reactive Queries.

20,823

high-performance graph database for real-time use cases

Quick Overview

ArangoDB is a multi-model, open-source database system that combines the capabilities of document, graph, and key/value databases. It offers a flexible data model, powerful query language (AQL), and high performance for complex data operations, making it suitable for a wide range of applications.

Pros

  • Versatile multi-model approach supporting documents, graphs, and key/value pairs
  • Powerful and flexible query language (AQL) for complex data operations
  • Scalable architecture with support for clustering and sharding
  • Active development and community support

Cons

  • Steeper learning curve compared to single-model databases
  • Less mature ecosystem compared to some established NoSQL databases
  • Resource-intensive for small-scale applications
  • Limited third-party tool integration compared to more popular databases

Getting Started

  1. Install ArangoDB:

    # For Ubuntu/Debian
    curl -OL https://download.arangodb.com/arangodb39/DEBIAN/Release.key
    sudo apt-key add - < Release.key
    echo 'deb https://download.arangodb.com/arangodb39/DEBIAN/ /' | sudo tee /etc/apt/sources.list.d/arangodb.list
    sudo apt-get update
    sudo apt-get install arangodb3=3.9.1-1
    
  2. Start ArangoDB:

    sudo systemctl start arangodb3
    
  3. Access the web interface: Open a web browser and navigate to http://localhost:8529

  4. Connect using arangosh (ArangoDB shell):

    arangosh
    
  5. Create a database and collection:

    db._createDatabase("mydb");
    db._useDatabase("mydb");
    db._create("mycollection");
    
  6. Insert and query data:

    db.mycollection.insert({ name: "John Doe", age: 30 });
    db.mycollection.toArray();
    

For more detailed instructions and advanced usage, refer to the official ArangoDB documentation.

Competitor Comparisons

Free and Open Source, Distributed, RESTful Search Engine

Pros of Elasticsearch

  • Highly scalable and distributed, excelling in handling large-scale data and concurrent searches
  • Powerful full-text search capabilities with advanced features like fuzzy matching and relevance scoring
  • Extensive ecosystem with plugins, integrations, and visualization tools (e.g., Kibana)

Cons of Elasticsearch

  • Steeper learning curve, especially for complex queries and configurations
  • Higher resource consumption, particularly memory usage for large indices
  • Less flexible as a general-purpose database compared to multi-model databases

Code Comparison

Elasticsearch query:

GET /my_index/_search
{
  "query": {
    "match": {
      "title": "elasticsearch"
    }
  }
}

ArangoDB query:

FOR doc IN my_collection
  FILTER LIKE(doc.title, "%arangodb%", true)
  RETURN doc

While Elasticsearch uses a JSON-based query DSL, ArangoDB employs AQL (ArangoDB Query Language), which is more SQL-like. Elasticsearch's query structure is optimized for complex full-text searches, whereas ArangoDB's AQL offers a more familiar syntax for developers with SQL background and supports multi-model queries.

Both databases have their strengths, with Elasticsearch excelling in search-intensive applications and ArangoDB offering versatility as a multi-model database. The choice between them depends on specific project requirements and use cases.

27,075

The MongoDB Database

Pros of MongoDB

  • Larger community and ecosystem, with more third-party tools and integrations
  • Better support for horizontal scaling and sharding out of the box
  • More extensive documentation and learning resources

Cons of MongoDB

  • Less flexible query language compared to ArangoDB's AQL
  • Limited support for graph data and traversals
  • Higher memory usage, especially for large datasets

Code Comparison

MongoDB query:

db.collection.find({
  age: { $gt: 25 },
  city: "New York"
}).sort({ name: 1 })

ArangoDB query (using AQL):

FOR doc IN collection
  FILTER doc.age > 25 AND doc.city == "New York"
  SORT doc.name ASC
  RETURN doc

Both databases offer JSON-like document storage and querying. MongoDB uses a more JavaScript-like syntax, while ArangoDB's AQL provides a SQL-inspired language with additional features for graph traversals and complex data manipulations.

ArangoDB offers a multi-model approach, supporting document, graph, and key-value data models in a single database. This can be advantageous for applications requiring diverse data structures and query patterns.

MongoDB excels in horizontal scalability and has a larger ecosystem, making it a popular choice for large-scale applications. ArangoDB, while less widely adopted, offers more flexibility in data modeling and querying, especially for graph-based use cases.

Apache Cassandra®

Pros of Cassandra

  • Highly scalable and distributed architecture, ideal for handling massive datasets across multiple nodes
  • Strong support for write-heavy workloads with excellent write performance
  • Tunable consistency levels, allowing flexibility in balancing consistency and availability

Cons of Cassandra

  • Limited support for complex queries and joins compared to ArangoDB's multi-model approach
  • Steeper learning curve and more complex configuration, especially for smaller deployments
  • Less flexible data modeling options compared to ArangoDB's document and graph capabilities

Code Comparison

Cassandra (CQL)

CREATE TABLE users (
  id UUID PRIMARY KEY,
  name TEXT,
  email TEXT
);

ArangoDB (AQL)

db.users.insert({
  _key: "12345",
  name: "John Doe",
  email: "john@example.com"
});

The code examples highlight the difference in data modeling approaches. Cassandra uses a table-based structure with a defined schema, while ArangoDB allows for more flexible document-based insertions without a rigid schema. ArangoDB's syntax is also more JavaScript-like, which may be more familiar to some developers.

14,215

Graphs for Everyone

Pros of Neo4j

  • More mature and widely adopted graph database with a larger community
  • Powerful Cypher query language specifically designed for graph operations
  • Robust enterprise features and support options

Cons of Neo4j

  • Limited multi-model support, primarily focused on graph data
  • Can be more resource-intensive, especially for large-scale deployments
  • Steeper learning curve for developers new to graph databases

Code Comparison

Neo4j (Cypher query):

MATCH (p:Person)-[:KNOWS]->(f:Person)
WHERE p.name = 'Alice'
RETURN f.name AS friend

ArangoDB (AQL query):

FOR p IN Person
  FILTER p.name == 'Alice'
  FOR f IN 1..1 OUTBOUND p KNOWS
    RETURN f.name AS friend

Both databases offer query languages suited for graph operations, but Neo4j's Cypher is more specialized for graph traversals, while ArangoDB's AQL provides a more familiar SQL-like syntax with added graph capabilities. ArangoDB's multi-model approach allows for greater flexibility in data modeling and querying across different data structures within the same database.

OrientDB is the most versatile DBMS supporting Graph, Document, Reactive, Full-Text and Geospatial models in one Multi-Model product. OrientDB can run distributed (Multi-Master), supports SQL, ACID Transactions, Full-Text indexing and Reactive Queries.

Pros of OrientDB

  • More mature project with longer development history
  • Supports a wider range of data models (document, graph, key/value, object)
  • Native support for Java, making it potentially easier for Java developers

Cons of OrientDB

  • Less active development and community support compared to ArangoDB
  • More complex setup and configuration process
  • Limited support for horizontal scaling

Code Comparison

OrientDB query example:

SELECT FROM Customer
WHERE city = 'New York'
AND (orders.size() > 5 OR totalSpent > 1000)

ArangoDB query example:

FOR c IN Customer
  FILTER c.city == 'New York'
  AND (LENGTH(c.orders) > 5 OR c.totalSpent > 1000)
  RETURN c

Both databases support SQL-like query languages, but ArangoDB's AQL is more JavaScript-oriented, while OrientDB's SQL is closer to traditional SQL syntax. ArangoDB's query language may be more intuitive for developers familiar with JavaScript, while OrientDB's syntax might be more comfortable for those with a strong SQL background.

OrientDB offers a wider range of data models out of the box, which can be beneficial for complex data structures. However, ArangoDB's more focused approach on document and graph models, combined with its active development and community support, may make it a more attractive option for many modern applications.

20,823

high-performance graph database for real-time use cases

Pros of Dgraph

  • Native GraphQL support, allowing for easier integration with GraphQL-based applications
  • Designed specifically for graph data, potentially offering better performance for graph-specific queries
  • Horizontally scalable architecture, suitable for large-scale distributed deployments

Cons of Dgraph

  • Less mature ecosystem compared to ArangoDB, with fewer integrations and tools
  • Limited support for traditional relational database operations
  • Steeper learning curve for developers not familiar with graph databases

Code Comparison

ArangoDB query example:

FOR user IN users
  FILTER user.age > 30
  RETURN user.name

Dgraph query example:

{
  users(func: gt(age, 30)) {
    name
  }
}

Both databases offer query languages suited to their respective data models. ArangoDB uses AQL, which is SQL-like, while Dgraph uses GraphQL+-, a GraphQL-inspired language optimized for graph operations.

ArangoDB provides a more versatile multi-model approach, supporting document, key-value, and graph data. Dgraph, on the other hand, focuses exclusively on graph data, potentially offering better performance for graph-specific use cases but with less flexibility for other data models.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Two stylized avocado halves and the product name.

ArangoDB

ArangoDB is a scalable graph database system to drive value from connected data, faster. Native graphs, an integrated search engine, and JSON support, via a single query language. ArangoDB runs on-prem, in the cloud – anywhere.

ArangoDB Cloud Service

The ArangoGraph Insights Platform is the simplest way to run ArangoDB. You can create deployments on all major cloud providers in many regions with ease.

Getting Started

For the impatient:

  • Test ArangoDB in the cloud with ArangoGraph for free.

  • Alternatively, download and install ArangoDB. Start the server arangod if the installer did not do it for you.

    Or start ArangoDB in a Docker container:

    docker run -e ARANGO_ROOT_PASSWORD=test123 -p 8529:8529 -d arangodb
    

    Then point your browser to http://127.0.0.1:8529/.

Key Features of ArangoDB

Native Graph - Store both data and relationships, for faster queries even with multiple levels of joins and deeper insights that simply aren't possible with traditional relational and document database systems.

Document Store - Every node in your graph is a JSON document: flexible, extensible, and easily imported from your existing document database.

ArangoSearch - Natively integrated cross-platform indexing, text-search and ranking engine for information retrieval, optimized for speed and memory.

ArangoDB is available in a free and fully featured Community Edition as well as an Enterprise Edition for commercial use and without a dataset size limit.

Core Features

  • Horizontal scalability: Seamlessly shard your data across multiple machines.
  • High availability and resilience: Replicate data to multiple cluster nodes, with automatic failover.
  • Flexible data modeling: Model your data as combination of key-value pairs, documents, and graphs as you see fit for your application.
  • Work schema-free or use schema validation for data consistency. Store any type of data - date/time, geo-spatial, text, nested.
  • Powerful query language (AQL) to retrieve and modify data - from simple CRUD operations, over complex filters and aggregations, all the way to joins, graphs, and ranked full-text search.
  • Transactions: Run queries on multiple documents or collections with optional transactional consistency and isolation.
  • Data-centric microservices: Unify your data storage logic, reduce network overhead, and secure sensitive data with the ArangoDB Foxx JavaScript framework.
  • Fast access to your data: Fine-tune your queries with a variety of index types for optimal performance. ArangoDB is written in C++ and can handle even very large datasets efficiently.
  • Easy to use web interface and command-line tools for interaction with the server.

Scalability Features

Focus on solving enterprise-scale problems for mission critical workloads using secure graph data. ArangoDB offers special features for performance, compliance, and security, as well as advanced query capabilities.

  • Smartly shard and replicate graphs and datasets with features like EnterpriseGraphs, SmartGraphs, and SmartJoins for lightning fast query execution.
  • Combine the performance of a single server with the resilience of a cluster setup using OneShard deployments.
  • Increase fault tolerance with Datacenter-to-Datacenter Replication and and create incremental Hot Backups without downtime.
  • Enable highly secure work with Encryption 360, enhanced Data Masking, and detailed Auditing.
  • Perform parallel graph traversals.
  • Use ArangoSearch search highlighting and nested search for advanced information retrieval.

Latest Release

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

For what's new in ArangoDB, see the Release Notes in the Documentation.

Stay in Contact

NPM DownloadsLast 30 Days