DynamoDB は、あらゆる規模に適した高速で柔軟な非リレーショナルデータベースサービスです。DynamoDB を使用すると、分散データベースの運用と AWS にスケーリングするための管理負荷を軽減できます。ハードウェアのプロビジョニング、設定と構成、スループット容量のプランニング、レプリケーション、ソフトウェアのパッチ適用、クラスターのスケーリングなどについて心配する必要はありません。
DynamoDB により、データベースの拡張、データベースソフトウェアの管理、およびハードウェアの実行に必要なプロビジョニングに伴う主な障害の 1 つが取り除かれます。非リレーショナルデータベースはほんの数分で展開できます。DynamoDB では、テーブルサイズの増大に合わせてワークロードのデマンドに応じたスループット容量のスケーリング、データのパーティション化や再パーティション化が自動的に行われます。また、DynamoDB では、同じ AWS リージョン内の 3 つの施設間でデータが同期的にレプリケートされるため、可用性とデータ耐久性も高まります。
DynamoDB からデータを読み込むとき、ユーザーはその読み込みに対して結果的に整合性のある読み込みを設定するか強い整合性を設定するかを指定できます。
DynamoDB では、ユーザー定義プライマリキーを使用して GET/PUT オペレーションをサポートしています。プライマリキーはテーブル内の項目の唯一の必須属性です。プライマリキーはテーブルを作成するときに指定し、各項目を一意に識別します。また、DynamoDB は、グローバルセカンダリインデックスとローカルセカンダリインデックスを使用してプライマリキー以外の属性をクエリできるようにする、柔軟なクエリも提供します。
プライマリキーは、単一属性パーティションキーまたは複合パーティションソートキーのいずれかになります。例えば、UserID は単一属性パーティションキーです。このような単一属性パーティションキーにより、指定されたユーザー ID に関連付けられた項目のデータをすばやく読み込んだり書き込んだりできます。
DynamoDB では、複合パーティションソートキーがパーティションキー要素およびソートキー要素としてインデックス化されます。このマルチパートキーにより、1 番目の要素値と 2 番目の要素値の間の階層が維持されます。例えば、複合パーティションソートキーは、UserID (パーティション) と Timestamp (ソート) の組み合わせにすることができます。パーティションキー要素を一定に保つことで、ソートキー要素を検索して項目を取得することができます。このような検索により、クエリ API を使用して、例えば、一定のタイムスタンプの範囲における単一の UserID のすべての項目を取得できます。
DynamoDB コンソールまたは CreateTable API を使用してテーブルを作成したら、PutItem API または BatchWriteItem API を使用して項目を挿入できます。テーブルに追加した項目は、GetItem や BatchGetItems を使用して、または Query API を使用して (テーブルで複合プライマリキーが有効化されており使用されている場合) 取得できます。
はい。DynamoDB は、API を介してアクセスする完全マネージド型のクラウドサービスです。DynamoDB は、どのオペレーティングシステム (Linux、Windows、iOS、Android、Solaris、AIX、HP-UX など) で実行するアプリケーションでも使用できます。DynamoDB の使用を開始するには、AWS SDK の使用をお勧めします。
各 DynamoDB テーブルには、プロビジョンされた読み込みスループットと書き込みスループットがあり、テーブルに関連付けられています。そのスループット容量について 1 時間ごとに課金されます。テーブルにリクエストを送信するかどうかにかかわらず、スループット容量に対して 1 時間ごとに課金されることに注意してください。テーブルのプロビジョンドスループットキャパシティを変更するには、AWS マネジメントコンソール、UpdateTable API、自動スケーリング用の PutScalingPolicy API のいずれかを使用します。また、DynamoDB では、データストレージに対する料金と標準のインターネットデータ転送料金も課金されます。
DynamoDB の料金の詳細については、DynamoDB の料金ページをご覧ください。
各 DynamoDB テーブルの最大スループットは事実上無制限です。設定されている制限について詳しくは、DynamoDB での制限を参照してください。制限の引き上げをリクエストする場合は、Amazon にお問い合わせください。
Auto Scaling の場合でも、手動でスループットをプロビジョニングする場合でも、リクエスト可能なプロビジョンできる最小スループットは、1 書き込みキャパシティーユニットと 1 読み込みキャパシティーユニットです。このようなプロビジョニングは無料利用枠 (書き込み容量 25 ユニットと読み込み容量 25 ユニットまで) の範囲内です。無料利用枠は、テーブルレベルではなくアカウントレベルに適用されます。つまり、お客様の全テーブルのプロビジョニングされた容量の合計が、書き込み容量 25 ユニットと読み込み容量 25 ユニットを超えていなければ、このプロビジョニングされた容量は無料利用枠の範囲内になります。
DynamoDB 標準 – IA は、アプリケーションのログ、古いソーシャルメディアの記事、e コマースの注文履歴、過去のゲーム実績など、アクセス頻度の低いデータを保存するテーブルの DynamoDB の総コストを削減します。ストレージが主なテーブルコストである場合 (ストレージコストがスループット (読み取りと書き込み) コストの 50% を一貫して超える場合)、DynamoDB 標準 – IA テーブルクラスが最も経済的な選択肢になります。DynamoDB Standard-IA の料金の詳細については、DynamoDB の料金ページをご覧ください。
DynamoDB 標準 – IA テーブルは、グローバルテーブル、セカンダリインデックス、オンデマンドバックアップ、およびポイントインタイムリカバリ (PITR) など、DynamoDB Standard テーブルと同様に既存のすべての DynamoDB 機能をサポートします。DynamoDB 標準 – IA テーブルにも DynamoDB Standard テーブルと同じように、他の AWS サービスとの統合が組み込まれています。例えば、Amazon CloudWatch を使用して DynamoDB 標準 – IA テーブルのパフォーマンスのモニタリング、AWS CloudFormation テンプレートを使用して DynamoDB 標準 – IA テーブルをプロビジョンして管理、DynamoDB アクセラレータ (DAX) でキャッシュを追加してパフォーマンスを向上、変更データレコードを Amazon Kinesis Data Streams にストリーミング、および DynamoDB 標準 – IA テーブルのデータを Amazon Simple Storage Service (Amazon S3) にエクスポートしたりすることができます。
データモデルと API の詳細については、「Amazon DynamoDB: 仕組み」をご覧ください。
スケーラビリティ、可用性、堅牢性の詳細については、Amazon DynamoDB 製品の詳細をご覧ください。
DynamoDB Auto Scaling の詳細については、DynamoDB Auto Scaling によるスループットキャパシティーの自動管理をご覧ください。
DynamoDB のセキュリティと制御の詳細については、Amazon DynamoDB の Identity and Access Management をご覧ください。