loading…
Search for a command to run...
loading…
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 M
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.
ArcadeDB is a Multi-Model DBMS created by Luca Garulli, the same founder of 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:
ArcadeDB understands multiple languages:
ArcadeDB key capabilities:
geo.* SQL functionsArcadeDB can be used as:
For more information, see the documentation.
Explore real-world examples in the arcadedb-usecases repository — self-contained projects with Docker Compose, SQL schemas, and runnable demos covering:
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 and the
imported OpenBeer database to find your favorite beer.

ArcadeDB is cloud-ready with Docker and Kubernetes support.
You can also download the latest release, unpack it on your local hard drive and
start the server with bin/server.sh or bin/server.bat for Windows.
There are four variants of (about monthly) releases:
full - this is the complete package including all modulesminimal - this package excludes the gremlin, redisw, mongodbw, graphql modulesheadless - this package excludes the gremlin, redisw, mongodbw, graphql, studio modulesbase - 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.
You can also build a custom distribution with only the modules you need using the Custom Package Builder:
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.
Starting from ArcadeDB 24.4.1 code is compatible with Java 21.
Java 21 packages are available on Maven central and docker images on Docker Hub.
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:
<repositories>
<repository>
<name>github</name>
<id>github</id>
<url>https://maven.pkg.github.com/ArcadeData/arcadedb</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.arcadedb</groupId>
<artifactId>arcadedb-engine</artifactId>
<version>26.3.1-java17</version>
</dependency>
</dependencies>
Docker images are available on ghcr.io too:
docker pull ghcr.io/arcadedata/arcadedb:26.3.1-java17
Build the entire project (skipping tests):
mvn clean install -DskipTests
Build the Docker image (skipping tests):
mvn clean install -DskipTests -Pdocker
Run the full unit test suite:
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 runsTo skip these and run only the fast tests:
mvn test -DexcludedGroups="slow,benchmark"
To run only a specific tag (e.g. benchmark tests in isolation):
mvn test -Dgroups="benchmark"
Run all the integration tests (requires Docker):
mvn verify -Pintegration
Run integration tests excluding the end-to-end, load, and HA tests:
mvn verify -Pintegration -pl !e2e,!load-tests,!e2e-ha
All end-to-end tests (requires Docker):
mvn verify -Pintegration -pl e2e,load-tests,e2e-ha
The codebase is covered by several complementary test suites, each with a distinct scope:
| Suite | How it runs | Scope |
|---|---|---|
| Unit tests | mvn test (*Test) |
Fast, in-process tests of a single component in isolation: engine internals (storage, pages, WAL, indexes, serialization), query parsing and execution (SQL, Cypher, Gremlin, GraphQL), schema, graph traversals, and security. The bulk of coverage; no external services required. Tagged slow/benchmark tests can be excluded. |
| Integration tests | mvn verify -Pintegration (*IT) |
Tests spanning multiple components or a running server within the same JVM/module: HTTP/REST API, wire protocols (Postgres, MongoDB, Redis, Bolt, gRPC), cross-module behavior, and embedded multi-server clustering. Some require Docker. |
End-to-end (e2e) |
mvn verify -Pintegration -pl e2e |
Black-box tests against a real ArcadeDB server in a Docker container (Testcontainers), exercising it the way external clients do: JDBC/Postgres queries, the remote Java API, server-side JavaScript functions, and the Bolt and gRPC drivers. |
Load tests (load-tests) |
mvn verify -Pintegration -pl load-tests |
Throughput and stability under sustained concurrent workloads against single-server and three-node clusters in containers, including high-volume document and time-series ingestion. Verifies no data loss or corruption under contention. |
HA end-to-end (e2e-ha) |
mvn verify -Pintegration -pl e2e-ha |
Resilience and correctness of the high-availability (Raft) cluster under failure: leader failover, rolling restarts, split-brain, network partitions/delay/packet loss, replication convergence, and cluster-wide operations (backup/restore, import, drop database, user management). Uses Testcontainers and fault injection (Toxiproxy). |
Python client (e2e-python) |
cd e2e-python && pytest tests/ |
Verifies the Postgres wire protocol against real Python clients (psycopg2, asyncpg) and the SQLAlchemy ORM, running against a server in a Docker container (Testcontainers). |
JavaScript client (e2e-js) |
cd e2e-js && npm install && npm test |
Verifies Node.js client compatibility over the Bolt (neo4j-driver) and Postgres (pg) protocols, running against a server in a Docker container (Jest + Testcontainers). |
C# client (e2e-csharp) |
cd e2e-csharp/ArcadeDB.E2ETests && dotnet test |
Verifies the Postgres wire protocol against a .NET client (Npgsql), running against a server in a Docker container (xUnit + Testcontainers). |
Join our growing community around the world, for ideas, discussions and help regarding ArcadeDB.
#arcadedb on Stack OverflowFor security issues kindly email us at [email protected] instead of posting a public issue on GitHub.
ArcadeDB is Free for any usage and licensed under the liberal Open Source Apache 2 license. We are committed to remaining Open Source Forever — see our Governance 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.
For third-party attributions and copyright notices, see:
for providing YourKit Profiler to our
committers.
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.
Have fun with data!
The ArcadeDB Team
Run in your terminal:
claude mcp add arcadedb-multi-model-dbms -- npx Yes, ArcadeDB Multi Model DBMS MCP is free — one-click install via Unyly at no cost.
No, ArcadeDB Multi Model DBMS runs without API keys or environment variables.
Self-hosted: the server runs locally on your machine via the install command above.
Open ArcadeDB Multi Model DBMS on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.
CSA PROJECT - FZCO © 2026 IFZA Business Park, DDP, Premises Number 31174 - 001
Security
Low riskAutomated heuristic from public metadata — not a security guarantee.