Q: Amazon DynamoDB とは何ですか?
DynamoDB は、あらゆる規模に適した高速で柔軟な非リレーショナルデータベースサービスです。DynamoDB を使用すると、分散データベースの運用と AWS にスケーリングするための管理負荷を軽減できます。ハードウェアのプロビジョニング、設定と構成、スループット容量のプランニング、レプリケーション、ソフトウェアのパッチ適用、クラスターのスケーリングなどについて心配する必要はありません。
Q: DynamoDB では、どのような管理が自動的に行われますか?
DynamoDB により、データベースの拡張、データベースソフトウェアの管理、およびハードウェアの実行に必要なプロビジョニングに伴う主な障害の 1 つが取り除かれます。非リレーショナルデータベースはほんの数分で展開できます。DynamoDB では、テーブルサイズの増大に合わせてワークロードのデマンドに応じたスループット容量のスケーリング、データのパーティション化や再パーティション化が自動的に行われます。また、DynamoDB では、同じ AWS リージョン内の 3 つの施設間でデータが同期的にレプリケートされるため、可用性とデータ耐久性も高まります。
Q: DynamoDB の整合性モデルとは何ですか?
DynamoDB からデータを読み込むとき、ユーザーはその読み込みに対して結果整合性のある読み込みを設定するか強い整合性を設定するかを指定できます。
Q: DynamoDB ではどのようなクエリ機能がサポートされていますか?
DynamoDB では、ユーザー定義プライマリキーを使用して GET/PUT オペレーションをサポートしています。プライマリキーはテーブル内の項目の唯一の必須属性です。プライマリキーはテーブルを作成するときに指定し、各項目を一意に識別します。また、DynamoDB は、グローバルセカンダリインデックスとローカルセカンダリインデックスを使用してプライマリキー以外の属性をクエリすることができる、柔軟なクエリ機能も備えています。
プライマリキーは、単一属性パーティションキーまたは複合パーティションソートキーのいずれかになります。例えば、UserID は単一属性パーティションキーです。このような単一属性パーティションキーにより、指定されたユーザー ID に関連付けられた項目のデータをすばやく読み込んだり書き込んだりできます。
DynamoDB では、複合パーティションソートキーがパーティションキー要素およびソートキー要素としてインデックス化されます。このマルチパートキーにより、1 番目の要素値と 2 番目の要素値の間の階層が維持されます。例えば、複合パーティションソートキーは、UserID (パーティション) と Timestamp (ソート) の組み合わせにすることができます。パーティションキー要素を一定に保つことで、ソートキー要素を検索して項目を取得することができます。このような検索により、クエリ API を使用して、例えば、単一の UserID のすべての項目をタイムスタンプの範囲にわたって取得できます。
Q: DynamoDB ではデータ項目に対する更新およびクエリをどのように実行しますか?
DynamoDB コンソールまたは CreateTable API を使用してテーブルを作成したら、PutItem API または BatchWriteItem API を使用して項目を挿入できます。テーブルに追加した項目は、GetItem や BatchGetItems を使用して、または Query API を使用して (テーブルで複合プライマリキーが有効化されており使用されている場合) 取得できます。
Q: DynamoDB を使用すると、どのように課金されますか?
各 DynamoDB テーブルには、プロビジョニングされた読み込みスループットと書き込みスループットがあり、テーブルに関連付けられています。無料利用枠を超える場合は、そのスループット容量に対して 1 時間ごとに課金されます。テーブルにリクエストを送信するかどうかにかかわらず、スループット容量に対して 1 時間ごとに課金されることに注意してください。テーブルのプロビジョンドスループット性能を変更するには、AWS マネジメントコンソール、UpdateTable API、Auto Scaling 用の PutScalingPolicy API のいずれかを使用します。また、DynamoDB では、データストレージに対する料金と標準のインターネットデータ転送料金も課金されます。
DynamoDB の料金の詳細については、DynamoDB の料金ページをご覧ください。
Q: 1 つの DynamoDB テーブルにプロビジョニングできる最大スループットはどのくらいですか?
各 DynamoDB テーブルの最大スループットは事実上無制限です。設定されている制限について詳しくは、DynamoDB での制限を参照してください。制限の緩和をリクエストする場合は、Amazon にお問い合わせください。
Q: 1 つの DynamoDB テーブルにプロビジョンできる最小スループットはどのくらいですか?
Auto Scaling の場合でも、手動でスループットをプロビジョニングする場合でも、リクエスト可能なプロビジョンできる最小スループットは、1 書き込みキャパシティーユニットと 1 読み込みキャパシティーユニットです。このようなプロビジョニングは無料利用枠 (書き込み容量 25 ユニットと読み込み容量 25 ユニットまで) の範囲内です。無料利用枠は、テーブルレベルではなくアカウントレベルに適用されます。つまり、お客様の全テーブルのプロビジョニングされた容量の合計が、書き込み容量 25 ユニットと読み込み容量 25 ユニットを超えていなければ、このプロビジョニングされた容量は無料利用枠の範囲内になります。
Q: データモデルと API
データモデルと API の詳細については、Amazon DynamoDB: 仕組みをご覧ください。
Q: 拡張性、可用性、堅牢性
拡張性、可用性、堅牢性の詳細については、Amazon DynamoDB 製品の詳細をご覧ください。
Q: Auto Scaling
DynamoDB Auto Scaling の詳細については、DynamoDB Auto Scaling によるスループットキャパシティーの自動管理をご覧ください。
Q: セキュリティと制御
DynamoDB のセキュリティと制御の詳細については、Amazon DynamoDB に対する認証とアクセスコントロールをご覧ください。