Amazon Keyspaces マルチリージョンレプリケーションでは、選択した複数の AWS リージョンにわたり、フルマネージド型のアクティブ-アクティブな自動レプリケーションでデータを複製できます。リージョンレベルのパフォーマンス低下が発生した場合に、可用性と回復力の両方を改善できると同時に、グローバルアプリケーションに対して低レイテンシーのローカルな読み取りと書き込みが可能になります。マルチリージョンレプリケーションの場合、Keyspaces はリージョン間でデータを非同期的に複製します。データは通常 1 秒未満で伝搬されます。また、マルチリージョンレプリケーションなら、更新の競合を解決したりデータが相違する問題を修正したりする難しい作業が不要になるため、アプリケーションに注力できるようになります。AWS マネジメントコンソールで数回クリックするだけで、マルチリージョンの新しいキースペースを作成できます。また、AWS SDK や CLI を使って作成することもできます。詳細については、「Keyspaces デベロッパーガイド」をご覧ください。
仕組み
マルチリージョンのキースペースを作成すると、そのキースペースは複数のレプリカキースペース (AWS リージョンごとに 1 つ) で構成され、単一のユニットとして処理されます。すべてのリージョンには同じテーブルスキーマがあります。アプリケーションが 1 つのリージョンにデータを書き込むと、Keyspaces はストレージベースの非同期レプリケーションを使用して書き込みをリージョン全体に伝搬します。レプリケーションの遅延レイテンシーは通常 1 秒未満で、アプリケーションの可用性には影響しません。発生率は低いながら単一リージョンで障害が発生した場合には、アプリケーションをマルチリージョンキースペース内の正常なリージョンのいずれかにポイントすることができます。マルチリージョンのキースペース内ではすべてのリージョンが読み取りと書き込みの両方に対応しているため、アプリケーションの可用性に影響はありません。パフォーマンスが低下したリージョンがオンラインに復帰すると、Keyspaces は欠落しているデータを自動的に同期します。
利点
1 桁ミリ秒のレイテンシーでグローバルな読み取りと書き込みを実行
Keyspaces では、レプリケーションはアクティブ-アクティブで行われます。規模を問わず、読み取りと書き込みの両方を顧客に最も近いリージョンから 1 桁ミリ秒のレイテンシーでローカルに提供できるようになります。 マルチリージョンレプリケーションを使用すると、世界中のどこにいても、高速な応答時間を必要とするグローバルアプリケーションに Keyspaces を利用できます。
ビジネス継続性の向上と単一リージョンのパフォーマンス低下からの保護
マルチリージョンレプリケーションを使用すると、アプリケーションをマルチリージョンキースペース内の別のリージョンにリダイレクトするだけで、単一の AWS リージョンのパフォーマンス低下から回復できます。Keyspaces はアクティブ-アクティブなレプリケーションのため、読み取りや書き込みに影響しません。Keyspaces は、マルチリージョンキースペースで実行されたが、まだすべてのレプリカリージョンに伝搬されていない書き込みを追跡します。リージョンがオンラインに復帰すると、Keyspaces は欠落している変更を自動的に同期するため、アプリケーションの可用性に影響を及ぼすことなく復元できます。
リージョン間の高速レプリケーション
マルチリージョンレプリケーションは、リージョン全体でストレージベースによるデータの物理レプリケーションを高速で行います。レプリケーションによる遅延は通常 1 秒未満です。Keyspaces でのレプリケーションは、コンピューティングリソースを共有しないため、データベースクエリへの影響はほとんど全くありません。これにより、アプリケーションの可用性に影響を及ぼすことなく、高い書き込みスループットやバースト性の高いユースケースに対応できます。
整合性と競合の解決
任意のリージョン内のデータに加えられた変更は、マルチリージョンキースペース内の他のリージョンにレプリケートされます。アプリケーションが異なるリージョンの同じデータをほぼ同時に更新すると、競合が発生する場合があります。最終的な整合性を確保するのに役立つよう、Keyspaces はセルレベルのタイムスタンプと、同時更新間の Last Writer Wins の調整を使用します。競合の解決はフルマネージドで、アプリケーションの可用性に影響を及ぼすことなくバックグラウンドで行われます。