データベースの種類・分類

マルチモデルデータベース まるちもでるでーたべーす

マルチモデルArangoDBCosmosDB複数データモデルグラフDBドキュメントDB
マルチモデルDBって何が便利なの?

簡単に言うとこんな感じ!

マルチモデルDBは「1つのDBでドキュメントもグラフもリレーショナルも扱える」DBだよ!普通は用途ごとに別々のDBを使わないといけないけど、マルチモデルなら「同じDB・同じトランザクション内」で複数のデータモデルを使えるから、アーキテクチャがシンプルになるんだ。


マルチモデルデータベースとは

マルチモデルデータベース(Multi-Model Database) とは、リレーショナル・ドキュメント・グラフ・キーバリューなど複数のデータモデルを単一のDBエンジンで扱えるデータベースです。

通常、異なるデータモデルには異なるDB(MySQL + MongoDB + Neo4j等)を組み合わせる必要がありますが、マルチモデルDBはこれを一元化し、データの整合性管理やトランザクション管理を簡素化します。


主なマルチモデルDB

製品対応モデル特徴
ArangoDBドキュメント・グラフ・KVオープンソース、AQLで統一操作
Azure Cosmos DBドキュメント・グラフ・KV・テーブルMicrosoftのフルマネージド
FaunaDBリレーショナル・ドキュメントサーバーレス対応
OrientDBグラフ・ドキュメント・KVJava実装
PostgreSQL(+拡張)RDB+JSON(JSONB)+全文検索拡張機能で疑似マルチモデル

データモデルの使い分け例

データ向いているモデル
ユーザープロファイルドキュメント
フォロー・フレンド関係グラフ
セッション・キャッシュキーバリュー
取引・財務データリレーショナル
全文検索検索エンジン

歴史と背景

  • 2010年代NoSQLの多様化で「DB選択が複雑すぎる」問題が顕在化
  • 2014年前後:ArangoDBなどマルチモデルDBが登場
  • 現在:Azure Cosmos DBが大企業向けマネージドマルチモデルの代表格として普及

関連用語

  • NoSQL — マルチモデルDBが対応するNoSQLモデルの種類
  • ドキュメントDB — マルチモデルDBの対応モデルのひとつ
  • グラフDB — マルチモデルDBの対応モデルのひとつ
  • MongoDB — ドキュメントDB専門の代表格
  • DBaaS — Cosmos DBのようにマネージドで提供されるマルチモデルDB