ArcadeDB

io.github.ArcadeData由 GitHub 帳號 ArcadeData 發布v26.3.1更新於 Oct 26, 2026

Multi-Model database with built-in MCP server for SQL, Cypher, Gremlin, and GraphQL.

概覽

AI 產生的概覽

ArcadeDB 多模型資料庫內建的 MCP 伺服器,讓助理查詢與管理圖、文件、鍵值、時序與向量資料。

可以做什麼
  • 透過資料庫內建的 MCP 伺服器查詢與管理 ArcadeDB 資料庫,README 將其列為 AI 助理接入的方式。
  • 跨模型與語言操作:以 SQL、Neo4j Cypher、Apache Gremlin、GraphQL 與 MongoDB 查詢語言存取圖、文件、鍵值、搜尋、時序、向量與地理空間資料。
  • 運用圖能力,例如 70 多種內建圖演算法、平行 SQL 查詢執行與實體化檢視。
  • 支援 Graph RAG、推薦引擎、詐欺偵測與知識圖譜等 AI 相關情境。
適用情境
當助理需要直接操作 ArcadeDB 執行個體——檢視結構、執行 Cypher、Gremlin 或 SQL 查詢,或建立圖與向量檢索流程——而不想另外接用戶端時,適合安裝。
執行需求
需要一個執行中的 ArcadeDB 伺服器(Docker 映像、以 bin/server.sh 啟動的發行包,或 JVM 內嵌模式),並具備 MCP 伺服器模組;非 Docker 安裝需 Java 21 以上。清單未宣告任何套件、環境變數或驗證方式,連線資訊須由使用者自行提供。
安裝前請注意
README 的快速開始範例透過 ARCADEDB_SETTINGS 設定 root 密碼,應視為機密,不要沿用範例值。接入的助理可執行查詢,並可能依權限修改或刪除資料,建議使用受限帳號並先在非正式環境試用。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 ArcadeDB,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[ArcadeDB]

Multi Model DBMS Built for Extreme Performance

[圖片]   [圖片]   [圖片]   [圖片]   [圖片]   [圖片]   [圖片]   [Ask DeepWiki]   [Bolt drivers]   [圖片] [圖片]   [圖片]   [圖片]   [圖片]   [圖片]

Test suiteRunsStatus
Java CI - testevery push to main[Java CI - test]
HA integration (Raft, embedded)daily[HA integration (Raft, embedded)]
HA resilience (Docker, fault injection)daily[HA resilience (Docker, fault injection)]
HA chaos (randomized faults, 60 min)weekly[HA chaos (randomized faults, 60 min)]
Load testsdaily[Load tests]
Bolt driver-version matrixdaily[Bolt driver-version matrix]
Native image builddaily[Native image build]
Benchmarksweekly[Benchmarks]

[Join Discord]

[Github]   [LinkedIn]   [Bluesky]   [Twitter]   [Youtube]   [Discord]   [StackOverflow]   [Blog]

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:

  • 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 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-python-bindings
  • Remotely by using HTTP/JSON
  • Remotely by using a Postgres driver (ArcadeDB implements Postgres Wire protocol)
  • Remotely by using a Redis driver (only a subset of the operations are implemented)
  • Remotely by using a MongoDB driver (only a subset of the operations are implemented)
  • By AI assistants via the built-in MCP Server (Model Context Protocol)

For more information, see the documentation.

Use Cases

Explore real-world examples in the 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 \           -v arcadedb-config:/home/arcadedb/config \           -v arcadedb-databases:/home/arcadedb/databases \           -e ARCADEDB_SETTINGS="-Darcadedb.server.rootPassword=playwithdata -Darcadedb.server.defaultDatabases=Imported[root]{import:https://github.com/ArcadeData/arcadedb-datasets/raw/main/orientdb/OpenBeer.gz}" \           arcadedata/arcadedb:latest

--rm deletes the container's anonymous volumes with it, so the two named volumes keep the imported OpenBeer database (databases) and the users, groups and API tokens the server writes at runtime (config) across runs. For a fresh start, remove them with docker volume rm arcadedb-config arcadedb-databases.

Pass database settings in ARCADEDB_SETTINGS and any extra JVM flags in JAVA_OPTS: Docker replaces an environment variable rather than appending to it, so keeping the two apart leaves the image's own garbage collector and heap sizing (ARCADEDB_OPTS_GC and ARCADEDB_OPTS_MEMORY) intact. The heap is sized as a percentage of the container memory limit, so docker run -m 512m and a multi-GB production container both work without further tuning. The image runs on Java 25, where server.sh also enables compact object headers (-XX:+UseCompactObjectHeaders), after checking that the JVM accepts the flag (a bare distribution on Java 25 or later does the same); set ARCADEDB_OPTS_HEADERS to override it, or to an empty value to opt out.

Now open your browser on http://localhost:2480 and play with ArcadeDB Studio and the imported OpenBeer database to find your favorite beer.

[ArcadeDB Studio]

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.

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.

You can also build a custom distribution with only the modules you need using the 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.

An experimental GraalVM native-image build (fast startup, low RAM, no JVM required) is also available - see docs/native-image.md for prerequisites, the build/target matrix, and Docker usage.

Java Versions

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:

xml

<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:

shell
docker pull ghcr.io/arcadedata/arcadedb:26.3.1-java17

Embedding Gremlin alongside the engine

Always use the shaded classifier for gremlin when embedding it, whether alongside arcadedb-engine or on its own. Its ANTLR runtime is relocated into a private package, so it never collides with the engine's ANTLR 4.13.2 on a shared classpath.

The plain arcadedb-gremlin jar resolves ANTLR to the engine's 4.13.2 (pulled transitively via arcadedb-engine), which the engine's SQL/Cypher parsers require. TinkerPop's Gremlin string-query parser ships a precompiled ANTLR 4.9.1 parser that only deserializes against the relocated runtime inside the shaded jar, so the plain jar alone will not run Gremlin string queries - use the shaded classifier.

xml
<dependency>    <groupId>com.arcadedb</groupId>    <artifactId>arcadedb-engine</artifactId>    <version>26.8.1</version></dependency><dependency>    <groupId>com.arcadedb</groupId>    <artifactId>arcadedb-gremlin</artifactId>    <version>26.8.1</version>    <classifier>shaded</classifier></dependency>

Building and Testing

Build the entire project (skipping tests):

bash
mvn clean install -DskipTests

Build the Docker image (skipping tests):

bash
mvn clean install -DskipTests -Pdocker
Running Unit Tests:

Run the full unit 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; excluded by default (see below)

benchmark-tagged tests are excluded by default, so a plain mvn test already skips them. To also skip slow tests and run only the fast ones:

bash
mvn test -DexcludedGroups="slow,benchmark"

To run only a specific tag (e.g. benchmark tests in isolation), clear the default exclusion or it cancels out the selection and nothing runs:

bash
mvn test -Dgroups="benchmark" -DexcludedGroups=
Running Integration Tests:

Run all the integration tests (requires Docker):

bash
mvn verify -Pintegration

Run integration tests excluding the end-to-end, load, and HA tests:

bash
mvn verify -Pintegration -pl !e2e,!load-tests,!e2e-ha
Running End-to-End Tests:

All end-to-end tests (requires Docker):

bash
mvn verify -Pintegration -pl e2e,load-tests,e2e-ha
Test Suites at a Glance

The codebase is covered by several complementary test suites, each with a distinct scope. The "CI" column says when each one runs; the scheduled ones have a status badge at the top of this page.

SuiteHow it runsCIScope
Unit testsmvn test (*Test)every PRFast, 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. CI splits them into lanes by JUnit tag: slow (long functional tests) and vector (LSM vector-index rebuilds) run in their own lanes, benchmark is excluded by default.
Integration testsmvn verify -Pintegration (*IT)every PRTests spanning multiple components or a running server within the same JVM/module: HTTP/REST API, wire protocols (Postgres, MongoDB, Redis, Bolt, gRPC), and cross-module behavior. Some require Docker.
HA integration (ha-raft)mvn verify -Pintegration -pl ha-raftdailyRaft high-availability clusters of several servers started inside one JVM: replication, leader election, schema and security propagation, snapshot install, and catch-up of lagging followers. Moved out of the PR pipeline because of its length.
End-to-end (e2e)mvn verify -Pintegration -pl e2eevery PRBlack-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-testsdailyThroughput 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-hadailyResilience and correctness of the Raft cluster under scripted failures: 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).
HA chaos (HaChaosIT)mvn verify -Pintegration -pl e2e-ha -Dit.test=HaChaosIT -Dfailsafe.excludedGroups=weeklyLong randomized run (60 minutes by default) against a containerized cluster: concurrent writers while a seeded scheduler injects faults (kill, stop, rolling restart, pause, isolate, split, latency, packet loss, and a follower frozen for more than 60 s that must recover without reformatting its Raft storage), and every acknowledged write is checked against all replicas after each step. Each run prints its seed so a failure can be replayed with -Dchaos.seed=...; tune with -Dchaos.nodes, -Dchaos.duration, -Dchaos.faults, -Dchaos.writers. Tagged chaos, so the plain e2e-ha run skips it.
Benchmarksmvn verify -Dgroups=benchmark -DexcludedGroups=weeklyMicrobenchmarks and comparison runs (@Tag("benchmark")). They measure rather than assert, and are excluded from every other run.
Python client (e2e-python)cd e2e-python && pytest tests/every PRVerifies the Postgres wire protocol against real Python clients (psycopg2, asyncpg) and the SQLAlchemy ORM, and the Bolt protocol against the official neo4j driver, running against a server in a Docker container (Testcontainers).
JavaScript client (e2e-js)cd e2e-js && npm install && npm testevery PRVerifies 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 testevery PRVerifies the Postgres wire protocol (Npgsql) and the Bolt protocol (Neo4j.Driver, plain and TLS) from .NET, running against a server in a Docker container (xUnit + Testcontainers).
Go client (e2e-go)cd e2e-go && go test ./...every PRBolt conformance with the official neo4j-go-driver, plain and TLS, against a server in a Docker container. Implements the shared scenario spec in bolt/conformance/spec.yaml, like the other client suites.
Bolt driver matrixbolt-nightly.yml workflowdailyReruns the Bolt tests of the JavaScript, Python, C# and Go suites against several released versions of each official driver, and publishes the result in COMPATIBILITY.md.
Studio (e2e-studio)cd e2e-studio && npm install && npm testevery PRBrowser tests of the Studio web UI with Playwright: database creation, queries and charts, graph view (styling, context menu, export), table views, and vector search.

Community

Join our growing community around the world, for ideas, discussions and help regarding ArcadeDB.

Security

For security issues kindly email us at [email protected] 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. 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:

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.

Have fun with data!

The ArcadeDB Team

Stargazers over time

[Stargazers over time]

來源:README.md,提交 888b83c

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v26.3.1最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分