https://github.com/arcadedata/arcadedb
ArcadeDB Multi-Model Database, one DBMS that supports SQL, Cypher, Gremlin, HTTP/JSON, MongoDB and Redis. ArcadeDB is a conceptual fork of OrientDB, the first Multi-Model DBMS. ArcadeDB supports Vector Embeddings.
https://github.com/arcadedata/arcadedb
arcadedb database dbms distributed docker document embedded graph k8s key-value kubernetes multi-model orientdb search-engine similarity-search time-series vector-database vector-search
Last synced: 28 days ago
JSON representation
ArcadeDB Multi-Model Database, one DBMS that supports SQL, Cypher, Gremlin, HTTP/JSON, MongoDB and Redis. ArcadeDB is a conceptual fork of OrientDB, the first Multi-Model DBMS. ArcadeDB supports Vector Embeddings.
- Host: GitHub
- URL: https://github.com/arcadedata/arcadedb
- Owner: ArcadeData
- License: apache-2.0
- Created: 2021-08-16T16:01:29.000Z (almost 5 years ago)
- Default Branch: main
- Last Pushed: 2026-04-18T05:34:15.000Z (about 1 month ago)
- Last Synced: 2026-04-18T07:27:26.091Z (about 1 month ago)
- Topics: arcadedb, database, dbms, distributed, docker, document, embedded, graph, k8s, key-value, kubernetes, multi-model, orientdb, search-engine, similarity-search, time-series, vector-database, vector-search
- Language: Java
- Homepage: https://arcadedb.com
- Size: 47.5 MB
- Stars: 812
- Watchers: 15
- Forks: 101
- Open Issues: 50
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Citation: CITATION.cff
- Security: SECURITY.md
- Governance: GOVERNANCE.md
- Notice: NOTICE
Awesome Lists containing this project
README
# 
Multi Model DBMS Built for Extreme Performance
ArcadeDB is a Multi-Model DBMS created by Luca Garulli, the same founder of [OrientDB](https://github.com/orientechnologies/orientdb),
after SAP's acquisition. Written from scratch with a brand-new engine made of Alien Technology, ArcadeDB is able to crunch millions
of records per second on common hardware with minimal resource usage. ArcadeDB reuses OrientDB's SQL engine (heavily modified) and
some utility classes. It's written in LLJ: Low Level Java - still Java21+ but only using low level APIs to leverage advanced
mechanical sympathy techniques and reduce Garbage Collector pressure. Highly optimized for extreme performance, it runs
from a Raspberry Pi to multiple servers on the cloud.
ArcadeDB is fully transactional DBMS with support for ACID transactions, structured and unstructured data, native graph engine (no
joins but links between records), full-text indexing, geospatial querying, and advanced security.
ArcadeDB supports the following models:
- [Graph Database](https://docs.arcadedb.com#graph-model) (compatible with Neo4j Cypher, Apache Tinkerpop Gremlin and OrientDB SQL)
- [Document Database](https://docs.arcadedb.com#document-model) (compatible with the MongoDB driver + MongoDB queries and OrientDB
SQL)
- [Key/Value](https://docs.arcadedb.com#keyvalue-model) (compatible with the Redis driver)
- [Search Engine](https://docs.arcadedb.com/#searchengine-model)
- [Time Series](https://docs.arcadedb.com/#timeseries-model) (with InfluxDB Line Protocol, Prometheus remote_write/read, and PromQL support)
- [Vector Embedding](https://docs.arcadedb.com/#vector-model)
- [Geospatial](https://docs.arcadedb.com/#geospatial-model)
ArcadeDB understands multiple languages:
- [SQL](https://docs.arcadedb.com#sql) (from OrientDB SQL)
- Neo4j [Cypher (Open Cypher)](https://docs.arcadedb.com#cypher)
- [Apache Gremlin (Apache Tinkerpop v3.7.x)](https://docs.arcadedb.com#gremlin-api)
- [GraphQL Language](https://docs.arcadedb.com#graphql)
- [MongoDB Query Language](https://docs.arcadedb.com#mongodb-query-language)
ArcadeDB key capabilities:
- **70+ Built-in Graph Algorithms** — Pathfinding, centrality, community detection, link prediction, graph embeddings, and more — all available out of the box
- **Parallel Query Execution** — SQL queries leverage multiple CPU cores for faster execution on large datasets
- **Materialized Views** — Pre-computed query results stored and automatically maintained
- **MCP Server** — Built-in [Model Context Protocol](https://docs.arcadedb.com/#mcp-server) server for AI assistant and LLM integration
- **AI Assistant** — Integrated AI assistant in Studio (Beta) for query help and database management
- **Geospatial Indexing** — Native spatial queries and proximity searches with `geo.*` SQL functions
- **TimeSeries** — Columnar storage with Gorilla/Delta-of-Delta compression, InfluxDB/Prometheus ingestion, PromQL queries, Grafana integration
- **Hash Indexes** — Extendible hashing for faster exact-match lookups alongside LSM-Tree indexes
ArcadeDB can be used as:
- Embedded from any language on top of the Java Virtual Machine
- Embedded from Python via bindings: [arcadedb-embedded-python](https://github.com/humemai/arcadedb-embedded-python)
- Remotely by using [HTTP/JSON](https://docs.arcadedb.com#http-json-api)
- Remotely by using a [Postgres driver](https://docs.arcadedb.com#postgres-driver) (ArcadeDB implements Postgres Wire protocol)
- Remotely by using a [Redis driver](https://docs.arcadedb.com#redis-query-language) (only a subset of the operations are implemented)
- Remotely by using a [MongoDB driver](https://docs.arcadedb.com#mongodb-query-language) (only a subset of the operations are implemented)
- By AI assistants via the built-in [MCP Server](https://docs.arcadedb.com/#mcp-server) (Model Context Protocol)
For more information, see the [documentation](https://docs.arcadedb.com).
### Use Cases
Explore real-world examples in the [arcadedb-usecases](https://github.com/ArcadeData/arcadedb-usecases) repository — self-contained projects with Docker Compose, SQL schemas, and runnable demos covering:
- **Recommendation Engine** — graph traversal + vector similarity + time-series
- **Knowledge Graphs** — co-authorship and citation networks with full-text search
- **Graph RAG** — retrieval-augmented generation with LangChain4j and Neo4j Bolt
- **Fraud Detection** — graph, vector, and time-series signals with Cypher
- **Real-time Analytics** — IoT and service monitoring with time-series
- **Social Network Analytics** — materialized view dashboards with polyglot queries
- **Supply Chain** — multi-tier visibility with PostgreSQL protocol and JavaScript
### Getting started in 5 minutes
Start ArcadeDB Server with Docker:
```
docker run --rm -p 2480:2480 -p 2424:2424 \
-e JAVA_OPTS="-Darcadedb.server.rootPassword=playwithdata -Darcadedb.server.defaultDatabases=Imported[root]{import:https://github.com/ArcadeData/arcadedb-datasets/raw/main/orientdb/OpenBeer.gz}" \
arcadedata/arcadedb:latest
```
Now open your browser on http://localhost:2480 and play with [ArcadeDB Studio](https://docs.arcadedb.com/#studio) and the
imported `OpenBeer` database to find your favorite beer.

ArcadeDB is cloud-ready with [Docker](https://docs.arcadedb.com/#docker) and [Kubernetes](https://docs.arcadedb.com/#kubernetes) support.
You can also [download the latest release](https://github.com/ArcadeData/arcadedb/releases), unpack it on your local hard drive and start the server with `bin/server.sh` or `bin/server.bat` for Windows.
### Releases
There are four variants of (about monthly) releases:
- `full` - this is the complete package including all modules
- `minimal` - this package excludes the `gremlin`, `redisw`, `mongodbw`, `graphql` modules
- `headless` - this package excludes the `gremlin`, `redisw`, `mongodbw`, `graphql`, `studio` modules
- `base` - core engine, server, and network only — excludes all optional modules (`console`, `gremlin`, `studio`, `redisw`, `mongodbw`, `postgresw`, `grpcw`, `graphql`, `metrics`)
The nightly builds of the repository head can be found [here](https://central.sonatype.com/service/rest/repository/browse/maven-snapshots/com/arcadedb/arcadedb-package/).
You can also build a **custom distribution** with only the modules you need using the [Custom Package Builder](https://docs.arcadedb.com/#custom-package-builder):
```bash
curl -fsSL https://github.com/ArcadeData/arcadedb/releases/download/26.3.1/arcadedb-builder.sh | \
bash -s -- --version=26.3.1 --modules=gremlin,studio
```
Available optional modules: `console`, `gremlin`, `studio`, `redisw`, `mongodbw`, `postgresw`, `grpcw`, `graphql`, `metrics`. The builder supports interactive mode, Docker image generation, and offline builds from local Maven repositories.
### Java Versions
Starting from ArcadeDB 24.4.1 code is compatible with Java 21.
Java 21 packages are available on [Maven central](https://repo.maven.apache.org/maven2/com/arcadedb/) and docker images on [Docker Hub](https://hub.docker.com/r/arcadedata/arcadedb).
We also support Java 17 on a separate branch `java17` for those who cannot upgrade to Java 21 yet through GitHub packages.
To use Java 17 inside your project, add the repository to your `pom.xml` and reference dependencies as follows:
```xml
github
github
https://maven.pkg.github.com/ArcadeData/arcadedb
com.arcadedb
arcadedb-engine
26.3.1-java17
```
Docker images are available on ghcr.io too:
```shell
docker pull ghcr.io/arcadedata/arcadedb:26.3.1-java17
```
### Building and Testing
Build the entire project (skipping tests):
```bash
mvn clean install -DskipTests
```
Run the full test suite:
```bash
mvn test
```
Some tests are tagged to indicate their cost:
- `slow` - functional tests that take noticeably long (large batches, multi-second elapsed time, big payloads)
- `benchmark` - microbenchmarks not intended for regular CI runs
To skip these and run only the fast tests:
```bash
mvn test -DexcludedGroups="slow,benchmark"
```
To run only a specific tag (e.g. benchmark tests in isolation):
```bash
mvn test -Dgroups="benchmark"
```
### Community
Join our growing community around the world, for ideas, discussions and help regarding ArcadeDB.
- Chat live with us on [Discord](https://discord.gg/w2Npx2B7hZ)
- Follow us on [Twitter](https://twitter.com/arcade_db)
- or on [Bluesky](https://bsky.app/profile/arcadedb.bsky.social)
- Connect with us on [LinkedIn](https://www.linkedin.com/products/arcadedb)
- or on [Facebook](https://www.facebook.com/arcadedb)
- Questions tagged `#arcadedb` on [Stack Overflow](https://stackoverflow.com/questions/tagged/arcadedb)
- View our official [Blog](https://arcadedb.com/blog/)
### Security
For security issues kindly email us at support@arcadedb.com instead of posting a public issue on GitHub.
### License and Attribution
ArcadeDB is Free for any usage and licensed under the liberal [Open Source Apache 2 license](LICENSE). We are committed to remaining **Open Source Forever** — see our [Governance](GOVERNANCE.md) for the structural guarantees that make this more than a promise. If you need commercial support, or you need to have an issue fixed ASAP, check our [pricing page](https://arcadedb.com/pricing.html).
For third-party attributions and copyright notices, see:
- [NOTICE](NOTICE) - Required legal attributions
- [ATTRIBUTIONS.md](ATTRIBUTIONS.md) - Detailed third-party acknowledgments
- [LICENSE](LICENSE) - Full license text
- [GOVERNANCE.md](GOVERNANCE.md) - License guarantee and project governance
### Thanks To
for providing YourKit Profiler to our committers.
### Contributing
We would love for you to get involved with ArcadeDB project.
If you wish to help, you can learn more about how you can contribute to this project in the [contribution guide](CONTRIBUTING.md).
Have fun with data!
The ArcadeDB Team
## Stargazers over time
[](https://starchart.cc/ArcadeData/arcadedb)
