Amazon Keyspaces
Apache Cassandra 互換のフルマネージドワイドカラムデータベースサービス
何ができるか
Amazon Keyspaces は、Apache Cassandra と互換性のあるフルマネージドデータベースサービスです。Cassandra Query Language (CQL) をそのまま使用でき、既存の Cassandra ドライバーやツールとの互換性を維持しています。サーバーレスアーキテクチャを採用しており、テーブルの読み書きスループットは自動的にスケーリングされます。データは 3 つのアベイラビリティゾーンに自動的にレプリケートされ、99.999% の可用性を実現します。
どのような場面で使うか
大規模な時系列データの格納 (IoT センサーデータ、ログデータ)、産業機器のテレメトリデータ管理、ユーザーアクティビティの追跡と分析、リアルタイムのリーダーボードやランキングシステム、大量のメタデータ管理など、高スループットと低レイテンシが求められるワークロードで活用されています。 この分野について体系的に学びたい方は、関連書籍 (Amazon) も参考になります。
身近な例え
巨大な図書館の蔵書管理に例えるとわかりやすいでしょう。通常のデータベースは 1 つの図書館で蔵書を管理するようなものですが、Keyspaces は複数の図書館に同じ蔵書のコピーを自動的に配置し、どの図書館からでも高速に検索・貸出ができる仕組みです。蔵書が増えても棚は自動的に拡張されます。
Keyspaces とは
Amazon Keyspaces (for Apache Cassandra) は、Apache Cassandra のワークロードをサーバーレスで実行するためのフルマネージドデータベースサービスです。Cassandra クラスターの構築・運用では、ノードの追加・削除、データのリバランス、コンパクション、修復など、高度な運用スキルが求められます。Keyspaces はこれらの運用をすべて AWS が自動で行い、CQL 互換のインターフェースを通じて Cassandra の機能を利用できます。
サーバーレスとキャパシティモード
Keyspaces は、オンデマンドモードとプロビジョンドモードの 2 つのキャパシティモードを提供します。オンデマンドモードでは、実際の読み書きリクエスト数に応じて自動的にスケーリングされ、事前のキャパシティ計画が不要です。プロビジョンドモードでは、予測可能なワークロードに対してスループットを事前に設定し、コストを最適化できます。Auto Scaling との組み合わせにより、トラフィックの変動にも自動的に対応します。
データの耐久性とセキュリティ
Keyspaces のデータは、3 つのアベイラビリティゾーンに自動的にレプリケートされ、高い耐久性と可用性を実現します。保存時の暗号化は AWS KMS を使用してデフォルトで有効化されており、転送中の暗号化も TLS で保護されます。IAM ポリシーによるアクセス制御、VPC エンドポイントによるプライベート接続、AWS CloudTrail による API 呼び出しの監査ログなど、エンタープライズグレードのセキュリティ機能を備えています。ポイントインタイムリカバリにより、過去 35 日間の任意の時点にテーブルを復元できます。
Azure・オンプレミスとの比較
AWS の優位点
- サーバーレスアーキテクチャにより、Cassandra クラスターのノード管理、コンパクション、修復などの複雑な運用作業が完全に不要になる
- オンデマンドキャパシティモードにより、事前のキャパシティ計画なしにトラフィックの急増に自動対応でき、過剰プロビジョニングによるコスト浪費を防げる
- 3 つのアベイラビリティゾーンへの自動レプリケーションとポイントインタイムリカバリにより、オンプレミスの Cassandra では手動設定が必要な高可用性とデータ保護を標準で実現できる
注意点
- Cassandra の全機能がサポートされているわけではなく、一部の CQL 機能 (カウンター型、ユーザー定義関数など) は制限があるため、移行前に互換性マトリクスを確認すること
- オンデマンドモードはトラフィックの予測が難しいワークロードに適しているが、安定したトラフィックの場合はプロビジョンドモードの方がコスト効率が良い
さらに詳しく知りたい方は、関連書籍 (Amazon) で理解を深められます。