グラフ データベース: 超高速ソーシャル データにアクセスする新しい方法

クレジット:

エミール・エイフレムは、Neo4jグラフ データベース プロジェクトおよび世界有数のグラフ データベースである Neo Technology の CEO。エミールは、新しいデータベース技術において国際的に認められた思想的リーダーであり、3 大陸の会議で講演を行っています。

数年前に NOSQL の波が到来するまで、プロジェクトの最も面白くない部分はデータベースを扱うことでした。現在、冒険好きな開発者を忙しくさせる新しいテクノロジーが登場しています。問題は、MongoDB、Cassandra、Riak などのポストリレーショナル データベースのほとんどが、単純なデータを処理するように設計されていることです。ただし、最も興味深いアプリケーションは、複雑でつながった世界を扱います。

新しいタイプのデータベースは、NOSQL の標準的な方向性を大きく変えます。グラフ データベースは、NOSQL やリレーショナル データベースとは異なり、ソーシャル ネットワーク、レコメンデーション エンジン、ネットワーク システムにある複雑なデータに超高速でアクセスできるように設計されています。

パンケーキたとえば、Mozilla の次世代ブラウザ プロジェクトである は、Web が 1 つの大きなグラフにすぎないため、グラフ データベースを使用して閲覧履歴をクラウドに保存します。

グラフ理論の起源は 1735 年に遡り、レナード オイラーがケーニヒスベルクの七つの橋「すべての橋を 1 回だけ通過する都市の散歩を追跡することは可能ですか?」という当時有名な質問に答えるために、ノードとリレーションシップで構成されるトポロジーを考案することによって問題を解決しました。グラフ理論はそれ以来、多くの用途が発見されましたが、データの保存と管理に適用されるようになったのはつい最近のことです。

グラフはデータ間の関係を表す非常に直感的な方法であることがわかりました。

最初のホワイトボードのグラフ作成セッションを思い出してください。従来、開発者はこれを DBA に引き継ぎ、運が良ければ 1 か月後にデータベースを受け取り、コーディングを開始していました。これは、リレーショナル モデルが表形式であり、表形式以外のデータを表形式で表現するには時間と専門知識が必要になるためです。

グラフ データベースを使用すると、関連データを本質的にありのままに表現できます。つまり、それぞれが独自の説明的なプロパティ セットを持つ、一連の関係によって接続された一連のオブジェクトとして表現できます。グラフ データベースを使用すると、データベースに保存されたデータがホワイトボードの表現と直接一致するため、開発者はすぐにコーディングを開始できます。

クレジット:

開発の機敏性は便利ですが、鼻血が出るほどのスピードがなければ意味がありません。最近のベンチマークでは、「友達の友達」クエリ (すぐに隣接するすべてのノードを検索し、一度に 1 レベルずつ外側に進みます) を使用し、リレーショナル データベースとグラフ データベースのパフォーマンスを比較しました。クエリの深さが 3 の場合、グラフ データベースは 150 倍以上高速に実行されました。クエリの深さが 4 の場合、グラフ データベースは 1,000 倍以上高速になりました。

このパフォーマンスの大きな違いの理由は、データと関係がデータベース内にどのように保存されるかにあります。ネイティブ グラフ データベースは、「インデックスフリー隣接」と呼ばれる手法を使用します。簡単に言うと、これは、各データ要素がそのインバウンドおよびアウトバウンドの関係を直接指し、さらにその関係が関連するノードを直接指す、ということを意味します。この技術により、1 秒あたり数百万の関連レコードを走査できるようになります。

一方、リレーショナル データベースでは、物事が接続されているかどうか、またどのように接続されているかを判断し、関連するデータ レコードを取得するために多くの手順を実行する必要があります。リレーショナル データベースの量が増えると応答時間が遅くなり、ビジネスが成長するにつれて問題が発生します。ただし、グラフ データベースでは、保存されているデータの総量に依存せず、移動速度は一定のままです。これにより、ビジネスの成長に合わせてデータベースが自然に対応できるようになります。

グラフ データベースを理解するには、Oracle や MySQL などのリレーショナル データベース内でデータがどのように表現されるかを想像すると役立ちます。リレーショナル データベースの世界における 2 つの不変概念は、1) データの構造は事前に決定される、2) データ構造は表形式である、です。

グラフ データベースは、データが構造であるという点で異なります。これにより、今日の急速に変化するビジネスやアジャイル開発手法に最適なレベルの柔軟性と回復力が提供されます。

データ表現も根本的に異なります。グラフ データベースは、データを「物」(またはノード) および物間の関係として表します。これは、複雑なシステムについての私たちの考え方に非常に近いものになります。

リレーショナル データベースは、表形式のデータを保存する場合に最適です。しかし、驚くべきことに、あるいは驚くほどではないかもしれませんが、現実世界の多くはテーブルではありません。たとえば、生物学的システム、ソーシャル ネットワーク、Web を一連のテーブルに変換しようとすると、事態は非常に複雑になり始める可能性があります。

クレジット:

グラフ データベースの最もよく知られた用途には次のようなものがあります。GoogleのナレッジグラフFacebookのソーシャルグラフそしてTwitterのインタレストグラフ

しかし、グラフはもはやインターネット大手だけのものではありません。という言葉が出始めています。グラフ データベースの商用利用には次のようなものがあります。

ソーシャルネットワーキングと推奨事項: ソーシャル ネットワークのスタートアップ企業がリレーショナルから始めて、規模が拡大するにつれてグラフ データベースに移行する必要があることがすぐにわかるのを私たちは見てきました。大規模で成功しているソーシャル ネットワークのほとんどは、その中核にグラフ データベースを使用しています。グラフ データベースは、アルゴリズムを推奨できる限り、優れた能力を提供します。

ネットワークとクラウドの管理: 多くの電話会社は、ネットワークの最適化活動を支援し、「もしも」の障害分析を実施するために、グラフ データベースを使用してネットワークをモデル化しています。

マスターデータ管理:シスコは最近、組織や製品などの複雑なマスター データを処理する新しい階層管理システムを導入しました。リレーショナルに比べて柔軟性とパフォーマンスに優れているため、このシステムはグラフ データベース上に構築されています。

地理空間: オイラーによって開拓された「オリジナルの」グラフの使用例は、今日でも生き続けています。グラフ データベースが現在使用されている (多くの) ユース ケースの 3 つは、モバイル セル分析、最短パス分析、ロジスティクスです。

バイオインフォマティクス: Era7 バイオインフォマティクスは、グラフ データベースを使用して、遺伝子、タンパク質、酵素を含む複雑な情報の網を関連付けます。

コンテンツ管理とセキュリティとアクセス制御: Adob​​e の Creative Cloud は、グラフ データベースを使用して、コンテンツへのアクセスと、ユーザー、グループ、アセット、コレクション間の関係を管理します。世界最大手の通信会社の 1 つである Telenor は、アクセス制御を処理するリレーショナル システムの部分をグラフ データベースに移行することにより、ログイン時間を数分から数ミリ秒に短縮しました。

従来のデータベースがすぐに廃止されるとは確かに予測していませんが、開発を加速し、パフォーマンスを大幅に高速化するためにグラフ データベースを使用するアプリケーションが増えています。リレーショナル データベースは、比較的静的で予測可能な表形式のデータを扱う場合に最適です。

しかし、現実世界の複雑さとダイナミクスには、新しい方法が必要です。これは、世界がウェブの速度で進んでおり、誰もが他の人より先を行こうと競争している場合に特に当てはまります。人間の行動のような複雑で複雑なプロセスや、自然界やウェブ上で見られるような動的に相互接続されたシステムは、静的で予測可能性が低い傾向があり、グラフ データベースの理想的な候補となります。

Leave a Reply

Your email address will not be published. Required fields are marked *

Subscribe Now & Never Miss The Latest Tech Updates!

Enter your e-mail address and click the Subscribe button to receive great content and coupon codes for amazing discounts.

Don't Miss Out. Complete the subscription Now.