IT用語: Amazon DynamoDBとは|ミリ秒応答の完全マネージドNoSQLデータベース
サーバーレス・無制限スケールのキーバリュー/ドキュメントDBであるAWS DynamoDBの仕組みと設計パターンを解説。
Amazon DynamoDBとは
Amazon DynamoDBは、AWSが提供するフルマネージドのNoSQL(キーバリュー型+ドキュメント型)データベースサービスです。サーバー管理不要で、トラフィックに応じた自動スケーリングにより、任意の規模でミリ秒以下のレスポンスタイムを実現します。
RDSとDynamoDBの比較
| 比較軸 | DynamoDB | RDS(関係DB) |
|---|---|---|
| データモデル | キーバリュー・ドキュメント | テーブル・リレーション |
| スケーリング | 水平・自動 | 垂直・手動 |
| トランザクション | 限定的(TransactWrite) | 完全ACID |
| 結合(JOIN) | 不可(アプリ側で実装) | 可能 |
| ユースケース | 大規模・低レイテンシ | 複雑なクエリ・集計 |
主要概念
- パーティションキー(PK): データを分散するための主キー
- ソートキー(SK): PKと組み合わせた複合主キー。範囲クエリが可能
- GSI(グローバルセカンダリインデックス): 別の属性でクエリするためのインデックス
- オンデマンドモード: リクエスト数に応じた従量課金
単一テーブル設計(Single Table Design)
DynamoDBのベストプラクティスは、複数のエンティティ(ユーザー・注文・商品)を1つのテーブルに格納し、PK/SKの設計でアクセスパターンを表現するアプローチです。JOINがない分、アクセスパターンを先に設計することが重要です。
関連する用語 (クラウド)
全40件を見るIT用語: Azure DevOpsとは|MicrosoftのCI/CD・プロジェクト管理統合プラットフォーム
ソース管理・CI/CD・アジャイル管理・アーティファクト管理を統合するMicrosoftのDevOpsプラットフォームを解説。
Cloud Spanner
Googleが提供するグローバル分散型のフルマネージドRDBMS。水平スケーリングとACID準拠トランザクションを同時に実現し、従来不可能とされた「スケールするRDB」を提供する。
Google Compute Engine(GCE)
GoogleのIaaS型仮想マシンサービス。AWSのEC2・AzureのVMに相当し、プリエンプティブルVM(スポットVM)やカスタムマシンタイプでコストを柔軟に最適化できる。
Azure Functions(サーバーレス関数)
Microsoftのサーバーレスコンピューティングサービス。コードをHTTPトリガー・タイマー・キュー等のイベントに応じて実行でき、サーバー管理不要で従量課金となる。
サーバーレス (Serverless)
開発者がサーバーの構築や保守を意識することなく、プログラムの実行環境だけを利用できる仕組み。
Azure Cosmos DB
Microsoftが提供するグローバル分散型のフルマネージドNoSQLデータベース。99.999%の可用性SLA・10ミリ秒以下のレイテンシ・複数APIに対応し、世界規模のアプリケーションに使われる。