昨年のAerospike Summit 2023では、Linked Data Orchestrationの創設者である ジョージ・アナオディティスと、 PhaseShift Studioのマネージングパートナー兼Apache TinkerPopグラフ・コンピューティング・フレームワークの作成者であるマルコ・ロドリゲスという グラフの専門家をゲストに迎え、グラフデータベースの威力について話し合いました。
このセッションでは、Aerospike Graphとグラフシステム全般をテーマに、現在のグラフ市場の分析から、開発者、アーキテクト、IT 意思決定者がグラフデータベースを導入する前に評価しなければならない基準に至るまで、あらゆることについて議論しました。
この記事では、彼らの議論から得られた主な要点をご紹介します。
グラフデータベースとは
当社のソリューション概要では、Aerospike Graph を「広く採用されているグラフ テクノロジと実践に基づいて、非常に大規模な低レイテンシのマルチホップ・グラフ・クエリを可能にする、エンジニアリングされたグラフデータベース」と定義しています。
より単純かつ一般的に言えば、グラフデータベースは大量の「接続されたデータ」を処理できるように設計されており、開発者やアーキテクトがグラフデータモデルを活用して ID 解決や高度な不正行為検出などの複雑なコンピューティングの課題に対処できるようになります。
グラフ理論について語るために、スイスの数学者レオンハルト・オイラーが「ケーニヒスベルクの7つの橋」という問題を考案した1736年まで遡りましょう。
彼の課題は、ケーニヒスベルクの町全体を、7つの橋をそれぞれ一度だけ、重複することなく渡りながらナビゲートする方法を見つけ出すことでした。
この問題を定式化することで、彼は基本的にグラフ理論を発明したのです。
現在のグラフ市場を分析する
質問者: 「現在、業界内でデータベース開発者、アーキテクト、意思決定者の間で、グラフデータモデル、特にグラフ データベースに対する関心についてどのようなことが見られますか?」
グラフ市場は、Gartner HypeCycle for Emerging Technologiesで初めて言及された 2019 年に変曲点に達しました。
そして、それは「膨らんだ期待の頂点」から「幻滅の谷」へと進んでいきました。
その間に、グラフ市場は「啓蒙の坂」に向かって少しずつ進んでおり、2018 年の 7 億ドルから現在では約 29 億ドルまで成長し、大幅な成長が続いています。
彼らのセッションで、アナディオティスは、これまでよりも多くのデータが存在するという単純な問題を全面的に評価しているわけではありません。
彼は、グラフ市場の隆盛はむしろその機能によるものだと考えています。
「重要なのはつながりであり、グラフはつながりを活用する最良の方法です」と彼は言います。
関連ブログ:
グラフデータモデルの採用
質問者:「グラフデータベースを検討し始めた場合、アーキテクトや開発者は何を考慮する必要がありますか?またそのアプローチはどのようなものであるべきでしょうか?」
SQL からグラフ データモデルへの移行はパラダイム シフトです。
SQL のスキーマはテーブルで表現されますが、マルコ ロドリゲス氏が述べているように、グラフ データはすべて「接続間の移動」に関するものです。
これらの接続は頂点とエッジで構成されますが、開発者がデータ セットに没頭できるようにするのは視覚化機能です。
それでも、一方と他方の要件と知識ベースはまったく異なります。
グラフデータベースの評価
質問者:「グラフ データベースの評価を始めている人、または何らかのグラフ機能を実行するための自家製ソリューションを持っている人にとって、商用データベースの購入を検討している場合、何を基準に検討すべきですか?この決定を下しますか?」
厳格な基準による評価
アナオディティスは、グラフデータベースが提供するものを評価する際に、ハード基準評価とソフト基準評価という2 つのアプローチを採用しています。
厳しい基準の中核となる主な要素はパフォーマンス、スケーラビリティ、コストですが、「これらは客観的な方法で実際に評価するのが非常に難しいことでもある」と彼は強調しています。
グラフデータベースが適切であるかどうかを真に判断する唯一の方法は、独自の実践テストを実施することです。
分析についても注目すべき要素です。
アナオディティスは、特にナレッジ グラフを作成する場合、データベースによる分析のサポートを検討することを推奨しています。
最後に、データをどれだけ簡単にインポートおよびエクスポートできるかを評価します。
ソフト基準の評価
アナオディティスのソフト基準の評価は、問題のデータベースが開発者にとってどれだけ使いやすいかということから始まります。
生産性を向上させるための IDE サポートはあるのか、 彼はまた運用の機敏性についても言及しています。
データベース ソリューションを採用する前に、オンプレミス、クラウド、さらにはKubernetesなど、導入に最適なオプションを検討することが極めて重要です。
質問者:「問題の解決策を見つけるために最初の支援として機能するコミュニティ サポートやベンダー サポートはありますか?」
グラフ データベース ソリューションに取り組む前に、知っておくべきことと評価すべきことの詳細については、こちらのビデオをご覧ください。
この動画では、Aerospike Graph のアプローチと、Apache Tinkerpop とどのように統合されるかについても詳しく説明しています。
より全体的な探索については、ブログ「開発者によるグラフ データベースの紹介」をご覧ください。
スケーリンググラフデータベース
質問者 : 「より高度に接続されたデータセットを取得し、より多くのデータを格納する市販のソリューションは存在しますが、大量のデータ量に対応しながら既知のレベルを提供できる既製のソリューションはありません。レイテンシーと高レベルのスループットを実現します。なぜ、解決するのが難しい問題なのでしょうか?」
スーパーノードの問題
マルコ・ロドリゲスは、「スーパーノード問題」という共通の問題を指摘しています。
「グラフモデルを操作するとき、またはそれをグラフ データベースに入れるとき、特定の頂点があり、その頂点と同じ場所にあるすべてのエッジを保存する必要があるため、トラバーサルが最終的に行われるホット スポットが発生します。常に同じ頂点を通過します。」
言い換えれば、その頂点が攻撃を受けており、重大なパフォーマンスのボトルネックが生じています。
Aerospike は、重い頂点を複数の兄弟頂点間で分割することでスーパーノードの問題を処理し、効率を高めます。
異なるマシン上の頂点間の双方向ポインタを管理することは課題を引き起こし、慎重なデータ整合性の処理が必要になります。
つまり、あるマシン上のエッジを削除し、そのエッジが別のマシン上のエッジを参照する場合、その 2 つの間にシームレスな同期が必要になるのです。
そうしないと、データの整合性の問題が発生し、「ゴースト エッジ」が発生する可能性があります。これらのハーフエッジは、システム パフォーマンスをよりスムーズにするための同期クリーンアップ メカニズムを確立することの重要性を強調しています。
このビデオでは、Aerospike の複合インデックス ルックアップについて マルコが述べていること、そして他のグラフデータベースの初期ジャンプの問題と対照的に、それらがどのようにデータへのシームレスなエントリ ポイントを提供するのかを確認出ます。
詳細については、ホワイトペーパー「拡張性を考慮して設計されたグラフ データベース」からご確認いただけます。
Aerospike Graph を使用してデータ接続を探索する
Aerospike Graph は、開発者がすぐに使用でき、拡張性が高く、最も要求の厳しい大規模プロパティ グラフ データベース ワークロードの要件を満たし、それを超えるように設計されています。
まずは無料でお試しください。
このブログは2024年1月12日のブログ「Understanding the power of graph databases」の翻訳です。