グラフデータベースはどんな定義からしても、ビッグデータ技術ではない。グラフデータベースは、従来のリレーショナルデータベースの代わりに使われる事例が増えてきている、単なるNoSQLデータベースの一種だ。
とは言え、グラフデータベースをビッグデータやアナリティクスの文脈で議論することには意味がある。これは、グラフデータベースの特長が、複雑なデータの関係性を分析する能力を高めるために、舞台裏で利用されているからだ。さらに、組織がレポーティングをリアルタイムまたは準リアルタイムに移行するのにも役立っている。これらのトレンドは、どちらも最近のビッグデータの取り組みで注目されている内容でもあるが、企業でのレポーティングが、トランザクションを基にした文脈から関係性を基にした文脈へとシフトしつつあるのは、企業がビッグデータやアナリティクスに取り組んだことによる成果と言ってもいいだろう。
グラフデータベースのソリューションを提供しているNeo4jの、北米におけるデベロッパーリレーション責任者であるRyan Boyd氏は、「グラフデータベースが効果的なのは、高度に直感的なデータモデルを扱うことができるためであり、オブジェクトとデータの間にある関係性を発見する能力を持っており、現実世界のあり方を反映できるためだ」と述べている。
同氏によれば、グラフデータベースが企業に導入されている理由は、データハンドリングを通じて世界を効果的かつ直感的に記述できること、グラフデータベースが従来のリレーショナルデータベースと比べて、非常に高いパフォーマンスを出せる場合があること、そしてグラフデータベースはアジャイルであり、新しいデータモデルや既存のデータモデルの最適化をより少ない労力で簡単に行うことができることなどだという。こういったことは、なぜ可能なのだろうか。
「リレーショナルデータベースでは、JOINステートメントを実行するたびに、アプリケーションがあるインデックスと別のデータセットを比較する必要がある。当社の顧客には、普段利用しているSQLクエリに、JOINの処理が20回以上必要なものがあるという企業もある。そのような処理のクエリは、場合によっては非常に時間がかかる。グラフデータベースの場合は、論理的なスタート地点を見つけて、そこから枝を広げて関係性を特定していく。たとえば、『Johnの友達の友達をすべて発見する』というクエリを書くとしよう。グラフデータベースでは、異なるインデックスをJOINで結合する代わりに、メモリ内やキャッシュ内でポインタ演算を実行してこの処理を行う」とBoyd氏は説明する。その結果、計算量も少なくなり、処理も高速になる。
提供:iStock/whyframestudio