Amazon Web Services ブログ
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 Service、Amazon ElastiCache、Amazon Simple Storage Service (S3) などのサービスでグラフの現在のバージョンを維持するのにも役立ちます。
- 10 月 16 日: Amazon Neptune は、SPARQL 1.1 ふぇでれ―テッドクエリのサポートを開始しました
SPARQL 1.1 Federated Query を使用すると、お客様は Virtual Private Cloud (VPC) 内の異なる SPARQL エンドポイントでクエリの一部を実行し、結果を結合してユーザーに返すことができます。お客様は、複数の Neptune クラスターにデータを分散し、単一のクエリを使用してそのクラスターのデータにアクセスできます。お客様はフェデレーションを使用して、Neptune のデータを外部 SPARQL エンドポイントのデータと結合することもできます。
- 11 月 26 日: Amazon Neptune は Elasticsearch クラスターと統合された全文検索が行えます
お客様は、グラフデータで全文検索を実行する簡単な方法を求めておられました。グラフクエリ言語は基本的なテキスト検索をサポートする一方、お客様は Elasticsearch の組み込みテキストインデックスと Neptune のクエリ機能をご利用いただけます。お客様は既存の Elasticsearch クラスターを使用するか、新しいクラスターを作成して全文検索クエリを行うことができます。
- 12 月 4 日: Amazon Neptune Workbench は、コンソール内エクスペリエンスを提供し、グラフをクエリできます
Amazon Neptune はワークベンチを提供し、グラフをクエリするためのコンソール内エクスペリエンスを提供しています。ワークベンチでは、Jupyter ノートブックを使用して Neptune データベースをすばやく簡単にクエリできます。これは、ライブコードとナラティブテキストを備えた完全マネージド型のインタラクティブな開発環境です。
- 12 月 19 日: Amazon Neptune は、クロスリージョンスナップショットのコピーをサポート
Amazon Neptune は、リージョン間のスナップショット (自動または手動で作成) のコピーをサポートしています。AWS のお客様は、複数のパブリック AWS リージョンで実行されるアプリケーションの構築に関心を寄せています。お客様は、Neptune のクロスリージョンスナップショットコピーを使用して、グローバルグラフアプリケーションの構築と実行に関連するデータの操作を簡素化および合理化できます。
エンタープライズ機能
Amazon Neptune の分離されたストレージとコンピューティングアーキテクチャにより、本番環境でグラフデータベースを実行することができます。
- 2 月 28 日: Resource Groups Tagging API は、追加の AWS のサービスをサポートするようになりました
Resource Groups Tagging API を使用して、Amazon Neptune でタグと検索リソースを集中管理できます。Resource Groups Tagging API は、57 個の AWS のサービスにまたがる一元的なポイントで、タグリソース、タグ解除リソース、一意のタグキーのリスト、タグ値のリスト、特定のタグを持つリソースの検索などの操作をプログラムで実行します。
- 3 月 15 日: Amazon Neptune が 99.9% のサービスレベルアグリーメントを発表
AWS は、Amazon Neptune の サービスレベルアグリーメント (SLA) を公開しました。毎月の請求サイクル中、99.9% 以上の月間稼働率でマルチ AZ クラスターを利用できるようにするために、商業的に合理的な努力を払います。Neptune がサービスコミットメントを満たしていない場合、SLA に記載されているサービスクレジットを受け取る資格があります。
- 5 月 9 日: Amazon Neptune は 1 秒あたりの請求のサポートを開始しました
今日から、Amazon Neptune インスタンスの請求は 1 秒単位で行われるようになります。オンデマンドの価格設定と事前のコミットメントが不要であることとあわせて、Neptune の 1 秒あたりの請求がさらに細かくなります。これにより、使用した容量に対してのみ料金をお支払いいただけます。インスタンス時間の一部は 1 秒単位で請求され、インスタンスの作成、変更、削除などの請求可能なステータスの変更に続いて 10 分の最小料金がかかります。
- 6 月 17 日: Amazon Neptune 監査ログを CloudWatch に発行できるようになりました
監査ログを Amazon CloudWatch Logs に発行するように Amazon Neptune を設定できるようになりました。このログを CloudWatch Logs に発行すると、Amazon Neptune データベースのデータベースアクティビティに対する継続的な可視性を維持できます。たとえば、監査ログに記録されたイベントに CloudWatch アラームを設定して、データベースに不要な変更が加えられた場合に警告を発するようにすることができます。
- 7 月 26 日: Neptune でデータベースのクローンを作成
データベースのクローン作成機能を使用すると、Amazon Neptune の全データベースのクローンを迅速かつコスト効率よく作成できます。クローンデータベースは、最初の作成時に最小限の追加スペースのみを必要とします。データベースのクローン作成では、copy-on-write protocol を使用します。
インスタンス
Amazon Neptune は R4 インスタンスのサポートを開始し、その後すぐに、利用可能なすべての AWS リージョンで R5 インスタンスのサポートが追加されました。R5 インスタンスは、同じインスタンスコストで、R4 インスタンスと比べて優れたパフォーマンスを提供できます。いつもと同様、クエリとデータでテストを行うと、ワークロードに見られる改善点について、最も正確な情報を得ることができます。R5 インスタンスを使用すると、vCPU が 48 個、メモリが 384 GiB、ネットワークパフォーマンスが 10 Gbps の db.r5.12xlarge インスタンスにスケーリングできます。
- 5 月 9 日: Amazon Neptune はパフォーマンスを改善し、低コストで R5 インスタンスを使用できます
Amazon Neptune を使用する際、R5 インスタンスタイプを起動できます。Amazon EC2 Nitro System に基づく Amazon EC2 R5 インスタンスは、前世代のインスタンスと比較して低コストで優れたパフォーマンスを提供する次世代の Amazon EC2 メモリ最適化インスタンスです。
パフォーマンスとクエリの改善
AWS はデータの読み込みとクエリの両方のパフォーマンスを改善し続けています。
- 5 月 1 日: SPARQL explain を使用した Neptune クエリ実行の分析
Amazon Neptune は、SPARQL クエリの新しい explain 機能のサポートを開始し、クエリプランを視覚化し、必要に応じて最適化するための手順を実行できるようにしました。
- 7 月 26 日: SPARQL クエリタイムアウトのクエリヒント は、SPARQL ステートメントのタイムアウトを指定します。メインクエリまたはサブクエリの
WHERE
句に表示できます。SPARQL 更新では、INSERT
、DELETE
、またはWHERE
句で設定できます。 - 7 月 26 日: Gremlin テキスト述語を含む Apache TinkerPop 3.4.x のサポートを追加しました。
- 7 月 26 日: Gremlin クエリのステータスを取得する機能、および Gremlin クエリをキャンセルする機能を追加しました
- 7 月 26 日:
.repeat.dedup
、valueMap()
およびpath().by()
トラバーサルを順序付けする Gremlin ステップのパフォーマンスが向上しました。
- 8 月 13 日: Neptune Loader Command の並列処理パラメーターに
OVERSUBSCRIBE
オプションを追加しました。これにより、Neptune バルクローダーは利用できるすべてのスレッドとリソースを使用します。
- 8 月 13 日: 単純な論理 OR 式を含む SPARQL フィルターのパフォーマンスが向上しました。
。 - 8 月 13 日: 接続述語の処理における Gremlin のパフォーマンスが向上しました。
- 10 月 15 日: Gremlin サブグラフ演算子のパフォーマンス、Gremlin レスポンスのシリアル化、Gremlin 結合ステップが改善されました。
- 11 月 22 日: ラボモードを使用して、多数の述語に対して 4 番目のインデックス (OSGP インデックス) を作成するオプションを追加しました。
- 11 月 22 日: SPARQL explain に詳細モードを追加しました。詳細については、「SPARQL explain の使用」と「詳細モード出力」を参照してください。
- 11 月 22 日: Gremlin
.project()
と.identity()
ステップ、Gremlin.union()
ケースの最適化を追加しました。Gremlin.path().by()
と.coalesce()
のネイティブサポートを追加しました。
コンプライアンス
Amazon Neptune は、最高のセキュリティ基準を満たし、当社のセキュリティ検証を簡単にして、独自の規制およびコンプライアンス義務を満たせるように設計されています。 Amazon Neptune は、HIPAA 対応に加えて、PCI DSS、ISO 9001、27001、27017、27018、および SOC 1、2、3 に準拠しているという評価をいただいています。
- 5 月 17 日: Amazon Neptune は SOC 準拠になりました
Amazon Neptune は SOC 1、2、および 3 に準拠しています。これにより、お客様のデータを保護するセキュリティプロセスと制御について深い洞察を得ることができます。レポートは、テクノロジー、医療、銀行、金融サービスなどのさまざまな業界でよく活用されています。またサーベンスオクスリー法 (SOX) の取り組みにも活用されています。
リージョン
Amazon Neptune は昨年、米国東部 (バージニア北部)、米国東部 (オハイオ)、米国西部 (オレゴン)、欧州 (アイルランド)、欧州 (ロンドン)、欧州 (フランクフルト)、およびアジアパシフィック (シンガポール) リージョンでサポートの提供を開始しました。1 年を通して、世界中の 16 のリージョンで Neptune を展開してきました。最新のリストは、AWS サービスのリージョン表でご確認ください。
- 1 月 9 日: Amazon Neptune がアジアパシフィック (シドニー) で利用できるようになりました
- 1 月 23 日: Amazon Neptune がアジアパシフィック (東京) リージョンで利用できるようになりました
- 3 月 13 日: Amazon Neptune がアジアパシフィック (ムンバイ) で利用できるようになりました
- 5 月 1 日: Amazon Neptune がアジアパシフィック (ソウル) で利用できるようになりました
- 6 月 27 日: Amazon Neptune が欧州 (ストックホルム) 利用できるようになりました
- 8 月 14 日: Amazon Neptune が AWS GovCloud (米国西部) リージョンで利用できるようになりました
- 8 月 21 日: Amazon Neptune が AWS GovCloud (米国東部) リージョンで利用できるようになりました
- 10 月 30 日: Amazon Neptune がカナダ (中部) リージョンで利用できるようになりました
- 10 月 30 日: Amazon Neptune が中東 (バーレーン) リージョンで利用できるようになりました
Amazon Neptune チームはまだ初めの一歩を踏み出したばかりです。2020 年以降もさらに多くの機能を提供できることを楽しみにしています。
著者について
Karthik Bharathy は Amazon Neptune 向け製品を主導しています。