リレーショナルではやりきれない課題を解決するのがグラフデータベース
Q:なぜ今、グラフデータベースに注目が集まっているのでしょうか?
ウェバー:グラフデータベースの市場は急激に拡大しています。シリコンバレーを中心とした米国で大きな広がりを見せています。ヨーロッパでは英国が進んでいます。ドイツではサイズの大きな事例はありますが、まだまだ市場の反応はコンサバです。これはSAPのようなレガシーなアプリケーションの市場が確立しているからかもしれません。
日本もまだまだでこれからの市場でしょう。このようにグラフデータベースへの取り組みが速い国もあれば遅い国もあります。逆に言えば、米国の市場がユニークだとも言えます。GoogleやFacebookなど新しい企業が成功しており、彼らが使うようなとがった技術も普及しやすいのでしょう。
グラフデータベースが受けているのは、リレーショナルデータベースの”join”の課題があります。複雑なデータベースではjoinの処理がかなり重たくなってしまう。Eコマースのレコメンデーションエンジンなどでその傾向があります。人と物の関係を切り口にデータを分析したい。そう考えた際にリレーショナルデータベースでは困難な状況があるのです。
英国では金融業界でグラフデータベースを使い始めたことで、そこから市場が拡大しました。ドイツでは、サプライチェーンマネジメントやロジスティックスの最適化のところで使われ広がりつつあります。トラックの最適な運行管理などの事例があります。
地域によって切り口は異なりますが、1つのグラフデータベースの成功事例をきっかけに広がっている様子がうかがえます。
Q:具体的にリレーショナルデータベースではやりきれない問題とは?
ウェーバー:たとえば、ドイツのトラック輸送を最適化した事例があります。クリスマスをひかえ、12月にはトラック輸送の需要がピークを迎えます。かつてはOracleを使い、リソースを注ぎ込んでこのピークを乗り越えてきました。しかしそれもだんだんうまくいかなくなった。データのグラフ表現は、トラック配送のルーティングの管理には最適なものでした。joinなどの処理をしなくても、荷物配送の最適な経路を素早く導き出すことができる。これがリレーショナルだと、テラバイトクラスのデータに対するjoin処理が発生してしまい、時間がかかってうまくいかなかったのです。すべてをインデックスにするなどの工夫もしましたがダメでした。
グラフデータベースの場合は、joinなしでメモリ上のポインターを指し示すだけで最適な経路を導き出すことができます。グラフによる表現は、データのモデルが極めてシンプルです。このモデルのデザインがシンプルさが大きなポイントです。
一方で、リレーショナルデータベースでは、データの一貫性、保全性が最も重要です。そのためにデータモデルが複雑になってしまう傾向があります。グラフ表現は、アクセスしやすいようにモデル化します。データ量が大きくなってもアクセスがしやすいのが特長です。別の言い方をすれば、データ主体のリレーショナルデータベースに対し、アクセス主体のグラフデータベースと言えるでしょう。これが、最適化の解を見つけ出す際の性能に大きく影響するのです。どういう結果になるかが分かっているような処理はリレーショナルデータベースのほうが得意かもしれませんが、どう展開するかが読めないようなアプリケーションではグラフデータベースが威力を発揮します。