Amazon Neptune の開始方法

Amazon Neptune などのグラフデータベースは、リレーションシップを保存し、ナビゲートするために構築された専用のデータベースです。グラフデータベースは、ソーシャルネットワーキング、レコメンデーションエンジン、不正検出など、データ間のリレーションシップを作成し、そのリレーションシップに対してすばやくクエリを実行する必要があるユースケースで、リレーショナルデータベースよりも優れた威力を発揮します。リレーショナルデータベースを使用してこのようなアプリケーションを構築する場合、さまざまな課題があります。複数のテーブルと複数の外部キーを使用する必要があります。このデータをナビゲートする SQL クエリにはネストされたクエリと複雑な結合が必要で、それらはすぐに手に負えない状態になります。また、時間の経過とともにデータサイズが大きくなるため、クエリが適切に動作しなくなります。re:invent 2018 ではグラフデータベースへの入り口となるプレゼンテーションを行い、さらなる情報や詳細を提供しています。

Neptune では、ノード (データエンティティ)、エッジ (リレーションシップ)、プロパティなどのグラフ構造を使用して、データを表現および保存します。リレーションシップは、データモデルの第一要素として保存されます。これにより、ノードのデータを直接リンクできるため、データのリレーションシップをナビゲートするクエリのパフォーマンスが大幅に向上します。Neptune の大規模でインタラクティブなパフォーマンスにより、さまざまなグラフユースケースを効果的に実現できます。

すでにグラフモデルのデータがある場合、Amazon Neptune を始めるのは簡単です。CSV または RDF 形式でデータを読み込み、Apache TinkerPop Gremlin、SPARQL または openCypher を使用してグラフクエリの作成を開始できます。入門ドキュメント、または以下のリンクから AWS オンライン Tech Talk をご覧ください。Amazon Neptune のベストプラクティスについてもまとめています。 

 
Amazon Neptune はオープン Graph API とクエリ言語をサポートしているので、Gremlin、SPARQL および openCypher の外部ドキュメントに接続します。 Neptune で Gremlin を使用しているお客様は、 Apache TinkerPop Documentation を強化するのに役立つリファレンスとして、よくオンラインブック Practical Gremlin: An Apache TinkerPop Tutorial を参照しています。 Neptune で RDF および SPARQL を使用しているお客様には、World Wide Web Consortium の SPARQL 1.1 の概要ガイドが役立つでしょう。openCypher はプロパティグラフ用の宣言型クエリ言語であり、もともと Neo4j が開発し、2015 年にオープンソース化され、Apache 2 オープンソースライセンスの下で openCypher プロジェクトに貢献しました。その構文は、 Cypher Query Language Reference、バージョン 9 に記載されています。

グラフでのデータの見え方を理解したい場合、Amazon Neptune でのグラフデータモデルとクエリの裏側の仕組み に関する re:Invent 2018 のプレゼンテーションがあります。Github で入手可能なサンプルコードがついています。

他にも開始に役立つサンプルや例が入手可能です。 Neptune グラフを可視化するコードの例があります。 AWS Glue を使用して「Kevin Baconへの 6 次の隔たり」を探すグラフクエリを試すために ETL IMDB を Neptune 用にするアプリケーションがあります。協調フィルタリングの使い方を示す レコメンデーションエンジンのサンプルがありあります。

GraphQL で Amazon Neptune にアクセスできるようにすることに関心があるなら、AWS AppSync GraphQL と Amazon Neptune の使い方を示すアプリケーションの例があります。

Amazon Neptune への移行を考えている場合は、re:invent 2018 のプレゼンテーション、Migrating to Amazon Neptune があります。また、GraphML データを Neptune CSV 形式に変換するツールもありますし、AWS Glue ジョブから Neptune への記述に役立つ Python ライブラリもあります。

疑問を解決する

Amazon Neptune のよくある質問のページをご覧ください。

詳細 
無料のアカウントにサインアップ

AWS 無料利用枠にすぐにアクセスできます。 

サインアップ 
コンソールで構築を開始する

AWS マネジメントコンソールで Amazon Neptune を使った構築を始めましょう。

サインイン