Amazon Web Services ブログ

Category: Amazon Neptune

Neptune Streams を使用したグラフの変化の取り込み

 多くのアプリケーションは、Amazon Neptune データベースに保存された項目の変更を、その変更が発生した時点で取り込む機能を利用することができます。Amazon Neptune は、Neptune Streams をサポートするようになりました。これは、Neptune のフルマネージド機能で、グラフに対するすべての変更を、発生順に確実にログに記録し、HTTP REST API を介してこれらの変更を利用可能にします。Neptune Streams は現在、ラボモードで利用可能です。 このブログ投稿では、Neptune Streams 機能を見直し、Neptune が提供するポーリングフレームワークを使用して Neptune と Amazon ElastiCache for Redis データストアを統合するストリームベースのアプリケーションをプロビジョニングし、この同じポーリングフレームワークを使用して独自のストリームベースのグラフアプリケーションを構築する方法を説明します。 Neptune Streams の概要 Neptune Streams を使用して、次のことを行うことができます。 ソース Neptune データベースから別の Neptune データベースに変更をレプリケートする ソース Neptune データベースから、Amazon DynamoDB または Amazon Aurora などの別のデータベースに変更をレプリケートする ソース Neptune データベースの変更を Amazon S3 にアーカイブする Amazon Elasticsearch でソース Neptune データベースで変わるコンテンツをインデックス作成する […]

Read More

Amazon Neptune で Streams、グラフ用 SPARQL フェデレ―テッドクエリなどの新機能がリリース

 最新の Amazon Neptune リリースでは、グラフによって開発者の生産性を強化する多数の新機能をご用意しました。本記事では、今回発表した重要機能と、それらを使用する際のヒントをまとめ、詳しくご紹介します。 開始方法 この新しいエンジンリリースは、既存のクラスターには自動適用されません。リリースノートに記載された手順に従って、既存のクラスターのアップグレードを選択することができます。または、エンジンの最新バージョンを受信する既存のクラスターのクローンを作成できます。 Amazon Neptune クラスターが現時点で存在しない場合は、バージョン 1.0.1.0.200463.0 のデータベースを作成します。Neptune Streams は、テストする前にラボモードで有効化する必要があります。Neptune では、お客様からのフィードバックに基づいて、初期段階の機能をプレビュー版としてリリースしています。実際のユースケースで試験使用、検証することができます。そうしたプレビュー版機能は今後のリリースで製品化されるまではラボモードです。ラボモードでは、neptune_lab_mode クラスターパラメータを使用して、Neptune エンジンの実験機能を有効 (または無効) にできます。ラボモードの設定には、AWS コンソールまたは CLI を使用します。 AWS コンソール Neptune 用 AWS コンソールで、左側のナビゲーションメニューから [パラメータグループ] を選択します。Neptune クラスターに関連付けられたクラスターパラメータグループに移動し、[パラメータの編集] を選択します。 neptune_lab_mode パラメータでは、以下を追加して、ストリームおよびトランザクションのセマンティクスを有効にします。 Streams=enabled, ReadWriteConflictDetection=enabled AWS CLI コンソールではなく CLI を使用して、クラスターパラメータグループの値をチェックし、ラボモードのパラメータを設定することもできます。次の 2 つのコマンドをそれぞれに使用します。 aws neptune describe-db-cluster-parameters –db-cluster-parameter-group-name my-test-param-group –region us-east-1 aws neptune modify-db-cluster-parameter-group –db-cluster-parameter-group-name my-test-param-group […]

Read More

SPARQL explain を使用して、Amazon Neptune のクエリ実行を理解する

 お客様は、AWS 内で使用するサービスの可視性と制御の向上を引き続き求めています。データベースサービスに関しては、お客様からは通常、特定のデータベース内でのクエリの最適化と処理に関する洞察を求めるリクエストを中心に受けています。データベースの開発者と管理者は、ほとんどの場合、データベースクエリ実行プランのアイデアと使用法をすでによく知っています。お客様の議論に動機付けられて、Amazon Neptune に SPARQL クエリの explain 機能が追加されました。 Amazon Neptune は、高度に連結されたデータの保存とクエリのために最適化された、高速で信頼性に優れた完全マネージド型のグラフデータベースで、データ内の接続のナビゲートと活用に依存するオンラインアプリケーションに最適です。 Amazon Neptune は、SPARQL クエリ言語を使用してクエリできる W3C Resource Description Framework (RDF) グラフをサポートしています。また、Gremlin グラフトラバーサルおよびクエリ言語を使用してクエリできる Apache TinkerPop プロパティグラフもサポートしています。 このブログ記事では、新しい SPARQL explain 機能とその使用方法について詳しく説明します。また、この記事の最後に、今日 SPARQL explain を試してみたい人のために、ワークロードと設定の例を示しました。 explain を使用した SPARQL クエリのランタイム動作の理解 SPARQL クエリが Neptune クラスターに送信されると、データベースエンジンはクエリを SPARQL クエリオプティマイザーに転送します。これにより、利用可能な統計とヒューリスティックに基づいてクエリプランが生成されます。オプティマイザーは、個々のトリプルパターンと接続演算子によってクエリを分割し、最適な実行を提供するために自動的に並べ替えます。このタイプの最適化により、クエリ開発者はクエリを評価する最適な順序を考慮する必要がなくなります。 場合によっては、オプティマイザーが選択したトリプルパターン (より一般的には実行プラン) の評価順序についてより多くの洞察を得たい場合があります。ここで、新しい SPARQL explain 機能の出番です。生成された評価プランを検査して、実行順序を理解できるためです。 クエリ explain 出力は、追加パラメータ「explain=<MODE>」を HTTP リクエストに追加するだけで取得できます。 次の curl […]

Read More

Amazon Neptune が TinkerPop 3.4 機能をサポートするようになりました

Amazon Neptune は、Apache TinkerPop 3.4.1 のリリースをサポートするようになりました。この記事では、テキスト述語、valueMap の変更、ネストされた繰り返しステップ、名前付き繰り返しステップ、非数値比較、順序の変更ステップなど、Gremlin クエリとトラバーサル言語の新機能の具体例を紹介します。TinkerPop 3.4 には TinkerPop 3.3 との違いがほとんどないことに注意してください。エンジンリリースの互換性に関する注意事項を必ず確認してください。 エンジンのすべての最新機能と改善点は、Amazon Neptune リリースページに記載されています。 テストクラスターのセットアップ 以下の手順に従って、この記事の例を試すことができます。この記事は、以前に投稿した「Amazon SageMaker Jupyter ノートブックを使用して Amazon Neptune グラフを分析する」と「Let Me Graph That For You – Part 1 – Air Routes」の 2 本の記事に基づいており、航空路データセットを再度利用しています。 この例で使用する航空路データは、GitHub (こちら) で利用できます。 以下に示す例では、Gremlin Python が 3.4 レベル以上である必要があります。以前の投稿の AWS CloudFormation テンプレートを使用してノートブックのセットと Amazon SageMaker インスタンスを生成した場合、ターミナルウィンドウ (ノートブック内) または %% bash […]

Read More

Amazon Neptune が東京リージョンに対応しました。

みなさん、こんにちは。アマゾン ウェブ サービス、プロダクトマーケティング エバンジェリストの亀田です。 Amazon Neptune が東京リージョンに対応しましたのでご報告します。 Amazon Neptuneはフルマネージド型のグラフデータベースです。グラフデータは例えば以下の図のような、高密度に結合したリレーショナルデータのことを指します。 このようなデータを通常のリレーショナルデータベースに格納するためのテーブル設計はそれほど難しいものではありません。一方一度テーブルに格納された上記のデータをSQLを駆使しSelectを行い上記の図を復元することを考えた場合、そのSQL実行コストは大きいものになります。グラフデータベースである、Neptuneはあらかじめこれらのデータの取り扱いに特化した機能を有しおり、ACID属性が備わっています。 数十億のリレーションシップの保存とミリ秒台のレイテンシーでのグラフのクエリに最適化され、一般的なグラフモデルである Property Graph と W3C の RDF、それぞれのクエリ言語である Apache TinkerPop Gremlin と SPARQL がサポートされています。 また、可用性は99.99%を上回るよう設計されており、リードレプリカ、ポイントインタイムリカバリ、Amazon S3 への継続的なバックアップ、およびアベイラビリティーゾーン間のレプリケーション機能などがフルマネージドサービスとしてあらかじめ備わっており、ユーザーは開発に集中することができます。データ暗号化機能も AWS Key Management Service (KMS)  との連携によりサポートされ高いセキュリティを実現できます。 レコメンデーション機能も備わっており、以下のようなデータから、新しいデータの相関を抽出することが可能です。 さらに、個人の E メールアドレスに関連付けられた複数の人物、同じ IP アドレスを共有しているが別々の住所に住んでいる複数の人物など、リレーションシップパターンを簡単に検出するグラフクエリを構築することにより、不正検出の実装などに役出ることもできます。 この Amazon Neptune はソーシャルの相関図以外にも多くの用途があります。例えば以下のようなネットワークのログなどから以下のようなデータ相関を作成し、異常なイベントの発生時にその影響範囲の特定に役立てることができます。そして、例えば、ホストで悪意のあるファイルを検出した場合、Neptune では、悪意のあるファイルを広めたホスト間の接続を特定し、その接続をたどってそのファイルをダウンロードした元のホストを突き止めることができます。   Amazon Neptuneの利用には Gremlin か SPARQL のクライアントが必要となります。 https://docs.aws.amazon.com/ja_jp/neptune/latest/userguide/intro.html のユーザーガイドを見て設定してみてください。 20180703 AWS Black Belt […]

Read More

AWS DevDay Tokyo 2018 Database トラック資料公開

Database フリークな皆様、こんにちは!AWS DevDay Tokyo 2018 Database トラックオーナーの江川です。 2018 年 10 月 29 日(月)〜 11 月 2 日(金)にかけて、AWS DevDay Tokyo 2018 が開催されました。本記事では、11/1(木)に実施された Database トラックのセッション資料をご紹介します。 セッション資料紹介に先立ち、お客様セッションとしてご登壇いただいた、Sansan株式会社間瀬様、株式会社ソラコム安川様、Amazon Pay 吉村様にお礼申し上げます。併せて、ご参加いただいた皆様、ストリーミング配信をご覧いただいた皆様ありがとうございました。   ●お客様セッション資料 AWSサービスで実現するEightの行動ログ活用基盤(Sansan株式会社 間瀬哲也様) AWSサービスで実現するEightの行動ログ活用基盤 from Tetsuya Mase DynamoDB Backed なテレコムコアシステムを構築・運用してる話(株式会社ソラコム 安川 健太様) AWS Dev Day Tokyo 2018 | Amazon DynamoDB Backed な テレコムコアシステムを構築・運用してる話 from SORACOM,INC DynamoDBとAmazon Pay で実現するキャッシュレス社会 […]

Read More

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

先日 (2018/7/3) 開催しました AWS Black Belt Online Seminar 「Amazon Neptune」 の資料を公開しました。当日、参加者の皆様から頂いた QA の一部についても共有しております。 20180703 AWS Black Belt Online Seminar Amazon Neptune from Amazon Web Services Japan PDF Q. DynamoDBを利用するのはLambdaなどのMicroserviceとの親和性が高いためです。ネプチューンとLambdaの関係はどうですか ? A. HTTP RESTが使えるのでRDBMSのDB接続と比較して親和性は高いです。 Q. 暗号化を有効にした際は、性能が落ちるのでしょうか。落ちる場合は、どの程度落ちるかの指標等はありますか A. 格納データの暗号化について、特筆すべきオーバーヘッドはありません。 Q. オンデマンドインスタンス料金はRI適用は可能でしょうか。 A. いいえ、現在RIは使用できません。 以上です。 直近で以下の無料オンラインセミナーを予定しています。各オンラインセミナーの詳細およびお申し込み先は下記URLからご確認いただけます。皆様のご参加をお待ちしております! AWS Black Belt Online Seminar AWSで実現するウェブサイトホスティング 2018 年 7 月 10 日 | 12:00 […]

Read More

Amazon Neptune が一般向けにご利用いただけます

Amazon Neptune は現在、米国東部 (バージニア北部)、米国東部 (オハイオ)、米国西部 (オレゴン)、および欧州 (アイルランド) でご利用いただけます。Amazon Neptune は高速で信頼性が高いフルマネージドグラフデータベースサービスであり、これを使用することで高度に接続されたデータセットと連携するアプリケーションの構築と実行が簡単になります。Neptune の中核となるのは、数十億の関係を保存し、ミリ秒単位のレイテンシーでグラフをクエリするために最適化された、専用設計の高性能グラフデータベースエンジンです。Neptune は Apache TinkerPop Gremlin と SPARQL を使用する 2 つの一般的なグラフモデルである Property Graph と RDF をサポートしており、高度に接続されたデータセットを効率的にナビゲートするクエリを簡単に構築することができます。Neptune は、リコメンデーションエンジンやナレッジグラフから医薬品創薬やネットワークセキュリティにいたるまで、あらゆるものを駆動するエンジンとして活用することができます。Neptune は、自動マイナーバージョンのアップグレード、バックアップ、暗号化、およびフェールオーバーによる完全マネージド型です。昨年、私が「AWS re:Invent」向けに寄稿した、「Naptune in detail」では、顧客はプレビューを使用していて、チームが GA 向けサービスを準備に活用した際の素晴らしいフィードバックについてご紹介しています。 今後、Amazon Neptune が一般的に利用できるようになったため、プレビューには次のいくつかの変更点があります: 多項目のパフォーマンス強化および更新内容 AWS CloudFormation サポート AWS コマンドラインインターフェイス (CLI)/SDK サポート Apache TinkerPop 3.3.2 に対応して更新済み Amazon Simple Storage Service (S3) からのバルク読み込むによる IAM ロールに関するサポート […]

Read More