はじめに

Amazon Neptune を使用すると、高度でインタラクティブなグラフアプリケーションを作成して、数十億の関係をミリ秒でクエリできます。高度に接続されたデータの SQL クエリは複雑で、パフォーマンスの調整は困難です。代わりに、Amazon Neptune では、一般的なグラフクエリ言語である Apache TinkerPop Gremlin と W3C の SPARQL を使用して、書き込みが容易で、接続されたデータをうまく処理する強力なクエリを実行できます。これにより、コードの複雑さが大幅に軽減され、関係を処理するアプリケーションをより迅速に作成できるようになります。

Amazon Neptune は可用性が 99.99% を上回るように設計されており、データベースワークロード用に構築された SSD タイプの仮想化ストレージレイヤーとデータベースエンジンを密に統合することにより、データベースのパフォーマンスと可用性を向上させます。Neptune のストレージは耐障害性と自己修復機能を備えており、ディスク障害が発生した場合は、データベースの可用性を低下させることなくバックグラウンドで修復されます。Neptune はデータベースのクラッシュを自動的に検出して再起動するように設計されています。クラッシュの復旧やデータベースキャッシュの再構築を行う必要はありません。インスタンス全体に障害が発生した場合、Neptune は最大 15 個のリードレプリカの 1 つに自動的にフェイルオーバーします。

Amazon Neptune のデータベースインスタンスは、Neptune マネジメントコンソールで数回クリックするだけで、簡単に作成できます。Neptune では、ストレージを自動的にスケールし、ストレージの拡張および I/O の再分散を実行して一貫性のあるパフォーマンスを提供します。オーバープロビジョニングは必要ありません。

優れたパフォーマンスとスケーラビリティ

高スループット、低レイテンシーのグラフクエリ
Amazon Neptune は、専用の高パフォーマンスグラフデータベースエンジンです。Neptune では、グラフデータを効率的に保存およびナビゲートし、スケールアップされたインメモリ最適化アーキテクチャを使用して、大規模なグラフに対する迅速なクエリ評価を可能にします。Neptune を使用すると、Gremlin または SPARQL のいずれかを使用して、書き込みが容易でパフォーマンスに優れた強力なクエリを実行できます。

データベースコンピューティングリソースの簡単なスケーリング
AWS マネジメントコンソールを数回クリックするだけで、必要なサイズの新しいレプリカインスタンスを作成したり、インスタンスを削除したりして、本番クラスターを稼働させているコンピューティングリソースとメモリリソースをスケールアップまたはスケールダウンできます。通常、コンピューティングのスケーリングは数分以内に完了します。

自動的にスケールするストレージ
Amazon Neptune では、データベースストレージのニーズが増大するとデータベースボリュームのサイズを自動的に拡張します。ボリュームは 10 GB ごとに最大 64 TB まで拡張されます。将来の拡張に備えてデータベースに余分なストレージをプロビジョニングする必要はありません。

低レイテンシーのリードレプリカ
最大 15 個のデータベースリードレプリカを作成して、大量のアプリケーションリクエストをサポートする読み取りスループットを向上させます。Amazon Neptune レプリカは基盤となるストレージをソースインスタンスと共有しているため、コストを削減でき、レプリカノードへの書き込みの実行が必要ありません。これにより、読み取りリクエストに対応するための処理能力が向上し、レプリカの遅延時間が 1 桁ミリ秒まで短縮されます。また、Neptune では、読み取りクエリのための単一のエンドポイントも提供されるため、アプリケーションは、追加および削除されたレプリカを追跡せずに接続できます。

高可用性と耐久性

インスタンスのモニタリングと修復
Amazon Neptune データベースとその基盤となる EC2 インスタンスの健全性は継続的にモニタリングされます。データベースを動作させているインスタンスに障害が発生すると、データベースおよび関連するプロセスが自動的に再起動されます。Neptune の復旧では、データベース REDO ログの再生時間が長くなることはないため、インスタンスの再起動時間は通常 30 秒以下です。また、データベースのバッファキャッシュがデータベース処理から隔離されるため、データベースの再起動後もキャッシュを存続させることができます。

マルチ AZ 配置とリードレプリカ
インスタンスに障害が発生した場合、Amazon Neptune は、3 つのアベイラビリティーゾーンのいずれかで作成された最大 15 個の Neptune レプリカの 1 つに自動的にフェイルオーバーします。Neptune レプリカがプロビジョニングされていない場合、障害時には Neptune によって新しいデータベースインスタンスの作成が自動的に試行されます。

耐障害性と自己修復機能を備えたストレージ
10 GB 単位の各データベースボリュームが、3 つのアベイラビリティーゾーンにわたって 6 つの方法でレプリケートされます。Amazon Neptune のストレージは耐障害性を備えており、データベースの書き込み性能に影響を与えることなく最大 2 つ、読み取り性能に影響を与えることなく最大 3 つのデータコピーの損失を透過的に処理します。また、Neptune のストレージには自己修復機能が備わっています。データブロックとディスクにはエラースキャンが継続的に実施され、自動的に置き換えられます。

自動的かつ継続的な増分バックアップとポイントインタイムの復元
Amazon Neptune のバックアップ機能は、インスタンスのポイントインタイムリカバリを可能にします。これにより、直近で 5 分前まで、保持期間中の任意の秒にデータベースを復元させることができます。自動バックアップの保持期間は、最大 35 日間まで設定できます。自動バックアップは 99.999999999% の耐久性を設計された Amazon S3 に保存されます。Neptune のバックアップは自動的かつ継続的な増分バックアップで、データベースのパフォーマンスに影響を与えません。

データベースのスナップショット
データベースのスナップショットは、Amazon S3 に保存されたインスタンスのユーザー開始バックアップであり、明示的に削除するまで保持されます。自動的な増分スナップショットを活用して必要な時間とストレージを削減できます。必要に応じて、データベーススナップショットから新しいインスタンスを作成できます。

オープングラフ API

Property Graph の Apache TinkerPop Gremlin をサポート
Property Graph は、リレーショナルモデルに慣れている開発者にはなじみがあるため広く使用されています。Gremlin のトラバーサル言語により、Property Graph をすばやくトラバースする方法が提供されます。Amazon Neptune では、オープンソースの Apache TinkerPop Gremlin トラバーサル言語を使用して Property Graph モデルをサポートし、TinkerPop バージョン 3.3 をサポートする Gremlin Websocket サーバーを提供します。Neptune を使用することで、Gremlin の高速なトラバーサルを Property Graph ですばやく構築できます。既存の Gremlin アプリケーションでは、Neptune インスタンスを指定するよう Gremlin サービス設定を変更することで、Neptune を簡単に使用できます。

W3C の Resource Description Framework (RDF) 1.1 と SPARQL 1.1 をサポート
RDF は、複雑な情報ドメインのモデリングに柔軟性を提供しているため広く使用されています。RDF には、化学分子のデータベースである WikidataPubChem など、無料またはパブリックの既存のデータセットが数多くあります。Amazon Neptune では、W3C の RDF 1.1 と SPARQL 1.1 (クエリおよび更新) のセマンティック Web 標準をサポートし、SPARQL Protocol 1.1 を実装する HTTP REST エンドポイントを提供しています。Neptune を使うと、既存のグラフアプリケーションと新しいグラフアプリケーションの両方に SPARQL エンドポイントを簡単に使用できます。

高い安全性

ネットワークの分離
Amazon Neptune は Amazon VPC で実行されます。これによりデータベースを独自の仮想ネットワークに分離し、業界標準の暗号化 IPsec VPN を使用してオンプレミスの IT インフラストラクチャに接続できます。さらに、Neptune の VPC 設定を使用すると、ファイアウォールを設定してデータベースインスタンスへのネットワークアクセスを制御することもできます。

リソースレベルのアクセス許可
Amazon Neptune は AWS Identity and Access Management (IAM) と統合されており、AWS IAM ユーザーおよびグループが特定の Neptune リソース (データベースインスタンス、データベーススナップショット、データベースパラメータグループ、データベースイベントサブスクリプション、データベースオプショングループなど) で実行可能なアクションを制限できます。さらに、Neptune のリソースにタグを付けたり、IAM ユーザーおよびグループが同じタグ (およびタグの値) を持つリソースのグループに対して実行できるアクションを制御したりできます。例えば、開発者が "Development" データベースインスタンスを変更できるものの、"Production" データベースインスタンスを変更および削除できるのはデータベース管理者のみにするように IAM ルールを設定できます。

暗号化
Amazon Neptune では、AWS Key Management Service (KMS) で作成および管理するキーを使用して、データベースを暗号化できます。Neptune 暗号化を使って実行するデータベースインスタンスでは、基盤となるストレージに保存される保管中のデータが、同じクラスター内の自動バックアップ、スナップショット、レプリカと同様に暗号化されます。Neptune は TLS (AES-256) を使用して転送中のデータを保護します。

高度な監査
Amazon Neptune では、データベースのパフォーマンスに与える影響を最小限に抑えてデータベースイベントをログに記録できます。ログは、後でデータベース管理、セキュリティ、ガバナンス、規制コンプライアンスなどの目的で分析できます。また、Amazon CloudWatch に監査ログを送信して、アクティビティをモニタリングすることもできます。

フルマネージド

使用が簡単
Amazon Neptune は簡単に使用を開始できます。AWS マネジメントコンソールを使用して新しい Neptune データベースインスタンスを作成するだけです。Neptune データベースインスタンスは、選択したデータベースインスタンスクラスに適したパラメータと設定で事前設定されています。データベースインスタンスを作成して、数分以内にアプリケーションを接続できます。追加の設定は不要です。データベースパラメータグループでは、データベースの詳細な制御と微調整を実行できます。

操作が簡単
Amazon Neptune を使用すると、高性能のグラフデータベースを簡単に操作できます。Neptune では、グラフデータにカスタムインデックスを作成する必要はありません。Neptune ではタイムアウトとメモリ使用制限を利用できるため、多すぎるリソースを消費するクエリの影響を軽減できます。

モニタリングとメトリクス
Amazon Neptune では、データベースインスタンスの Amazon CloudWatch メトリクスを利用できます。AWS マネジメントコンソールを使用して、コンピューティング、メモリ、ストレージ、クエリスループット、アクティブな接続など、データベースインスタンスに対する 20 以上の主要な運用メトリクスを確認できます。

ソフトウェアの自動パッチ適用
Amazon Neptune は最新のパッチを適用してデータベースを最新の状態に維持します。Database Engine Version Management を使用してインスタンスにパッチを適用するかどうか、またいつ適用するかを制御できます。

データベースイベント通知
Amazon Neptune はメールまたは SMS で、自動フェイルオーバーのような重要なデータベースイベントを通知します。AWS マネジメントコンソールを使用して、Amazon Neptune のデータベースに関連付けられた異なるデータベースイベントをサブスクライブできます。

高速データベースクローン化
Amazon Neptune では、マルチテラバイトのデータベースクラスター全体を数分でクローン化できる迅速で効率的なクローニング処理をサポートしています。クローニングは、アプリケーションの開発、テスト、データベースの更新、分析クエリの実行など、さまざまな目的に役立ちます。すぐにデータを入手できるため、ソフトウェアの開発やプロジェクトのアップグレードが大幅に加速され、より正確な分析が可能になります。

マネジメントコンソールで数回クリックするだけで、本番環境に影響を与えることなく Amazon Neptune のデータベースをクローン化できます。クローンは 3 つのアベイラビリティーゾーンに分散およびレプリケートされます。

高速並列バルクデータロード

Property Graph のバルクロード
Amazon Neptune では、S3 に保存されている Property Graph のデータに対する、高速かつ並列のバルクロードをサポートしています。REST インターフェイスを使用して、データの S3 の場所を特定できます。CSV 区切り形式を使用して、ノードとエッジにデータをロードします。詳細については、Neptune Property Graph のバルクロードのドキュメントを参照してください。

RDF のバルクロード
Amazon Neptune では、S3 に保存されている RDF のデータに対する、高速かつ並列のバルクロードをサポートしています。REST インターフェイスを使用して、データの S3 の場所を特定できます。N-Triples (NT)、N-Quads (NQ)、RDF/XML、Turtle RDF 1.1 のシリアル化がサポートされています。詳細については、Neptune RDF のバルクロードのドキュメントを参照してください。

低コスト

実際に使用した分のみ料金が発生
Amazon Neptune のご利用にあたり、初期費用は不要です。作成したインスタンス 1 つごとに時間あたりの使用料金が発生します。また、不要になった Neptune データベースインスタンスは簡単に削除できます。予備としてストレージを多めにプロビジョニングする必要はなく、実際に消費したストレージに対してのみ料金が発生します。詳細については、Neptune 料金表ページを参照してください。

Amazon Neptune 料金の詳細

料金ページを見る
始める準備はできましたか?
プレビューにサインアップ
ご不明な点がおありですか?
お問い合わせ