DynamoDB
メニューを表示するにはスワイプしてください
主要概念:
- テーブル: データが保存されるスプレッドシートのようなもの;
- アイテム: スプレッドシートの行に相当;
- 属性: 各アイテムのデータフィールドやプロパティ。
データ取得:
- プライマリキー: データ取得に使用;
- パーティションキー: データの物理的な保存場所を決定;
- ソートキー(オプション): 同じパーティション内のアイテムを整理し、高速アクセスを実現。
インデックス:
- グローバルセカンダリインデックス: テーブル全体で異なるデータアクセスパターンを可能に;
- ローカルセカンダリインデックス: 同じパーティションキー内で異なる並び替えを実現。
DynamoDBはさまざまなデータ型をサポート。単純な値用のスカラ型(文字列や数値)、リストやマップなど複雑な構造のドキュメント型、スカラ値のコレクション用のセット型がある。テーブルの作成・管理時にはプライマリキーを選択し、プロビジョンドスループット(予測可能なワークロード向け)またはオンデマンドキャパシティ(可変トラフィック向け)を選ぶ。これにより、アイテムの作成・読み取り・更新・削除(CRUD操作)が可能。
データ読み取りには2つの整合性モデルがある。最終的整合性はデータ更新にわずかな遅延を許容し高速な読み取りを実現し、強い整合性は最新の書き込みを反映した読み取りを保証。
基本的なストレージ機能に加え、DynamoDBには高度な機能がある。DynamoDB Streamsはアイテム単位の変更を記録し、レプリケーションやイベント駆動アプリケーションに利用可能。グローバルテーブルは複数リージョンへのレプリケーションを実現し、異なる場所間でデータの整合性を確保。**TTL(Time to Live)**は指定した時間後にアイテムを自動削除しデータライフサイクルを管理。オートスケーリングは実際の使用状況に応じてテーブルのスループットキャパシティを自動調整。
DynamoDBを最大限に活用するには、データアクセスパターンの計画が重要。適切なキーの選択はパフォーマンス問題の回避に不可欠。バッチ操作やインデックスを活用してパフォーマンスを向上させ、適切なキャパシティモードの選択と利用状況の監視でコストを管理。
セキュリティも重要。アクセス制御にはIAMを使用し、データの暗号化やVPCエンドポイントによるネットワークセキュリティの強化を推奨。DynamoDBは高可用性設計であり、グローバルテーブルによりグローバルな可用性も実現。パフォーマンス監視にはCloudWatchを利用し、頻繁にアクセスされるデータのキャッシュにはAmazon DynamoDB Accelerator(DAX)の活用が有効。
この概要では、DynamoDBの基本、セットアップ、スケーラビリティ、セキュリティ機能について説明。ベストプラクティスに従うことで、効率的かつ安全なDynamoDB環境の構築が可能。次のモジュールでは、AWSのさらなる強力なツールについて解説予定。
1. DynamoDBでデータを整理するために使用される主な構造要素は何ですか?
2. DynamoDBでデータが物理的に保存される場所を決定するキーの種類はどれですか?
3. DynamoDBのどの機能によって、指定した時間が経過した後にアイテムが自動的に削除されますか?
4. DynamoDBで、読み取ったデータが最新の書き込み内容であることを保証する一貫性モデルはどれですか?
フィードバックありがとうございます!
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください