DSE Graphについて
DSE Graphをインストールおよび構成する方法やDSE Graphの機能の使用方法を解説した開発者および管理者向けドキュメント。
DataStax Enterprise Graphは、顧客向けアプリケーションを駆動するのに十分な速度を備えた初のグラフ・データベースです。膨大なデータセットに合わせて拡張できるほか、トランザクション・ワークロードと分析ワークロードの両方を実行できます。DSE Graphは、高度なセキュリティ保護、組み込みのAnayticsとEnterprise Search機能、および視覚的管理、監視、および開発ツールなどを含むDataStax Enterpriseのすべてのエンタープライズ・クラスの機能を統合しています。
グラフ・データベースとは
グラフ・データベースは、グラフ構造を使用してデータをその関係性と一緒に格納するデータベースです。グラフ・データベースは、ホワイトボードに絵を描くのと同じくらい簡素なデータ・モデルを利用します。グラフ・データベースでは、データ・モデリングの説明にあるように、頂点、エッジ、およびプロパティを使用します。
DSE Graphとは
規模に合わせて構築されるDSEデータベースのアーキテクチャーは、ペタバイトの情報および1秒あたり数千の同時ユーザー/操作を処理できることを意味します。DSE Graphは、DataStax Enterpriseのコンポーネントの1つであるDSEデータベース上に構築されます。DSE Graphには以下の利点があります。
大規模なグラフのサポート |
DSEデータベースには分散ストレージ層があるため、DSE Graphに格納されているグラフは、クラスター内のマシンの数に合わせて増減できます。グラフには数億(10^8)の頂点および数十億(10^9)のエッジを含めることができます。 |
多数の同時トランザクションおよび運用グラフ処理のサポート(OLTP) |
DSE Graphのトランザクション容量は、クラスター内のマシンの数に応じて拡大/縮小し、非常に大きいグラフでの複雑な探索クエリーに対する結果を数ミリ秒以内に返します。 |
グローバル・グラフ分析およびバッチ・グラフ処理のサポート(OLAP) |
Sparkフレームワークを使用して、グローバル・グラフ分析およびバッチ・グラフ処理(OLAP)に対応します。 |
DSE Searchとの統合 |
DSE Searchと統合することで、インデックス作成を効率化します。 |
地理検索、数値範囲検索、および全文検索のサポート |
大規模なグラフの頂点およびエッジに対する地理検索、数値範囲検索、全文検索をサポートしています。 |
Apache TinkerPopのネイティブ・サポート |
Apache TinkerPopによって公開されている、一般的なプロパティ・グラフ・データ・モデルをネイティブ・サポートしています。 |
Gremlinクエリー言語のネイティブ・サポート |
グラフ探索言語Gremlinをネイティブ・サポートしています。 |
Gremlin Serverの統合 |
Gremlinグラフ・サーバーと統合されています。 |
パフォーマンス調整オプション |
多数のグラフレベル構成により、パフォーマンス調整が可能です。 |
頂点中心インデックスによるクエリーの最適化 |
頂点中心インデックスによる頂点レベルのクエリーによって、スーパー・ノード問題にまつわる問題を緩和します。 |
ディスク表現の最適化 |
最適化されたディスク表現を提供し、ストレージ利用の効率化とアクセスの高速化を図ります。 |
DSE GraphとTitanの違い
- DSEデータベース専用に設計。DSE Graphは、DSEデータベースの機能を活用できるように設計されています。
- グラフ・データに最適化されたストレージ。DSE Graphは、高次数頂点の隣接リストをパーティション分割し、高歪度次数分布によってグラフ・データを保存し、クエリーの効率化を図ります。
- クエリーを高速化する専用インデックス構造。
- 最適化された分散クエリー。DSE Graphは、各クエリーの処理に最も適したクラスター・ノードにクエリーをインテリジェントにルーティングします。このルーティングによって高いデータ局所性が得られ、クラスター周囲でのデータ移動が少なくて済みます。Titanでは、クエリー実行はすべてコーディネーター上でローカルに行われ、すべてのデータは他のクラスター・インスタンスから取り出されます。
- 実稼働環境用に認定済み
- 高度なセキュリティ機能
- Enterprise SearchとAnalyticsとの統合
- OpsCenterを使用した視覚的な管理および監視
- DataStax Studioによるビジュアル開発
- 認定DataStaxドライバーでのグラフ・サポート
- ETLまたは同期化が不要
DSE Graphと他のグラフ・データベースとの違い
DSE Graphでは、ストレージ・バックエンドとしてDSEデータベースを使用しています。そのため、このグラフ・データベースは分散型で、常に利用可能であり、スケールアウト・アーキテクチャーを採用しています。DSE Graphのデータは、クラスター内のすべてのノードにわたって自動的にパーティション分割されます。また、DSE Graphには、グラフ・データに対するOLAP分析および検索に役立つ分析用サポートが組み込まれています。最後に、すべてのDSEコンポーネントでは高度なセキュリティ・オプションを使用しているため、DSE Graphをセキュリティで保護することによってデータの機密性を確保できます。
Apache TinkerPopとは
Apache TinkerPopは、DSE Graphだけでなく他のグラフ・データベースとの対話に使用される抽象フレームワークを提供するオープン・ソース・プロジェクトです。
Gremlinとは
Gremlinは、DSE Graphの基本インターフェイスです。Gremlinは、Apache TinkerPopによって開発されたグラフ探索言語兼仮想マシンです。Gremlinは、指示クエリーと宣言クエリーを必然的にサポートできるようにする関数型言語です。
DSE Graphとの対話方法
DSE Graphとの最も基本的な対話方法は、Gremlin Console dse gremlin-console
を使用することです。Gremlin Consoleを使用することによって、グラフ・データベース・スキーマの作成、データの挿入およびクエリーのほか、グラフ探索を使用してメタデータに対してデータベースのクエリーを行うことができます。SQLと比べ、Gremlinを使用すると、複雑な探索を簡単に定義できます。グラフィカル・ツールを希望する場合は、DataStax Studioをご使用ください。DataStaxには、Gremlin文をDSE Graphに渡す、さまざまなプログラミング言語で記述された数々のドライバーが実稼働向けに用意されています。プログラミング言語には、Java、Python、C#、C/C++、Node.js、Rubyがあります。
DSE Graphとの間でデータを移行する方法
- DSE Graph Loaderには、CSV、JSON、テキスト・ファイル、Gryoファイルからデータを読み込み、JDBC互換テータベースからクエリーを実行するコマンドライン・ユーティリティが用意されています。
- DataStax StudioとGremlin ConsoleのGremlinスクリプトおよびコマンド。
- GraphSONファイルは、グラフ・データとメタデータを交換できるJSONファイルです。
- GraphMLは、グラフ・データを交換するための標準形式です。頂点やエッジといった情報のやり取りはできますが、メタデータの場合はやり取りが制限されます。
- Gryoは、バイナリー・データの交換を可能にするKryoのバリエーションです。
DSE Graphに付属しているツール
- DataStax Studio - Gremlinコマンドを実行したり、グラフを視覚化したりするためのWebベース・ノートブック
- Gremlin Console - DSE Graphを探索するためのシェル
- リモート・クエリーを処理するGremlin Server
- DataStax OpsCenter - 監視および管理用ツール
- DataStax Enterprise(DSE)SearchおよびDSE Analyticsとの統合
DSE Graphを実行するために必要なハードウェアまたはクラウド環境の種類
DSE Graphは、他のDataStax Enterprise製品と同様に、共通の仕様を持つコモディティ・ハードウェアで実行されます。「クラスター・デプロイの計画」を参照してください。