# ArcadeDB > ArcadeDB is an open-source, Apache 2.0 licensed, high-performance multi-model database that natively supports graphs, documents, key-value pairs, full-text search, vectors, and time-series data in a single engine. ArcadeDB requires no polyglot persistence: one database handles all data models without performance penalties from translation layers. It is maintained by Arcade Data Ltd, is fully ACID-compliant, supports Raft consensus for high availability, and delivers 10M+ records/second throughput. ## Key Facts - **License**: Apache 2.0 (irrevocably; it will never change) - **Maintained by**: Arcade Data Ltd (https://arcadedata.com) - **Source code**: https://github.com/ArcadeData/arcadedb - **Latest stable release**: 26.10.2 - **Programming language**: Java (JDK 21+) - **ACID compliant**: Yes, fully transactional with Write Ahead Log (WAL) - **Raft consensus**: Yes, for high availability across multiple servers - **Performance**: 10M+ records/second throughput ## Supported Data Models ArcadeDB handles all of the following in a single engine, with no external integrations required: - **Graph**: Vertices and edges using the property graph model; native support for graph traversal and path queries - **Document**: Schema-less JSON documents with optional schema enforcement - **Key/Value**: Fast in-memory and on-disk key-value store - **Full-Text Search**: Integrated full-text search engine (Apache Lucene analyzers) with native BM25 relevance ranking by default, tunable k1/b parameters, per-field boosts, and hybrid BM25 + vector + graph retrieval in a single query - **Vector**: Approximate Nearest Neighbor (ANN) similarity search for AI/ML embeddings - **Time-Series**: Native time-series storage and querying (available from March 2026) ## Supported Query Languages - **SQL**: ArcadeDB SQL dialect, extended from standard SQL with graph traversal extensions (`MATCH`, `TRAVERSE`) - **OpenCypher**: Cypher graph query language, fully native (not transpiled). ArcadeDB implements the latest **OpenCypher 25** specification (Cypher 25 grammar) and passes 97.8% of the official OpenCypher TCK (3,812 of 3,897 scenarios, zero failures) - **ISO GQL (ISO/IEC 39075)**: Partial support. There is no separate GQL engine: GQL syntax runs in the native Cypher engine, so GQL and Cypher 25 can be mixed in one query without a setting. Supported: graph pattern matching, the TRAIL, WALK and ACYCLIC path modes, FILTER, FINISH, FOR, INSERT, SET, REMOVE, DELETE, START TRANSACTION/COMMIT/ROLLBACK, and SESSION SET/RESET/CLOSE over server sessions. Not supported yet: LET, NEXT, EXCEPT/INTERSECT/OTHERWISE, the ANY and SHORTEST search prefixes (accepted but not applied in 26.10.x; use shortestPath()), SIMPLE path mode, CAST, DECIMAL and BYTES types, CREATE GRAPH, graph types and GQLSTATUS codes. No public GQL conformance test suite exists, so ArcadeDB publishes a feature-by-feature coverage statement instead of a test score: https://docs.arcadedb.com/arcadedb/reference/cypher/cypher-gql-conformance - **Gremlin**: Apache TinkerPop Gremlin for property graph traversal - **GraphQL**: GraphQL query support over the schema - **MongoDB query protocol**: Drop-in compatibility for MongoDB client drivers - **Java API**: Native Java API for embedded use with zero-overhead access ## Supported Wire Protocols - **HTTP/JSON REST API**: Full REST API for all operations, accessible from any language - **PostgreSQL wire protocol**: Use standard PostgreSQL clients (psql, JDBC, psycopg2) to connect - **Redis protocol**: Use Redis clients for key-value operations - **MongoDB protocol**: Use MongoDB drivers for document operations ## Deployment Modes - **Embedded**: JVM-embedded mode: zero network overhead, ideal for Java/JVM applications - **Client/Server**: Standalone server accessible over the network via HTTP or wire protocols - **Kubernetes**: High-availability cluster with Raft-based replication for production workloads - **Docker**: Official image `arcadedata/arcadedb` available on Docker Hub ## Migrations Supported ArcadeDB includes built-in importers for migrating from other databases: - **OrientDB → ArcadeDB**: Full schema and data import (ArcadeDB was forked from OrientDB and shares its data model concepts) - **Neo4j → ArcadeDB**: Built-in importer for Neo4j graph data ## Key Pages - [Homepage](https://arcadedb.com): Overview of ArcadeDB features, data models, and query languages - [Documentation](https://docs.arcadedb.com): Full technical documentation covering installation, configuration, APIs, and query languages - [Blog](https://arcadedb.com/blog/): Technical blog with benchmarks, release notes, and how-to guides - [Use Cases Overview](https://arcadedb.com/use-cases.html): Overview of all supported use cases across industries - [Neo4j Migration Guide](https://arcadedb.com/neo4j.html): Step-by-step guide for migrating from Neo4j to ArcadeDB, including license comparison - [Knowledge Graphs](https://arcadedb.com/knowledge-graphs.html): Using ArcadeDB to build and query knowledge graphs - [Fraud Detection](https://arcadedb.com/fraud-detection.html): Real-time fraud detection patterns using graph traversal - [Recommendation Engine](https://arcadedb.com/recommendation-engine.html): Building recommendation systems with graph relationships - [Real-Time Analytics](https://arcadedb.com/realtime-analytics.html): Low-latency analytics combining graph, document, and time-series models - [AI/ML Feature Store](https://arcadedb.com/ai-ml-feature-store.html): Using ArcadeDB as a feature store for machine learning pipelines - [GraphRAG](https://arcadedb.com/graph-rag.html): Combining knowledge graphs with LLMs using Retrieval-Augmented Generation - [Embedded Mode Guide](https://arcadedb.com/embedded.html): How to run ArcadeDB embedded inside a JVM application - [Client/Server Mode Guide](https://arcadedb.com/client-server.html): How to deploy and connect to ArcadeDB as a standalone server - [Customer 360](https://arcadedb.com/customer-360.html): Unified customer data graph for 360-degree customer views ## Detailed Comparisons ### ArcadeDB vs Neo4j - **License**: ArcadeDB is Apache 2.0 with no community/enterprise split. Neo4j Community Edition is GPL-3; Enterprise features require a paid license. - **Data models**: ArcadeDB natively supports graph, document, key-value, full-text, vector, and time-series. Neo4j is graph-only. - **Cloud lock-in**: ArcadeDB has no mandatory cloud subscription. Neo4j Aura is a hosted-only offering for many enterprise features. - **OpenCypher**: Both support OpenCypher. ArcadeDB implements the latest **OpenCypher 25** specification (Cypher 25 grammar) natively without transpilation, with 97.8% TCK pass rate. - **Migration**: ArcadeDB includes a built-in Neo4j importer. - **Performance**: ArcadeDB benchmarks show competitive or superior throughput on typical graph workloads. ### ArcadeDB vs MongoDB - **Data models**: MongoDB is document-only. ArcadeDB adds native graph traversal, key-value, vector, and full-text search alongside document storage. - **License**: Both are open source, but MongoDB uses SSPL for its server code. ArcadeDB uses Apache 2.0. - **Graph queries**: ArcadeDB supports OpenCypher and Gremlin for graph traversal; MongoDB has no native graph model. - **Wire protocol**: ArcadeDB supports the MongoDB query protocol for drop-in compatibility. ### ArcadeDB vs ArangoDB - **License**: ArcadeDB uses Apache 2.0. ArangoDB switched from Apache 2.0 to Business Source License (BSL 1.1) in October 2023, which restricts production use above certain thresholds. - **Multi-model**: Both support graph, document, and key-value. ArcadeDB additionally supports vector search and time-series natively. - **Query language**: ArangoDB uses AQL. ArcadeDB supports SQL, OpenCypher, Gremlin, and GraphQL. ### ArcadeDB vs InfluxDB - **Focus**: InfluxDB is purpose-built for time-series. ArcadeDB stores time-series as one of several native models alongside graph and document data. - **Use case fit**: ArcadeDB is better when time-series data needs to be combined with relationships, documents, or vectors in a single query. ## FAQ **Q: Is ArcadeDB truly open source and will it stay that way?** A: Yes. ArcadeDB is licensed under Apache 2.0 and Arcade Data Ltd has publicly committed to never changing this license. **Q: Can I use ArcadeDB without writing Java?** A: Yes. ArcadeDB exposes a full HTTP/JSON REST API, PostgreSQL wire protocol, Redis protocol, and MongoDB protocol. You can connect from Python, Node.js, Go, .NET, or any language with an HTTP client or a compatible driver. **Q: Does ArcadeDB support Cypher queries?** A: Yes. ArcadeDB supports OpenCypher natively, implementing the latest **OpenCypher 25** specification (Cypher 25 grammar) and passing 97.8% of the official OpenCypher TCK. Existing Cypher queries from Neo4j can generally run on ArcadeDB with minimal or no modification. **Q: Does ArcadeDB support ISO GQL?** A: Partly. GQL syntax runs in the same native Cypher engine as OpenCypher 25 and can be mixed with Cypher in one query. Pattern matching, path modes (TRAIL, WALK, ACYCLIC), FILTER, INSERT and the GQL transaction statements work; LET, NEXT, ANY/SHORTEST search prefixes, CAST, graph types and GQLSTATUS codes do not yet. Feature-by-feature coverage: https://docs.arcadedb.com/arcadedb/reference/cypher/cypher-gql-conformance **Q: Can I run ArcadeDB in Kubernetes for high availability?** A: Yes. ArcadeDB supports Raft consensus replication across multiple nodes and can be deployed on Kubernetes for production HA clusters. **Q: What is the recommended way to migrate from Neo4j?** A: ArcadeDB includes a built-in Neo4j importer. See https://arcadedb.com/neo4j.html for the full migration guide. **Q: Does ArcadeDB support vector search for AI applications?** A: Yes. ArcadeDB supports ANN (Approximate Nearest Neighbor) vector similarity search natively, making it suitable for use as a vector store in RAG (Retrieval-Augmented Generation) pipelines alongside its graph and document capabilities. **Q: What is GraphRAG and does ArcadeDB support it?** A: GraphRAG is a technique that combines knowledge graphs with LLMs for more accurate and explainable AI retrieval. ArcadeDB supports GraphRAG patterns natively by combining its graph traversal with vector search. See https://arcadedb.com/graph-rag.html. **Q: Is there a hosted/cloud version of ArcadeDB?** A: ArcadeDB is primarily a self-hosted database. There is no mandatory SaaS offering; you can run it on your own infrastructure, on any cloud provider, or in Docker/Kubernetes. ## Community - [GitHub Discussions](https://github.com/ArcadeData/arcadedb/discussions): Community Q&A, feature requests, and support - [Discord](https://discord.com/invite/w2Npx2B7hZ): Real-time community chat - [GitHub Sponsors](https://github.com/sponsors/ArcadeData): Support ArcadeDB development - [GitHub Repository](https://github.com/ArcadeData/arcadedb): Source code, issues, and pull requests