The Next Generation
Multi-Model Database

Supporting Graphs, Documents, Key/Value, Search Engine, Vectors, and Time-Series

Manage complex models using ArcadeDB without any compromise. Forget about Polyglot Persistence: no need for multiple databases. Store graphs, documents, key values, search engine, vectors and time-series (available soon) all in one database with native multi-model support.

10M+
Records/Second
100%
ACID Compliant
Super
Lightweight
ArcadeDB Multi-Model Architecture
Open Source • Apache 2.0 Licensed

True Multi-Model Architecture

Manage complex models using ArcadeDB without any compromise. Forget about Polyglot Persistence: no need for multiple databases. You can store graphs, documents, key values, search engine, vectors and time-series all in one ArcadeDB Multi-Model database. Since each model is native to the database engine, you don't have to worry about translations slowing you down.

Explore the Multi-Model
Multi-Model Diagram
SELECT FROM Person
WHERE name = 'John'
AND age > 25
ORDER BY age DESC
LIMIT 10
MATCH (p:Person)
WHERE p.name = 'John'
  AND p.age > 25
RETURN p
ORDER BY p.age DESC
LIMIT 10
g.V().hasLabel('Person')
  .has('name', 'John')
  .has('age', gt(25))
  .order().by('age', desc)
  .limit(10)
query {
  persons(
    where: {
      name: { _eq: "John" }
      age: { _gt: 25 }
    }
    orderBy: { age: DESC }
    limit: 10
  ) {
    name
    age
  }
}
ResultSet result = database.select()
    .from("Person")
    .where()
    .property("name").eq().value("John")
    .and()
    .property("age").gt().value(25)
    .orderBy("age", false)
    .limit(10)
    .vertices()
db.Person.find({
  name: "John",
  age: { $gt: 25 }
})
.sort({ age: -1 })
.limit(10)

Multiple Query Languages

Query your data using the language you're most comfortable with. ArcadeDB natively supports SQL, Cypher, Gremlin, GraphQL, MongoDB query language, and a native Java API. The same query, your choice of language. No compromises, no performance penalties.

Explore Query Languages

Fast and Scalable

ArcadeDB's engine was built with Alien Technology. It's able to crunch millions of records per second. With ArcadeDB, the traversing speed is not affected by the database size. It is always constant, whether your database has a few records or billions. ArcadeDB can work as an embedded database, on a single server and can scale up using multiple servers with Kubernetes. Flexible enough to run on any platform with a small footprint.

Indestructible

Your data is secure. Our unbreakable fully transactional engine assures durability for mission-critical production databases. All the changes are saved to a persistent Journal (Write Ahead Log). In case of a crash of the server, the uncommitted transactions are automatically rolled back. ArcadeDB uses a Raft Consensus Algorithm to maintain consistency across multiple servers.

Integration & Compatibility

ArcadeDB supports SQL, GraphQL, OpenCypher and Gremlin for queries. ArcadeDB Server supports HTTP/JSON natively and is compatible with Postgres wire protocol, Redis and MongoDB. You can easily migrate your existing database from OrientDB and Neo4j in just a few minutes.

Getting Started

Choose your preferred installation method and start building in minutes

Run ArcadeDB Server with Docker using a demo database:

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

Open your browser on http://localhost:2480 to access ArcadeDB Studio. Login with username "root" and password "playwithdata".

ArcadeDB Studio Login Database Schema Graph Visualization

Set ArcadeDB Server root password as a secret:

kubectl create secret generic server-root-password \
  --from-literal=arcadedb.server.rootPassword='<password>'

Start a Kubernetes cluster with 3 servers:

kubectl apply -f arcadedb-statefulset.yaml

Download and install ArcadeDB on premise. You need JDK 11 or more recent. Run the server from a shell:

$ bin/server.sh


 █████╗ ██████╗  ██████╗ █████╗ ██████╗ ███████╗██████╗ ██████╗
██╔══██╗██╔══██╗██╔════╝██╔══██╗██╔══██╗██╔════╝██╔══██╗██╔══██╗
███████║██████╔╝██║     ███████║██║  ██║█████╗  ██║  ██║██████╔╝
██╔══██║██╔══██╗██║     ██╔══██║██║  ██║██╔══╝  ██║  ██║██╔══██╗
██║  ██║██║  ██║╚██████╗██║  ██║██████╔╝███████╗██████╔╝██████╔╝
╚═╝  ╚═╝╚═╝  ╚═╝ ╚═════╝╚═╝  ╚═╝╚═════╝ ╚══════╝╚═════╝ ╚═════╝
PLAY WITH DATA                                    arcadedb.com

The first time the server runs, you'll be prompted to set a password for the root user.

Run ArcadeDB Console:

$ bin/console.sh
ArcadeDB Console v.24.11.1 - Copyrights (c) 2024 Arcade Data

>

In Embedded mode your application and the database share the same space in the JVM for blazing fast performance.

Update your Maven pom.xml file and add the dependency:

<dependency>
  <groupId>com.arcadedb</groupId>
  <artifactId>arcadedb-engine</artifactId>
  <version>24.11.1</version>
</dependency>

Create the database with a basic schema and a graph:

try( Database db = new DatabaseFactory( "Heroes" ).create() ) {
  db.transaction( (tx) -> {
    db.getSchema().createVertexType("Hero");
    db.getSchema().createEdgeType("IsFriendOf");

    Vertex jay = database.newVertex("Hero")
      .set("firstName", "Jay")
      .set("lastName", "Miner")
      .save();
    Vertex elon = database.newVertex("Person")
      .set("firstName", "Elon")
      .set("lastName", "Musk")
      .save();
    jay.newEdge("IsFriendOf", elon, true)
      .set("since", "1990")
      .save();
  });
}

Query using OpenCypher:

Resultset result = db.query("cypher",
  "MATCH {class: Hero, where: (firstName = 'Elon' AND lastName = 'Musk')}
   .both('IsFriendOf') {as: friend}
   RETURN friend" );
while( result.hasNext(); ) {
  result.next().getProperty()
}

Join the Community

We're looking forward to your contribution. Help the project with code, tests, documentation, and more.

GitHub Discussions

Join the conversation, ask questions, and share your knowledge with the community.

GitHub Discussions

Discord Server

Chat with the team and other community members in real-time.

A Sustainable Open Source Foundation

ArcadeDB is led by Arcade Data as a foundation model where sponsorships are reinvested into hiring talented contributors rather than maximizing profit. Built by volunteers and dedicated employees working together, this approach ensures sustainable growth focused on long-term project success.

We've seen too many open-source databases pull the rug — Redis, MongoDB, Elasticsearch, Terraform, and others switched to restrictive licenses after communities helped build them. ArcadeDB is Apache 2.0, and we will never change it. No bait-and-switch. No "open core" that hides critical features behind a paywall. No cloud-only editions. The full database, every feature, is and will remain truly open source.

By sponsoring ArcadeDB, you're investing in the growth of the project and helping us expand the team — while building on a foundation you can trust for the long term.

Learn About Sponsorship Read Our License Commitment

Community & Professional Collaboration

Built by passionate volunteers and dedicated Arcade Data employees working together towards a common goal.

Reinvestment, Not Profit

Sponsorships are reinvested to hire more talented contributors, accelerating development and expanding capabilities.

Apache 2.0 Forever

We publicly commit to never changing our license. No bait-and-switch, no restrictive relicensing. Every feature, every model, truly open source — forever.

Pricing and License

Open Source

FREE Forever

ArcadeDB is FREE for any usage (Apache 2 License), no strings attached. Every feature, every model — graph, document, key-value, vector, time-series, full-text search — is included. No "enterprise edition", no cloud-only features.

Enterprise Support

Production support subscriptions with SLAs, priority bug fixes, and direct access to core developers. Get the confidence your team needs to run ArcadeDB in mission-critical environments.

View Plans

Custom Development & Consultancy

Need a custom integration, a tailored data model, or architecture guidance? Our team builds custom implementations and provides hands-on consultancy to accelerate your project.

Get in Touch

Fund the Project

Anyone can support ArcadeDB starting from just $5/month. Every contribution is shared with active committers — a sustainable model where sponsorships directly fund the people who build the software.

Become a Sponsor