全般
Amazon MemoryDB とは何ですか?
Amazon MemoryDB は、Valkey OSS および Redis OSS と互換性があり、耐久性のあるインメモリデータベースサービスで、超高速なパフォーマンスを実現します。MemoryDB を使用すると、マイクロ秒単位の読み込みレイテンシー、1 桁ミリ秒の書き込みレイテンシー、高スループット、マルチ AZ の耐久性を実現でき、マイクロサービスアーキテクチャで構築されたモダンアプリケーションに最適です。これらのアプリケーションには低レイテンシーと高いスケーラビリティが必須であり、Valkey と Redis OSS の柔軟なデータ構造と API を使えばアジャイルで簡単な開発が可能になります。MemoryDB は、データセット全体をメモリに保存するだけでなく、分散トランザクションログを活用して、インメモリの速度とデータの耐久性、整合性、回復性をどちらも実現します。MemoryDB はフルマネージドのプライマリデータベースとして使用できるため、キャッシュ、耐久性のあるデータベース、または必要な基盤インフラストラクチャを個別に管理しなくても、パフォーマンスの高いアプリケーションを構築できます。 MemoryDB マルチリージョンを使用すると、最大 99.999% の可用性とマイクロ秒の読み取りおよび 1 桁ミリ秒の書き込みレイテンシーで、複数のリージョンでアプリケーションを簡単かつ迅速に構築できます。
MemoryDB の使用を開始するにはどうしたらよいですか?
使用を開始するには、AWS マネジメントコンソール、コマンドラインインターフェイス (CLI)、または Software Development Kit (SDK) を使って新しい MemoryDB クラスターを作成します。コンソールで MemoryDB クラスターを作成するには、サインインして Amazon MemoryDB に移動します。そこから、[使用を開始する] を選択し、次に [新しいクラスターを作成する] を選択します。 詳細な手順と CLI の使用を開始する方法については、MemoryDB のドキュメントを参照してください。
MemoryDB は Valkey および Redis OSS と互換性がありますか?
はい、MemoryDB は Valkey と Redis OSS との互換性を維持し、馴染みのある同じデータ型、パラメータ、コマンドのセットをサポートしています。つまり、現在 Valkey と Redis OSS で既に使用しているアプリケーションコード、クライアント、ツールを MemoryDB で使用できるということです。MemoryDB は、String、List、Set、Hash、Sorted Set、HyperLogLog、Bitmap、Stream など、Valkey と Redis OSS のデータ型をすべてサポートします。それだけでなく、MemoryDB は 200 以上の Valkey と Redis OSS コマンドもサポートしています。ただし、MemoryDB がクラスターをユーザーに代わって管理するため、Valkey と Redis OSS 管理コマンドはサポートされていません。
MemoryDB はどの Redis OSS バージョンをサポートしていますか?
MemoryDB でサポートされている Redis OSS のバージョンについては、MemoryDB のドキュメントを参照してください。
MemoryDB クラスターとは何ですか?
MemoryDB クラスターは、1 つのデータセットを処理するノードを 1 つ以上集めたものです。MemoryDB データセットはシャードに分割され、各シャードにはプライマリノードと最大 5 つのオプションのレプリカノードがあります。プライマリノードは読み込みリクエストと書き込みリクエストを処理し、レプリカは読み込みリクエストのみを処理します。プライマリノードはレプリカノードにフェイルオーバーして、レプリカをそのシャードの新しいプライマリノードに昇格させることができます。詳細については、MemoryDB のドキュメントをご覧ください。
MemoryDB と Amazon ElastiCache はどのように使い分けるべきですか?
MemoryDB は耐久性に優れたインメモリデータベースで、Valkey または Redis OSS と互換性のある超高速プライマリデータベースを必要とするワークロード向けです。超高速パフォーマンス (マイクロ秒の読み込みレイテンシーと 1 桁ミリ秒の書き込みレイテンシー) を提供する耐久性の高いデータベースが必要なワークロードには、MemoryDB の使用を検討することをお勧めします。また、Valkey または Redis OSS データ構造と API を使用して、耐久性の高いプライマリデータベースを持つアプリケーションを構築するユースケースにも、MemoryDB が適している場合があります。最後に、耐久性とパフォーマンスのためにデータベースの使用をキャッシュに置き換えることで、アプリケーションアーキテクチャを簡素化し、コストを削減したい場合にも MemoryDB の使用を検討することをお勧めします。
ElastiCache は、Valkey、Memcached、または Redis OSS を使用して他のデータベースやデータストアからデータをキャッシュするためによく使用されるサービスです。既存のプライマリデータベースまたはデータストアを使ってデータアクセスを高速化したい (マイクロ秒単位の読み込み/書き込みパフォーマンス) 場合のワークロードのキャッシュには、ElastiCache の検討をお勧めします。また、Valkey または Redis OSS のデータ構造と API を使用してプライマリデータベースまたはデータストアに保存されているデータにアクセスしたい場合も、ElastiCache を検討することをお勧めします。
MemoryDB の可用性について教えてください。
サービスレベル契約 (SLA) を参照してください。
現在のサービス制限とクォータはどのようなものですか?
現在の制限とクォータについては、MemoryDB のドキュメントを参照してください。
MemoryDB マルチリージョン
Amazon MemoryDB マルチリージョンとは何ですか?
Amazon MemoryDB マルチリージョンは、最大99.999% の可用性とマイクロ秒の読み取りおよび 1 桁ミリ秒の書き込みレイテンシーを備えたアプリケーションを構築できる、フルマネージド型のアクティブ-アクティブマルチリージョンデータベースです。複数の AWS リージョンにわたるデータの冗長性を提供するため、アプリケーションの処理が 1 つのリージョンで中断され、その MemoryDB エンドポイントに接続できない場合でも、マルチリージョンアプリケーションの可用性と耐障害性を向上させることができます。MemoryDB マルチリージョンは、アクティブ-アクティブレプリケーションを提供するため、マイクロ秒の読み取りレイテンシーと 1 桁ミリ秒の書き込みレイテンシーで、顧客に最も近いリージョンからの読み取りと書き込みをローカルで処理できます。リージョン間でデータを非同期で複製し、通常 1 秒以内にデータを伝播します。MemoryDB マルチリージョンが更新の競合を自動的に解決し、データの相違の問題を修正するため、ユーザーはアプリケーションに集中できます。
どのような場合に MemoryDB マルチリージョンを使用すべきですか?
最高レベルの可用性、耐障害性の向上、および事業継続性の向上を必要とするアプリケーションの構築を検討している場合は、MemoryDB マルチリージョンを使用すべきです。MemoryDB マルチリージョンは、世界中のどこでも速い応答時間を必要とするマルチリージョンアプリケーションを構築して実行する場合にも使用できます。
MemoryDB はどのように機能しますか?
MemoryDB マルチリージョンを使用する場合、MemoryDB はマルチリージョンクラスターと呼ばれる構成のリージョンクラスター間でデータをレプリケートします。マルチリージョンクラスター内の任意のリージョンクラスターにデータが書き込まれると、MemoryDB はアプリケーションのパフォーマンスに影響を与えずに、通常は 1 秒以内にそのデータを他のすべてのリージョンクラスターに自動的かつ非同期的にレプリケートします。MemoryDB マルチリージョンは、更新の競合を自動的に解決し、データの相違の問題を修正します。競合の解決はフルマネージドで、アプリケーションの可用性に影響を及ぼすことなくバックグラウンドで行われます。
MemoryDB Multi-Regionを使い始めるにはどうすればいいですか?
MemoryDB Multi-Regionを使い始めるには、AWS コンソール、AWS SDK、または CLI を使用して、目的の AWS リージョンのいずれかに新しいマルチリージョンクラスターとリージョンクラスターを作成します。最初のリージョンクラスターを作成すると、マルチリージョンクラスターに最大 4 つのリージョンを追加できます。データが任意のリージョンクラスターに書き込まれると、MemoryDB Multi-Region は、通常 1 秒以内に、そのデータをマルチリージョンクラスター内の他のすべてのリージョナルクラスターに自動的に複製します。現在 MemoryDB を使用している場合は、クラスターのスナップショットを取り、それを使用して新しいマルチリージョンクラスターとリージョンクラスターをシードできます。
MemoryDB マルチリージョンクラスターにリージョンクラスターを追加したり削除したりできますか?
それぞれの AWS リージョンにリージョンクラスターを作成することで、新しいリージョンクラスターを MemoryDB マルチリージョンクラスターに追加できます。ただし、既存の MemoryDB クラスターを既存の MemoryDB マルチリージョンクラスターに追加することはできません。新しいリージョンクラスターを作成するか、MemoryDB Multi-Region クラスターから既存のリージョンクラスターを削除することしかできません。リージョンクラスターを削除すると、MemoryDB Multi-Region は、MemoryDB Multi-Region クラスターを維持しながら、その特定のリージョンのクラスターを削除します。お客様は、後で同じ MemoryDB Multi-Region クラスター内にさらにリージョンクラスターを追加することを選択できます。
MemoryDB マルチリージョンはどのような一貫性セマンティクスを提供しますか?
MemoryDB マルチリージョンは、非同期レプリケーションを実行してメモリ内の速度を維持するため、最終的な整合性が保たれます。MemoryDB マルチリージョンクラスターの 1 つのキーに対する更新は、MemoryDB マルチリージョンクラスター内の他のリージョナルクラスターに非同期で (通常は 1 秒以内) 伝播されます。
MemoryDB マルチリージョンでの競合はどのように解決されますか?
MemoryDB マルチリージョンは、競合のない複製データ型 (CRDT) を使用して、競合する同時書き込みを調整します。CRDT は、調整なしで独立して同時に更新できるデータ構造です。書き込みと書き込み側の競合は各レプリカで個別にマージされ、最終的には整合性が保たれます。
アプリケーションがエンドポイントに接続できない場合の MemoryDB マルチリージョンの機能は何ですか?
あるリージョンが孤立したり機能が低下したりした場合、MemoryDB マルチリージョンは、実行されたがすべてのリージョンクラスターにまだ伝播されていない書き込みをすべて記録します。リージョンがオンラインに戻ると、MemoryDB マルチリージョンは、保留中の書き込みをそのリージョンから他のリージョンのリージョンクラスターに伝播し直します。また、他のリージョンクラスターからオンラインに戻ったリージョンへの書き込みの伝播も再開されます。MemoryDB マルチリージョンは、リージョンがどれだけ長距離に分離されていても、以前に成功したすべての書き込みを最終的に伝播します。異なるリージョンの同じキーをアプリケーションがほぼ同時に更新すると、競合が発生する可能性があります。MemoryDB マルチリージョンは、同時更新間の競合のない複製データ型 (CRDT) 調整を使用します。競合の解決はフルマネージドで、アプリケーションの可用性に影響を及ぼすことなくバックグラウンドで行われます。
パフォーマンスと耐久性
MemoryDB ではどの程度のレイテンシーとスループットを実現できますか?
MemoryDB のスループットとレイテンシーは、ノードタイプ、ペイロードのサイズ、クライアント接続の数によって異なります。MemoryDB は、クラスターシャードのプライマリノード上でマイクロ秒の読み込みレイテンシー、1 桁ミリ秒の書き込みレイテンシーと書き込み後の読み込みレイテンシーを実現します。MemoryDB は、1 秒あたり最大 39 万回の読み込みリクエストと 10 万回の書き込みリクエスト、ノードあたり最大 1.3 GB/秒の読み込みスループットと 100 MB/秒の書き込みスループットをサポートします (読み込み専用ワークロードと書き込み専用ワークロードの内部テストに基づく)。MemoryDB クラスターは 1 つ以上のノード間でデータをシャードするため、クラスターにシャードやレプリカを追加して総スループットを向上させることができます。
MemoryDB はデータをどのように永続的に保存しますか?
MemoryDB は、データセット全体をメモリに保存し、分散マルチ AZ トランザクションログを使用してデータの耐久性、整合性、回復性を提供します。複数のアベイラビリティーゾーンにまたがってデータを保存するため、MemoryDB ならデータベースのリカバリと再起動が高速化されます。また、データをメモリに保存することで、MemoryDB は超高速のパフォーマンスと高いスループットを実現します。
MemoryDB の耐久性機能は Valkey と Redis OSS の追加専用ファイル (AOF) とどう違うのですか?
MemoryDB は、分散されたトランザクションログを利用してデータ保存の耐久性を高めます。複数のアベイラビリティーゾーンにまたがってデータを保存するため、MemoryDB ならデータベースのリカバリと再起動が高速化されます。また、MemoryDB は、レプリカノードの結果整合性に加え、プライマリノードの整合性のある読み込みも提供します。
Valkey と Redis OSS にはオプションの追加専用ファイル (AOF) 機能が備わっています。この機能は、データをプライマリノードのディスク上のファイルに保持して耐久性を高めます。ただし、AOF は 1 つのアベイラビリティーゾーンのプライマリノード上にデータをローカル保存するため、データが失われるリスクがあります。また、ノードに障害が発生した場合、レプリカとの整合性の問題が発生するリスクもあります。
MemoryDB は高可用性をサポートしていますか?
はい、MemoryDB は高可用性をサポートしています。マルチ AZ 可用性の MemoryDB クラスターを作成し、異なる AZ に最大 5 つのレプリカを作ることができます。プライマリノードで障害が発生すると、MemoryDB は自動的にフェイルオーバーしてレプリカの 1 つを新しいプライマリとして昇格させ、書き込みトラフィックをそのレプリカに転送します。さらに、プライマリノードに障害が発生した場合でも、MemoryDB は分散トランザクションログを利用して、レプリカ上のデータを最新の状態に保ちます。フェイルオーバーは通常、計画外の停止では 20 秒未満、計画的な停止では 200 ミリ秒未満です。
MemoryDB は、分散型トランザクションログを使用して、データベースのリカバリ、再起動、フェイルオーバー、プライマリとレプリカ間の最終結果整合中にデータベースに書き込まれたデータを永続的に保存します。
MemoryDB の整合性は Valkey または Redis OSS とどう違うのですか?
Valkey と Redis OSS は、各シャードのプライマリノードでの書き込みと強力な整合性のある読み込みに加え、リードレプリカからの結果整合性のある読み込みを提供します。プライマリノードに障害が発生した場合、フェイルオーバー中に書き込みが失われ、整合性モデルに違反する可能性があるため、これらの整合性プロパティは保証されません。
MemoryDB の整合性モデルは Valkey と Redis OSS に似ています。ただし、MemoryDB では、フェイルオーバーしてもデータが失われることはないため、クライアントはノードの障害に関係なくプライマリからの書き込みを読み込むことができます。マルチ AZ トランザクションログに正常に保存されたデータのみが表示されます。レプリカノードは結果整合性が保たれ、Amazon CloudWatch にラグメトリクスが公開されます。
MemoryDB のパフォーマンスは Valkey と Redis OSS と比較してどう違いますか?
Redis OSS 用 MemoryDB バージョン 7.0 では、拡張 I/O 多重化機能が導入され、スループットとレイテンシーが著しく向上しました。Valkey 用 MemoryDB バージョン 7.2 は、拡張 IO 多重化機能もサポートしています。拡張 IO 多重化機能は、複数のクライアント接続を持つスループット制限のあるワークロードに最適で、そのメリットはワークロードの同時実行レベルに応じてスケールします。例えば、r6g.4xlarge ノードを使用して 5200 のクライアントを同時に実行した場合、Redis OSS 用 MemoryDB バージョン 6 と比較して、スループット (1 秒あたりの読み取りおよび書き込みオペレーション) が最大 46% 向上し、P99 レイテンシーが最大 21% 減少します。これらのタイプのワークロードでは、ノードのネットワーク I/O 処理がスケール能力の制限要因になることがあります。拡張 I/O 多重化機能では、各ネットワーク I/O の専用スレッドで複数のクライアントからのコマンドを MemoryDB エンジンにパイプライン処理し、コマンドを効率的にバッチ処理するエンジンの機能を活用します。
詳細については、ドキュメントを参照してください。
データインジェストとクエリ
MemoryDB にデータを書き込んだり、MemoryDB からデータを読み込んだりするにはどうすればよいですか?
MemoryDB クラスターにデータを書き込んだり読み込んだりするには、サポートされている Valkey または Redis OSS クライアントのいずれかを使用してクラスターに接続します。サポートされている Valkey または Redis OSS クライアントのリストについては、Valkey または Redis OSS のドキュメントを参照してください。Valkey または Redis OSS クライアントを使用して MemoryDB クラスターに接続する方法については、MemoryDB のドキュメントを参照してください。 Valkey は既存の Redis OSS クライアントと連携します。そのため、Redis OSS から Valkey に移行する際に、クライアントを変更する必要はありません。
ハードウェア、スケーリング、メンテナンス
MemoryDB で作成できるクラスターの上限を教えてください。
最大 500 個のノードを含む MemoryDB クラスターを作成できます。250 個のプライマリノードそれぞれに高可用性のためのレプリカが 1 つずつある (計 500 個) と仮定すると、最大メモリストレージ容量は 100 TB になります。
MemoryDB クラスターのサイズは変更できますか?
はい、MemoryDB クラスターのサイズは水平方向と垂直方向に変更することが可能です。ノードを追加または削除することで、クラスターを水平方向にスケールすることができます。シャードを追加してデータセットをより多くのシャードに分散させたり、各シャードにレプリカノードを追加して、可用性と読み込みスループットを向上させたりすることができます。シャードとレプリカを削除して、クラスターをスケールインすることもできます。さらに、ノードタイプを変更すればクラスターを垂直にスケールすることができ、これによってノードあたりのメモリと CPU リソースが変わります。水平および垂直のサイズ変更操作中であっても、クラスターはオンライン状態を維持し、読み込みおよび書き込みリクエストを処理します。
MemoryDB クラスターを更新するにはどうすればよいですか?
MemoryDB ならクラスターのメンテナンスと更新が容易で、クラスターのメンテナンスには 2 つの異なるプロセスがあります。まず、更新が必須の場合、指定したメンテナンス期間中に MemoryDB がクラスターに自動でパッチを適用します。次に、一部の更新の場合、MemoryDB はサービス更新を利用します。この更新は、いつでも適用でき、後日のメンテナンス期間にスケジュール設定することもできます。一部のサービス更新は、特定の日付が過ぎるとメンテナンス期間に自動でスケジュール設定されます。クラスターの更新は、クラスターのセキュリティ、信頼性、運用パフォーマンスを強化するのに役立ちます。また、更新中のクラスターはオンライン状態を維持し、読み込みと書き込みリクエストを処理します。クラスターのメンテナンスの詳細については、MemoryDB のドキュメントを参照してください。
バックアップと復元
MemoryDB クラスターをバックアップすることはできますか?
はい。MemoryDB クラスターのデータとメタデータをバックアップするには、スナップショットを作成します。スナップショットは手動で作成することも、MemoryDB の自動スナップショットスケジューラを使って毎日指定時刻に新しいスナップショットを撮ることもできます。スナップショットと MemoryDB を保持する期間は、スナップショットを作成してから最大 35 日間まで選択できます。スナップショットは 99.999999999% (9 x 11) の耐久性を持つよう設計された Amazon S3 に保存されます。また、クラスターを削除するときに、クラスターの最終スナップショットを作成することも選択できます。さらに、MemoryDB スナップショットをサービスから Amazon S3 バケットにエクスポートできます。スナップショットの詳細については、MemoryDB のドキュメントをご覧ください。
スナップショットから MemoryDB クラスターを復元することはできますか?
はい、新しい MemoryDB クラスターを作成するときに、スナップショットから MemoryDB クラスターを復元できます。
Redis OSS RDB ファイルから MemoryDB クラスターを復元することはできますか?
はい、Valkey または Redis OSS RDB ファイルから MemoryDB クラスターを復元することは可能です。新しい MemoryDB クラスターを作成するときに、復元する RDB ファイルを指定できます。
ElastiCache から自分の MemoryDB クラスターにデータを移行することはできますか?
はい、ElastiCache から MemoryDB にデータを移行することは可能です。まず、ElastiCache クラスターのスナップショットを作成し、S3 バケットにエクスポートします。次に、新しい MemoryDB クラスターを作成し、復元するバックアップを指定します。MemoryDB が、スナップショットからのデータと Valkey または Redis OSS メタデータを使用して新しいクラスターを作成します。ElastiCache から MemoryDB へのデータ移行の詳細については、MemoryDB のドキュメントを参照してください。
メトリクス
MemoryDB ではクラスターの運用およびパフォーマンスのメトリクスが提供されますか?
はい、MemoryDB はクラスターの運用およびパフォーマンスに関するメトリクスを提供します。MemoryDB には 30 を超える CloudWatch メトリクスがあり、これらのメトリクスは MemoryDB コンソールで表示できます。CloudWatch メトリクスと MemoryDB の詳細については、MemoryDB のドキュメントを参照してください。
セキュリティとコンプライアンス
MemoryDB はデータを暗号化しますか?
はい、MemoryDB は保管中と転送中の両方のデータ暗号化をサポートしています。保管中の暗号化には、AWS Key Management Service のカスタマーマネージドキー (CMK) あるいは MemoryDB 提供のキーを使用できます。MemoryDB クラスター向けの Graviton2 インスタンスでは、常時オンの 256 ビット DRAM 暗号化を使用してデータがメモリ内で暗号化されます。
MemoryDB クラスターの認証と認可を設定する方法を教えてください。
MemoryDB は、アクセスコントロールリスト (ACL) を使用して、クラスターの認証と認可の両方を制御します。ACL によって、同じクラスター内の異なるユーザーのためにさまざまな許可を定義できます。ACL は 1 人以上のユーザーの集まりです。それぞれのユーザーが、コマンドとデータへのアクセスを許可するために使われるパスワードとアクセス文字列を持っています。MemoryDB の ACL の詳細については、MemoryDB のドキュメントを参照してください。
VPC で MemoryDB を使用することはできますか?
はい、すべての MemoryDB クラスターは VPC で起動する必要があります。
MemoryDB はどのようなコンプライアンス認証の準備態勢を満たしていますか?
今後も引き続き、より多くのコンプライアンス認証のサポートを続けていきます。最新のコンプライアンス認証の準備態勢については、こちらをご覧ください。
セキュリティ分析や運用のトラブルシューティングのために自分のアカウントで実行された Amazon MemoryDB API コールの履歴を取得できますか?
はい。自分のアカウントで実行された Amazon MemoryDB API コールの履歴をすべて受信するには、AWS マネジメントコンソールで CloudTrail を有効にします。詳細については、CloudTrail のホームページを参照してください。
コストの最適化
Amazon MemoryDB のデータ階層化とは何ですか?
Amazon MemoryDB のデータ階層化は MemoryDB のコストパフォーマンスを最適化する新しいオプションで、アクセス頻度の低いデータをメモリからローカル接続された高性能ソリッドステートドライブ (SSD) に自動的に移動する機能です。データ階層化を使えば容量が増加し、クラスター管理が簡素化され、MemoryDB の総保有コスト (TCO) を削減できます。
Amazon MemoryDB のデータ階層化を使用する必要があるのはなぜですか?
アプリケーションの可用性を犠牲にすることなく MemoryDB クラスターのデータ容量をスケールする、より簡単で費用対効果の高い方法が必要な場合は、データ階層化を使用することをお勧めします。データ階層は、データの 20% までしか定期的にアクセスしないワークロードや、アクセス頻度の低いアイテムが初めて必要になったときにレイテンシーを追加で許容できるアプリケーションに最適です。R6g ノード (メモリのみ) と比較すると約 5 倍の総容量 (メモリ + SSD) を持つ R6gd ノードでデータ階層化を使うことで、最大使用率で稼働させた場合に 60% 以上のストレージコストを節約できます。500 バイトの文字列値を想定した場合、SSD に保存されたデータへの読み取りリクエストには、メモリ内のデータへの読み取りリクエストと比較して、通常 450 μs の追加レイテンシーが生じると考えられます。
Amazon MemoryDB のデータ階層化の仕組みを教えてください。
データ階層化は、使用可能なメモリ容量が使い果たされたときにクラスターノードの SSD ストレージを利用することで機能します。SSD ストレージを備えたクラスターノードを使用すると、データ階層化が自動的に有効になります。MemoryDB はデータ配置を管理し、Least Recently Used (LRU) ポリシーを使ってメモリとディスク間でアイテムを透過的に移動します。メモリが完全に消費されると、MemoryDB は最近の使用頻度が最も低いアイテムを自動的に検出し、その値をディスクに移動してコストを最適化します。アプリケーションがディスクからアイテムを取得する必要がある場合、MemoryDB はリクエストを処理する前にその値をメモリに透過的に移動し、パフォーマンスへの影響を最小限に抑えます。
Amazon MemoryDB のデータ階層化の使用を開始するにはどうすればよいですか?
開始するには、ARM ベースの AWS Graviton2 プロセッサと NVMe SSD (R6gd) を搭載したメモリ最適化インスタンスを使用して新しい MemoryDB クラスターを作成します。そうすると、スナップショットをインポートすることで、既存のクラスターからデータを移行できるようになります。
Amazon MemoryDB のデータ階層化にはどれくらいの費用がかかりますか?
データ階層化機能を備えた R6gd ノードの料金は、消費されるインスタンス時間に応じて計算されます。また、他の MemoryDB ノードタイプと同様に、R6gd を使用するときのデータ書き込みにも料金が発生します。詳細については、MemoryDB 料金表ページをご覧ください。
Amazon MemoryDB のリザーブドノードとは何ですか?
開始するには、ARM ベースの AWS Graviton2 プロセッサと NVMe SSD (R6gd) を搭載したメモリ最適化インスタンスを使用して新しい MemoryDB クラスターを作成します。そうすると、スナップショットをインポートすることで、既存のクラスターからデータを移行できるようになります。
Amazon MemoryDB のリザーブドノードのサイズの柔軟性はどのような仕組みですか?
MemoryDB リザーブドノードは、ノードファミリーおよび AWS リージョン内で柔軟にサイズを選べます。同じノードファミリーのすべてのサイズの使用には、割引されたリザーブドノード料金が自動的に適用されます。例えば、r6g.xlarge のリザーブドノードを購入し、より大きなノードである r6g.2xlarge にスケールする必要がある場合、リザーブドノードの割引料金が同じ AWS リージョンの r6g.2xlarge ノードの 50% の使用に自動的に適用されます。サイズが柔軟であるためリザーブドノードの管理に時間を減らすことができ、特定のデータベースノードサイズに縛られることもないため、キャパシティの変更が必要な場合も割引を最大限に活用できます。
Amazon MemoryDB リザーブドノードの料金はいくらですか?
MemoryDB リザーブドノードの料金は、ノードタイプ、期間 (1 年または 3 年)、支払いオプション (前払いなし、一部前払い、全額前払い)、AWS リージョンを基に決まります。リザーブドノードの料金には、データ書き込みやスナップショットストレージの費用は含まれませんのでご注意ください。詳細については、MemoryDB 料金表ページをご覧ください。
Amazon MemoryDB リザーブドノードではどのノードファミリーがサポートされていますか?
MemoryDB には、メモリ最適化の R6g、R7g、R6gd (データ階層化あり) ノード用のリザーブドノードがあります。
ベクトル検索
Amazon MemoryDB のベクトル検索とは何ですか?
MemoryDB のベクトル検索は数百万のベクトルの保存をサポートしており、クエリと更新の応答時間は 1 桁ミリ秒単位、再現率は 99% を超えます。MemoryDB のベクトル検索では、Amazon Bedrock や Amazon SageMaker などのサービスから生成されたベクトルを保存できます。
Amazon MemoryDB でベクトル検索を使う必要があるのはなぜですか?
MemoryDB API を使用して高速な人工知能と機械学習 (AI/ML) アプリケーションを構築する場合は、MemoryDB のベクトル検索を使うことをお勧めします。MemoryDB のベクトル検索は、ピークパフォーマンスが最も重要な選択基準であるユースケースに適しています。2024 年 6 月 26 日現在、MemoryDB は、AWS で人気のあるベクトルデータベースの中で、最も高い再現率で最速のベクトル検索のパフォーマンスを実現します。MemoryDB のベクトル検索を使用すれば、検索拡張生成 (RAG)、異常 (不正) 検出、リアルタイムレコメンデーションエンジン、ドキュメント検索など、ML および生成 AI のユースケースを強化できます。
AI/ML 主導のアプリケーションをスピード重視で構成すると、再現率を使って測定される応答品質が下がる可能性があります。MemoryDB のベクトル検索は、ベクトルをメモリに格納することで、再現率を犠牲にすることなく 1 桁ミリ秒単位のクエリと更新の応答時間を実現し、スループットを最大化します。
Amazon MemoryDB のベクトル検索はどのような仕組みですか?
ベクトル検索を使用すると、データと一緒に MemoryDB 内でベクトル埋め込みを保存、インデックス作成、取得、検索できます。まず、Amazon Titan Embeddings などの埋め込みモデルまたは Amazon Bedrock などのマネージドサービスを通じて、ベクトル埋め込みを直接生成します。次に、MemoryDB データプレーン API を使用してベクトルインデックスを初期化してから、埋め込みを MemoryDB にロードします。MemoryDB は、ベクトル埋め込みを JSON またはハッシュデータ型として保存します。
埋め込みがロードされると、MemoryDB はベクトル埋め込みを使用してインデックスを構築します。新しいデータのロードや既存データの更新、データの削除が行われると、MemoryDB は 1 桁ミリ秒以内に更新内容をベクトルインデックスにストリーミングします。MemoryDB は、効率的な検索クエリ、事前フィルタリング、複数の距離メトリクス (コサイン、ドット積、ユークリッド) をサポートしています。MemoryDB のベクトル検索の使用方法について詳しくは、ドキュメントを参照してください。
Amazon MemoryDB でベクトル検索を使用することに関連するコストはいくらですか?
MemoryDB のベクトル検索を使用しても追加料金は発生しません。詳細については、MemoryDB 料金ページをご覧ください。