オープンソースプロジェクト
ArcadeData/arcadedb avatar
ArcadeData/arcadedb

ArcadeDBをデータモデル横断で評価する

プロジェクト概要:ArcadeDB マルチモデル データベース。SQL、Cypher、Gremlin、HTTP/JSON、MongoDB、Redis をサポートする DBMS の 1 つです。 ArcadeDB は、初のマルチモデル DBMS である OrientDB の概念的なフォークです。 ArcadeDB はベクトル埋め込みをサポートしています。

スター 1,154フォーク 140JavaApache-2.0

ひと目でわかる

これは何?
グラフ、文書、時系列、ベクトルを一つのDBMSで扱う設計と互換性の境界
誰に向いている?
グラフと文書、検索や時系列を同じDBMSで試したい開発者には検討価値があります。READMEの互換性は操作の一部に限られる接続方式もあるため、既存ドライバの置換を急ぐ組織には不向きです。
商用利用できる?
できます。Apache-2.0 は寛容なライセンスで、著作権表示とライセンス表示を残せば、使用・改変・販売が可能です。
今もメンテナンスされている?
されています。直近 1 日以内に新しいコミットがあります。
何の言語で書かれている?
主に Java です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月15日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

低レベルJavaで作られた位置付け

ArcadeDBはLuca Garulli氏が作ったマルチモデルDBMSです。READMEはOrientDBのSQLエンジンを大幅に変更して再利用し、ユーティリティの一部も使う一方、エンジン自体はゼロから書いたと説明しています。Java 21以上の低レベルAPIを使い、ガベージコレクタの圧力を減らす設計だとしています。 ArcadeDBの実装として確認します。

一般的なハードウェアで毎秒数百万レコードを処理できるという表現もありますが、これはREADMEの主張です。独立ベンチマークや利用条件は本文から確認できません。性能を採用理由にするなら、同じスキーマ、クエリ、書き込み比率で測定を作るべきです。 ArcadeDBの実装として確認します。

七つのモデルを一つの構造で試す

対応モデルはグラフ、ドキュメント、キーバリュー、検索、時系列、ベクトル埋め込み、地理空間です。グラフはリンクでレコードを結び、READMEは結合なしのネイティブグラフエンジンと説明しています。時系列にはInfluxDB Line Protocol、Prometheusのremote write/read、PromQL、Grafana連携が挙げられています。 ArcadeDBの実装として確認します。

モデル数が多いことは、複数の用途を一箇所で試せる可能性を示しますが、各モデルの容量や障害時の振る舞いまでは説明しません。推薦や不正検知などのユースケース例もREADMEにあります。実際には代表データを各モデルへ投入し、検索結果と更新整合性を確認します。 ArcadeDBの実装として確認します。

クエリ言語とドライバの境界

SQL、Neo4j Cypher、Apache Gremlin、GraphQL、MongoDB Query Languageを扱います。グラフではOpen CypherとGremlin、OrientDB SQLとの互換性が記載されています。HTTP/JSON、Postgres Wire、Redis、MongoDBドライバによる接続も選べます。 ArcadeDBの実装として確認します。

ただしRedisとMongoDBのドライバは操作の一部だけが実装されています。既存アプリが使う全操作を受け入れる前提にはできません。移行検証では、接続確認だけで終えず、利用する全クエリ、エラー処理、トランザクション境界を同じデータで実行します。 ArcadeDBの実装として確認します。

組み込みからMCPまでの実行形態

ArcadeDBはJVM上の任意の言語から組み込め、Python向けのarcadedb-embedded-pythonバインディングもREADMEにあります。リモート接続はHTTP/JSON、Postgres Wire、Redis、MongoDBの経路を選択できます。AIアシスタントは組み込みMCP Server経由で接続でき、Studio内のAI AssistantはBetaとされています。 ArcadeDBの実装として確認します。

この幅はアプリの構成に合わせやすい一方、接続方式ごとに実装範囲が違います。MCPやStudioの支援機能を本番の自動化基盤と同一視する根拠はREADMEにありません。採用前に認証、権限、通信経路、MCPで許可する操作を個別に確認します。 ArcadeDBの実装として確認します。

配布物とビルドを分けて確認する

READMEはDockerでのサーバー起動、リリース版、ソースからのカスタムビルドに触れています。Java 17とJava 21のリンク、Docker Hub、リリースページが示され、通常利用の入口と開発者向け情報が分かれています。テスト、負荷、HAレジリエンスのワークフローもリポジトリ上で確認できます。 ArcadeDBの実装として確認します。

テストワークフローが存在することは、利用環境での可用性を保証しません。Docker版でスキーマ作成、代表クエリ、再起動後の読み出しを行い、必要ならソースビルドと同じ結果になるかを比較します。 ArcadeDBの実装として確認します。

Apache-2.0と採用判断

READMEはApache-2.0のライセンス表示を掲げています。再配布や組み込みを検討する場合は、リポジトリのLICENSE本文と依存物の条件を確認します。グラフアルゴリズム、並列クエリ、マテリアライズドビューなどの機能はREADMEに列挙されていますが、運用負荷や数値保証は書かれていません。 ArcadeDBの実装として確認します。

複数モデルを横断して低遅延を狙う試作には合います。既存MongoDBやRedisの全互換を期待する移行案件には、部分実装の注記が明確な制約になります。最初にDocker版で実際のクエリ集合とACIDトランザクションを測り、リリースと互換性文書の版を記録してください。 ArcadeDBの実装として確認します。

検証用データには、頂点と辺、文書、完全一致検索、ベクトル、時系列の小さな集合を用意します。SQL、Cypher、Gremlinの同じ意味の問い合わせを実行し、結果件数と更新後の見え方を比べます。MongoDBまたはRedisドライバを使う場合は、アプリが発行する操作を一つずつ一覧化し、部分実装の注記に該当しないか確かめます。Docker再起動後の読み出し、トランザクションの中断、地理空間検索も記録してから、単一DBMSへ寄せる利点を判断します。 ArcadeDBの実装として確認します。

特にマテリアライズドビューを使う場合は、元クエリの更新、ビューの反映時点、再起動後の値を比較します。時系列ではInfluxDB Line Protocolで投入した時刻とPromQLの結果を照合し、ベクトル検索では埋め込みの生成元と距離の設定を固定します。各テストのログをリリース版と一緒に保管すれば、モデル横断の利点が実際のアプリで成立するかを説明できます。 ArcadeDBの実装として確認します。

この確認では、使った版、入力、設定、実行日時、終了状態を一つの記録にまとめます。結果がREADMEの記述と一致しない場合は、環境差として具体的に残し、未確認の機能や数値を記事へ足しません。小さな再現を先に完成させてから、対象範囲を広げる判断ができます。 ArcadeDBの実装として確認します。

編集部の結論

グラフと文書、検索や時系列を同じDBMSで試したい開発者には検討価値があります。READMEの互換性は操作の一部に限られる接続方式もあるため、既存ドライバの置換を急ぐ組織には不向きです。実データでクエリ、トランザクション、バックアップ経路を先に測定してください。

公式情報源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
コミュニティノート

コミュニティノート