メインコンテンツへ
データベースDB実践

グラフデータベースの特徴と適したユースケースの組み合わせとして、最も適切なものはどれか。

ア.グラフDBは時系列データ(センサーログ・株価)の格納に特化しており、時間軸に沿った集計クエリが高速に実行できる。
イ.グラフDBはリレーショナルDBの上位互換で、どんなユースケースにも対応できる万能データベースである。
ウ.グラフDBはテーブルとJOINを使って関係を表現するため、RDBと同じSQLで操作でき、既存システムからの移行が容易である。
エ.グラフDBはノード(頂点)・エッジ(辺)・プロパティでデータを表現し、複雑な関係性の探索(友人の友人・最短経路・推薦)が得意。SNSの人間関係・不正検知・知識グラフに向く。正解

解説

グラフDBは「人間関係図をそのままDBにした」もの。AさんとBさんが友達→ノードがエッジでつながっている。「友達の友達の友達は?」のような深い関係の辿り方が、RDBの多段JOINより圧倒的に速い。

なぜ エ が正解か

エが正解。グラフDBはNeo4j・Amazon Neptuneが代表例。ノード(エンティティ)をエッジ(関係)でつなぎ、関係の深さを問わず高速トラバーサル(関係の辿り)ができる。SNSの友人推薦・不正取引ネットワーク検出・ナレッジグラフ・サプライチェーン経路探索に強い。

なぜ イ は間違いか

グラフDBはRDBの上位互換ではなく、関係性探索に特化したデータモデル。構造化された定型データの集計はRDBの方が優れる場合が多い。

なぜ ウ は間違いか

グラフDBはSQLではなくCypher(Neo4j)やGremlinなど専用クエリ言語を使う。テーブルとJOINというモデルはRDBの概念。

なぜ ア は間違いか

時系列データに特化したのは時系列DB(InfluxDB・TimescaleDB等)の説明。グラフDBの特性ではない。

出典: AI生成問題(学習用)