Amazon Web Services ブログ

Category: Amazon Neptune

[AWS Black Belt Online Seminar] Amazon Neptune 資料及び QA 公開

先日 (2020/07/14) 開催しました AWS Black Belt Online Seminar「Amazon Neptune」の資料を公開しました。当日、参加者の皆様から頂いた QA の一部についても共有しております。 20200714 AWS Black Belt Online Seminar Amazon Neptune from Amazon Web Services Japan AWS クラウドサービス活用資料集(すべての過去資料が閲覧できます) Q. 可視化について QuickSigt ではできませんか? A. 現在のところ QuickSight での可視化は直接行えませんので、本セミナーでご紹介した可視化ツールをご検討下さい。 Q. グラフ D Bのクエリ言語が ISO で標準化 (GQL) されたがこれまで Neptune は非対応だった。どうなる? A. Amazon Neptune は GQL には対応しておりません。 Q. Neptune は可視化がサードパーティー頼みだったが、以前より良いものが出てきていそうか? A. 可視化につきましては本セミナーでご紹介した可視化ツールをご検討下さい。 […]

Read More

クラウドへの移行: Blazegraph から Amazon Neptune への移行

グラフデータベースアプリケーションのライフスパン中、アプリケーション自体には基本的な要件、つまり、W3C 標準の SPARQL エンドポイントを機能させることのみが備わっている傾向があります。けれども、グラフデータベースが重要なビジネスアプリケーションに組み込まれるようになると、ビジネスと運用の両面からさらに多くのものが求められるようになります。重要なビジネスインフラストラクチャは、単に機能するだけでなく、可用性が高く、安全で、拡張可能で、費用対効果が優れていることが求められます。これらの要件により、オンプレミスまたはセルフホストソリューションから、Amazon Neptune などのフルマネージドグラフデータベースソリューションへの移行が求められます。 Neptune は、ビジネスクリティカルなグラフデータベースアプリケーションの構築と実行を容易にする、高速で信頼性の高い、フルマネージドグラフデータベースサービスです。Neptune は、数十億の関係を格納し、ミリ秒のレイテンシーでグラフをクエリするように最適化された専用の高性能グラフデータベースエンジンです。Neptune は、リードレプリカ、ポイントインタイムリカバリ、Amazon Simple Storage Service (Amazon S3) への継続的なバックアップ、およびアベイラビリティーゾーン間のレプリケーションにより、高可用性を実現するように設計されています。Neptune は、AWS Identity and Access Management (IAM) 認証、HTTPS 暗号化クライアント接続、および保管時の暗号化をサポートしており、安全です。Neptune は、開発とテストを対象とした低コストインスタンスを含む、さまざまなインスタンスタイプも提供しています。これにより、予測可能で低コストのマネージドインフラストラクチャがもたらされます。 現在のオンプレミスまたはセルフホストのグラフデータベースソリューションから Neptune への移行を選択する場合、この移行を実行するための最良の方法は何でしょうか? この記事では、オープンソースの RDF トリプルストア Blazegraph から Neptune に次の手順を実行して移行する方法を説明します。 AWS インフラストラクチャをプロビジョニングします。まず、AWS CloudFormation テンプレートを使用して必要な AWS インフラストラクチャをプロビジョニングします。 Blazegraph からデータをエクスポートします。この記事では、Blazegraph からデータをエクスポートするための 2 つの主要な方法について説明します。それは、SPARQLCONSTRUCT クエリを使用するか、Blazegraph エクスポートユーティリティを使用する方法です。 Neptune にデータをインポートします。Neptune ワークベンチと Neptune バルクローダーを使用して、エクスポートしたデータファイルを Neptune にロードします。 […]

Read More

Apache Kafka 向け Amazon Managed Streaming を使用して、データキャプチャを Neo4j から Amazon Neptune に変更

Neo4j から Amazon Neptune へのポイントインタイムデータ移行を実行した後、進行中の更新をリアルタイムでキャプチャして複製することができます。Neo4j から Neptune へのポイントインタイムグラフデータ移行の自動化については、完全に自動化されたユーティリティを使用した Neo4j グラフデータベースの Amazon Neptune への移行をご参照ください。この記事では、cdc-neo4j-msk-neptune リポジトリのサンプルソリューションを使用して、Neo4j から Neptune へのキャプチャとレプリケーションを自動化する手順について説明します。 変更データキャプチャ (CDC) パターンを使用したデータベースの継続的なレプリケーションにより、データをストリーミングして他のシステムで利用できるようにすることができます。この記事では、最新の変更を Neptune にコピーできるように、CDC を使用して Neo4j からデータをストリーミングすることにより、グラフデータベースを最新化することに専念しています。Strangler パターンのイベント傍受戦略を使用して Neo4j を最新化することにより、すべての変更を Neptune に段階的にプッシュし、アプリケーションを変更して Neptune を使用できます。Neptune は、高速で信頼性が高い、完全マネージド型グラフデータベースサービスであり、高度に接続されたデータセットと連携するアプリケーションの構築と実行を容易にします。Neptune の中核にあるのは、何十億もの関係を保存し、ミリ秒単位のレイテンシーでグラフをクエリするために最適化された、専用の高性能グラフデータベースエンジンです。 アーキテクチャの概要 この記事のソリューションは、AWS アカウントでの次のアーキテクチャのデプロイを自動化します。このアーキテクチャは、レプリケーション用の疎結合システムを構築するためにソリューションがプロビジョニングする AWS リソースを示しています。 アーキテクチャには次の要素が含まれます。 Amazon VPC 内のすべての必須 AWS リソースをブートストラップする、エンドユーザーがトリガーする AWS クラウド開発キット (AWS CDK) アプリ レプリケーション用の Docker コンテナで実行される専用サービスを実行するための Amazon Elastic […]

Read More

Waves における大規模なユーザークエリとレコメンデーションへの Amazon Neptune の利用

本記事は、ClearScale のソリューションアーキテクチャディレクタであり、APN のプレミアコンサルティングパートナーとしてもクラウドの全体的なプロフェッショナルサービスを提供している、Pavel Vasilyev 氏の寄稿です Waves は Y Combinator から支援を受けているデートアプリです。同社の既存の IT アーキテクチャが、Google Cloud では維持しきれなくなると経営陣が認識したとき、それは AWS への移行を開始するタイミングとなりました。Waves は、Google Cloud から AWS への移行、およびグラフデータベースエンジン専用に設計された Amazon Neptune などのサービスを使った機能を実装するにあたり、 ClearScale とパートナーを結ぶことを決めました。Neptune を使用する開発者は、相互接続したデーセットを扱うアプリケーションの構築と実行が可能になります。これは、Waves が必要としていた機能そのものです それまで Waves アプリケーションは、急速に増加するユーザー数に起因する、いくつもの課題と対峙していました。これらの課題には、特定のデータベースクエリが原因となった信頼性やレイテンシーの問題が含まれます。これらのクエリは、アプリに組み込まれたレコメンデーションエンジンが実行しているものです。加えて、Waves でのインフラストラクチャ向け予算は想定外の速さで増加し続けており、その終着点も見えない状態だったのです。 この記事では、Waves のワークロードを AWS に移行するために、ClearScale が取った手法をご紹介します。またそこで、膨大なクエリボリュームを処理できる先進的なレコメンデーションエンジンを構築するために、Neptune を導入した方法についてもご説明していきます。加えて、AWS が提供する他の機能を使用しながら、ClearScale が Waves の全体的なアーキテクチャを強化した方法も解説します。 移行プロジェクト まず、Waves と ClearScale の両者は、この共同作業が、次のような 5 つのステージに分かれることを明確化しました。 Cloud Storage から Amazon Simple Storage […]

Read More

Amazon Neptuneを使ってニュースパスのコメント機能を実装・運用する方法

この投稿は Gunosy によるゲスト投稿で「AWS Neptuneを使ってニュースパスのコメント機能をGraphDBで実装・運用する方法」の記事に加筆修正を加えたものです。 Gunosy は「情報を世界中の人に最適に届ける」を企業理念に掲げ、情報キュレーションサービス「グノシー」、KDDI株式会社と共同で提供する、ニュース配信アプリ「ニュースパス」、女性向け総合情報アプリ「LUCRA(ルクラ)」等のメディアの開発・運営をしています。また、これらのメディアを通じたメディア事業のほか、「Gunosy Ads」や「Gunosy Ad Network」等のアドテク事業も行っています。情報キュレーションサービスは、インターネット上に存在する膨大な量の情報の中から、特定の基準に基づき情報を収集し配信するサービスです。Gunosy は、情報の収集・整理を、人の手ではなく、アルゴリズムを用いて、ユーザーが必要とする情報を届けています。 「ニュースパス」は、かんたん操作で話題のニュースがチェックできる無料のアプリです。独自の情報解析・配信技術を用いて、提携メディアが配信するニュースの中から自動的に選定した情報をお届けします。ニュースパスではニュースの記事にコメントをつけることができます。この投稿では Amazon Neptune を使ってどのようにニュースパスのコメント機能を実装し、運用しているかについてお話しします。 なぜAmazon Neptuneを使ったのか? 最初は Amazon Aurora か Amazon DynamoDB での実装を検討していましたが、グラフ構造に適しているという理由から Amazon Neptune の採用を決めました。 また、今後記事以外に対するコメントなどといった機能追加も、データ構造的に容易であるという点にも魅力を感じました。そして、簡易的なレコメンド機能の実装も簡単に行えるという利点もありました。 Amazon Neptuneで何を解決したのか ニュースパスでは、記事へのコメント機能を Amazon Neptune を使用して実現していて、コメントデータは次の図のような形で保持されています。 コメントのデータ構造は下記の要素で構成されます。 articleとcommentの vertex (頂点)が、aboutのedge(辺)で結ばれている (記事へのコメントは記事に紐付く) commentとuserの vertex が、postの edge で結ばれている (コメントはユーザーによって投稿される) commentとuserの vertex が、likeの edge で結ばれている (コメントはユーザーからいいねされる) commentとuserの vertex が、deleteの edge で結ばれている […]

Read More

Amazon Neptune、Amazon Comprehend Medical、および Tom Sawyer グラフデータベースブラウザを使用して COVID-19 の科学的研究を探索する

COVID-19 は人類に襲いかかった世界的な危機です。症状、治療法、危険因子など、ウイルスのあらゆる側面に関する識見を高めるために、大規模な研究が行われています。救援活動を支援するために、AWS は一般公開の COVID-19 データレイクを作成しました。これには、パンデミックとの戦いに役立つさまざまなデータセットが含まれています。詳細については、「COVID-19 データの分析用のパブリックデータレイク」と「AWS COVID-19 パブリックデータレイクの探索」を参照してください。 コロナウイルスに関するデータは研究用の出版物で大量に見つけることができます。データレイクのデータセットの 1 つは、このような出版物の大規模なコーパスで、アレン人口知能研究所が集約して更新しています。問題は、必要な情報を見つけて抽出する方法にあります。 この記事では、ナレッジグラフを用いてこの問題を解決する方法について説明します。 Amazon Neptune は、高速で信頼性が高い、完全マネージド型グラフデータベースサービスであり、高度に接続されたデータセットと連携するアプリケーションの構築と実行を容易にします。Neptune の中核にあるのは、何十億もの関係を保存し、ミリ秒単位のレイテンシーでグラフをクエリするために最適化された、専用の高性能グラフデータベースエンジンです。Neptune は、一般的なグラフモデルである Property Graph と W3C の RDF、およびそれぞれのクエリ言語である Apache TinkerPop Gremlin と SPARQL をサポートしています。これにより、高度に接続されたデータセットを効率的にナビゲートするクエリを簡単に構築できます。このチュートリアルでは、プロパティグラフを作成し、Apache TinkerPop Gremlin を使用してデータをクエリします。 高度に接続されたネットワークを評価するには、多くの場合それを見る必要があります。Neptune と合わせて使える優れたアプリケーションが、Tom Sawyer Software です。Tom Sawyer グラフデータベースブラウザでは、グラフデータベースに格納されているデータを簡単に表示して操作できます。これは、Amazon Simple Storage Service (Amazon S3) から Neptune にデータを直接インポートできるエンドツーエンドの視覚化アプリケーションであり、コマンドラインツールが不要になります。データベースに接続してすぐにデータの探索、グラフ要素のプロパティの検査、ノードとエッジの外観の変更をニーズに合わせて行えます。 グラフデータベースは、データを接続するのに優れています。これは、単に研究出版物を保存するだけでなく、意味的に重要なデータをリンクして、興味深い関連情報を明らかにするクエリを作成できます。この記事では COVID-19 Open Research Dataset を使用しています。これには、何万もの論文と、著者、発行日、ジャーナル、デジタルオブジェクト識別子などの関連メタデータが含まれています。一般的な著者や引用に基づいて論文をリンクできるため、このメタデータはグラフに適しています。 ただし、このユースケースでは、内容に基づいて論文をリンクする必要があります。意味的に論文をリンクするのは難がありますが、幸い、必要なものを正確に提供するツールがあります。Amazon Comprehend Medical […]

Read More

Amazon Neptune を使用して顧客識別グラフを作成する

顧客識別グラフは、プライバシー保護に準拠した方法を用いて、クッキー、デバイス識別子、IP アドレス、E メール ID、および内部エンタープライズ ID などの複数の識別子を既知の個人または匿名プロファイルにリンクすることにより、顧客と見込み顧客の単一の統合ビューを提供します。また、デバイスやマーケティングチャネル全体での顧客の行動や好みをキャプチャします。これは中央ハブとして機能し、ターゲットを絞った広告、顧客体験のパーソナライズ、およびマーケティング効果の測定を可能にします。 この記事では、AWS で顧客識別グラフを作成する方法の概要を説明し、主要なビジネスドライバー、課題、ユースケース、顧客の成功事例、およびソリューションの利点を確認します。また、ソリューション、サンプルデータモデル、AWS CloudFormation テンプレート、および開発を開始するために使用できるその他の技術コンポーネントについても説明します。 次の図は、デバイス識別子、クッキー、ブラウザ、動作など、特定のユーザーに関するデータのコレクションを顧客識別グラフプラットフォームで示しています。これにより、ID 解決、スコアリング、パーソナライズ用のオーディエンスセグメントの作成が行えるようになります。 ソリューションは、クラウドの専用グラフデータベースである Amazon Neptune で構築します。Amazon Neptune は何十億もの相互接続された関係を保存およびナビゲートするのに理想的で、リアルタイムの広告およびマーケティングアプリケーション向けにミリ秒のレイテンシーをサポートします。このソリューションは、機械学習モデルの構築、トレーニング、開発のためのフルマネージドプラットフォームである Amazon SageMaker も使用しています。このソリューションでは、ホストされた Jupyter ノートブックを提供できる Amazon SageMaker を使用して、顧客識別グラフデータをロードし、一般的なユースケースに対してクエリします。 プライバシー保護に準拠したカスタマーエクスペリエンス マーケティング担当者、広告主、デジタルプラットフォームは、顧客のニーズを特定、理解、予測し、さらにプライバシー保護に準拠した方法を使用してエクスペリエンスのパーソナライズを大規模に行う必要があります。 このような期待に応えることは、多くの面で困難に直面します。ビジネスの観点からは、マーケティング、販売、ロイヤルティなどの企業サイロからデータを集約する必要があります。テクノロジーの観点から見ると、グローバルに拡張できる安全で柔軟なデータベースプラットフォームが必要です。これにより、デバイス、顧客 ID、チャネル、および設定間の相互に関連する何十億もの関係について、リアルタイムの顧客識別および行動グラフを継続的に維持できます。 AWS で顧客識別グラフソリューションを構築する 顧客識別グラフソリューションにより、参照アプリケーションがもたらされます。そのため、独自のビジネスルールを使って、コスト効率が高く、スケーラブルで、安全で、可用性の高い顧客データプラットフォームを構築できます。顧客シグナルにリアルタイムで応答して、広告およびマーケティングアプリケーションとカスタマージャーニーオーケストレーションを自動化できます。 このソリューションにより、マーケッター、アドテック、マーテック、ゲーム、メディア、およびエンターテインメント企業は、何百万もの顧客プロファイルの何十億もの関係から洞察をリアルタイムでキャプチャしてアクティブ化できます。Zeta Global、NBCUniversal、Activision Blizzard などのお客様は、Amazon Neptune を使用して識別グラフを作成し、消費者のジャーニーをキャプチャして、何百万ものユーザーのために広告、コンテンツ、ゲーム内体験をパーソナライズしています。 このソリューションには、サンプルデータモデル、CloudFormation テンプレート、Amazon SageMaker ノートブックが含まれており、データベースで一般的なユースケースをクエリすることができます。完全な顧客識別グラフソリューションは、通常、取り込みパイプライン、データ検証、クレンジング、ID 解決アルゴリズム、ID グラフデータベース、およびオーディエンスセグメンテーションで構成されています。この記事では、Neptune データベースへのデータの取り込み、相互に関連するプロファイルをキャプチャするためのデータモデリング、およびクエリメカニズムに焦点を当てます。これにより、クロスデバイスグラフ、オーディエンスセグメンテーションなどのユースケースをサポートます。 ユースケース このソリューションの一般的なユースケースを次に示します。 クロスデバイスと関心グラフ – カスタマージャーニーとデバイス全体で費やした時間を分析して、特定のユーザーの関心を見つます。これにより、広告をパーソナライズします 決めかねている消費者を納得させる – 以前訪問したウェブサイトに基づいて e […]

Read More

完全に自動化されたユーティリティを使用した Neo4j グラフデータベースの Amazon Neptune への移行

 Amazon Neptune は、完全マネージド型グラフデータベースサービスであり、高度に接続されたデータセットと連携するアプリケーションの構築と実行を容易にします。Neo4j などの既存のセルフマネージドのグラフデータベースからデータを移行する場合、サービス専用の高性能で、高速かつスケーラブルな、信頼性の高いグラフデータベースエンジンのメリットを享受できます。 この投稿では、Neptune ツールの GitHub リポジトリから neo4j-to-neptune コマンドラインユーティリティを利用するサンプル AWS CDK アプリを使用して、Neo4j から Amazon Neptune に移行する方法を示します。サンプルアプリは次のタスクを完了します。 Neo4j および Amazon Neptune データベースをセットアップおよび設定する Neo4j のウェブサイトのサンプルプロジェクトから映画のグラフを CSV ファイルとしてエクスポートする neo4j-to-neptune ユーティリティを使用して、エクスポートされたデータを Amazon Neptune のバルクロード用 CSV 形式に変換する 変換されたデータを Amazon Neptune にインポートする アーキテクチャ 次のアーキテクチャは、疎結合アプリを構築して移行するために必要な構成要素を示しています。アプリは、次のリソースの作成を自動化します。 Neo4j グラフデータベースをダウンロードしてインストールするための Amazon EC2 インスタンス、および Amazon Neptune にクエリを実行するための Apache TinkerPop Gremlin コンソール。このインスタンスは、移行元としても、エクスポートされたファイルを Amazon S3 バケットにコピーして […]

Read More

Amazon Neptune を使った投資相関性のグラフ表示

Amazon Neptune を使い投資相関性のグラフを保存しクエリすると、新たな視野で関連性を分析できます。EDGAR (Electronic Data Gathering Analysis and Retrieval) は、米国証券取引委員会 (SEC) が提供するパブリックなオンラインデータベースです。この EDGAR は、法律により SEC への書類提出が義務付けられた法人向けに、データ収集、評価、インデックス付、受理、書類転送などを自動で処理するものです。これらの法人には、登録投資アドバイザー、銀行、保険会社、ヘッジファンドなどや、これらの顧客向けに投資を裁量するその他のグループなど、投資管理を行う企業が含まれます。 こういった関連の書類には、次に挙げるような多種のデータナゲットが記載されます。 その債権を公共で販売したことのある、株式会社や事業に関するデータ。 以下を含む役員報酬: その企業の年ごとの委任勧誘状。 その企業のフォーム 10-K 年次報告書。 その企業が有価証券を公開で販売するために提出した有価証券発行届出書。 米国内で、1 億 USD 以上の試算を長期にわたり保有および管理している企業内の投資マネージャーからの、投資ポジションレベルに関する公開書類。このマネージャーが保持するポートフォリオ内にある、すべての米国内公開済みの株式有価証券を含み、保有率、対象企業の符丁 (ティッカーシンボル)、株式発行者名などを詳細に記載する。 これらのデータナゲットは、各事業体からの提出ごとに、個別な事象として保持されます。ただ、EDGAR では、これらすべてのイベントを 1 つに結び付け、関連性やパターンを表示することはできません。 今回の記事では、EDGAR からの資料を Neptune 内で結合および処理し、その関連性を明らかにしながら、他のイベントでも繰り返し利用可能なモデルを作成するための方法をご紹介します。 データベースオプション 現代の技術者には、データ処理に関する多くの選択肢が与えられています。次の表に、一般的なデータカテゴリーとユースケースのいくつかを示します。 リレーショナル キーと値 ドキュメント インメモリー グラフ 時系列 参照整合性 高スループット 任意の属性での、ドキュメント保存と高速アクセスによるクエリ ミリ秒のレイテンシーでのキーによるクエリ 各データの関連性の素早く簡単な生成とその間の移動 時間的に連続したデータの収集、保存、および処理 ACID トランザクション 低レイテンシー 読み出しと書き込み […]

Read More

2019 年: Amazon Neptune の 1 年を振り返って

Amazon Neptune はローンチ後先月で 18 か月が経ちました。お客様によるグラフの革新的な使用法を学べたことは、貴重な経験でした。NBCUniversal は、Amazon Neptune を使用して、キュレーションおよびパーソナライズされたコンテンツを提供するためのグラフを管理しています。Thomson Reuters は、複雑な規制モデルを理解するためグラフを使用しています。Netflix は、データ系統にグラフベースのシステムを使用することにより、データインフラストラクチャの信頼性を向上させました。Zeta Global は、グラフベースの ID 解決を使用したカスタマーインテリジェンスプラットフォームを構築し、複数のデバイスとユーザーを関連付けています。本番環境で Amazon Neptune を使用しているお客様はさらに多くあります。 お客様の声に耳を傾けながら、Neptune を改善する方法も学びました。開発者のエクスペリエンス、パフォーマンス、エンタープライズ機能、コンプライアンスの強化、およびリージョンの拡張のために、12 か月の間に 12 回のエンジンリリースを行いました。次の 2019 リリースはカテゴリごとに整理してから、リリースされた日付順に整理してあります。最新のリリースは各カテゴリの最上位にあります。この記事を使って、製品で利用できる機能と修正を参照したり、今後のリリースで見たいものについてコメントしたりできます。いつものように、当社はお客様のご意見を歓迎いたします。質問やフィードバックがある場合は、コメントを残すか、@awscloud までご連絡ください。 開発者の経験 Amazon Neptune は、グラフアプリケーションの開発を簡単かつ高速にする機能を提供します。 10 月 16 日: Amazon Neptune は、グラフデータの変更をキャプチャする Streams のサポートを開始しました Amazon Neptune は、グラフの変更をキャプチャする簡単な方法である Streams をサポートしています。これを有効にすると、Neptune Streams は発生した変更をグラフ (変更ログデータ) に記録できます。Neptune Streams は、グラフで変更が発生したときにプロセスに通知する (つまり、Lambda をトリガーする) 場合に便利です。ストリームは、異なるリージョン、または Amazon Elasticsearch […]

Read More