Amazon DynamoDB は、key-valueドキュメントデータモデルをサポートするサーバーレスの NoSQL データベースサービスです。開発者は Amazon DynamoDB を使用して、小規模から始めてグローバルにスケールできる最新のサーバーレスアプリケーションを構築できます。Amazon DynamoDB は、自動水平スケーリングにより、事実上あらゆるサイズのテーブルをサポートするようにスケールされます。

Amazon DynamoDB は 1 日あたり 10 兆件を超えるリクエストを一貫して処理しています。可用性、耐久性、フォールトトレランスは組み込まれており、オフにすることはできないため、これらの機能に合わせてアプリケーションを構築する必要がありません。

Amazon DynamoDB は、従来のリレーショナルデータベースであれば高い負荷を生じさせていた高パフォーマンスのインターネット規模のアプリケーションを実行するように設計されています。10 年以上にわたって先駆的なイノベーションに投資してきた Amazon DynamoDB は、無限のスケーラビリティを備えており、1 桁ミリ秒という一貫したパフォーマンスと最大 99.999% の可用性を実現しています。

現在進行中の新しい特徴量や機能については、Amazon DynamoDB の「最新情報」の発表により、新しいリリースについて簡単に知ることができます。

Amazon DynamoDB とは何ですか?

無限のスケーラビリティを備えたサーバーレスのパフォーマンス

Key-value およびドキュメントデータモデル

Amazon DynamoDB では Key-value およびドキュメントデータモデルのいずれもサポートされています。NoSQL データベースである Amazon DynamoDB には柔軟なスキーマがあるため、各項目にさまざまな属性を持たせることができます。柔軟なスキーマにより、ビジネス要件の変化に合わせて、簡単に対応させることができます。リレーショナルデータベースと同様にテーブルスキーマを再定義する必要はありません。

ゼロまでスケールできるサーバーレス

Amazon DynamoDB には、プロビジョニングやパッチ、管理用のサーバーだけでなく、インストール、メンテナンス、または運用するソフトウェアもありません。Amazon DynamoDB にはバージョン (メジャー、マイナー、パッチ) がなく、メンテナンスウィンドウもありません。また、Amazon DynamoDB はダウンタイムなしのメンテナンスを提供します。Amazon DynamoDB のオンデマンド料金体系は従量制料金で、ゼロまでスケールでき、自動的にテーブルをスケールして容量を調整し、管理なしでパフォーマンスを維持できます。

ACID トランザクション

Amazon DynamoDB は、複雑なビジネスロジックを必要とするアプリケーションの不可分性、一貫性、独立性、永続性 (ACID) トランザクションのサポートなど、ミッションクリティカルなワークロード向けに構築されています。Amazon DynamoDB は、トランザクション向けにサーバー側のネイティブサポートを提供しているため、テーブル内およびテーブル間の複数の項目を調整したり、変更しないといった、開発者のエクスペリエンスを簡素化します。

Amazon DynamoDB はトランザクションあたり 100 のアクションをサポートするようになり、開発者の生産性が向上しました。トランザクションのサポートにより、開発者は、Amazon DynamoDB のスケール、パフォーマンス、およびエンタープライズの利点を、より広範なミッションクリティカルなワークロードにスケールすることができます。

グローバルテーブルによるアクティブ/アクティブレプリケーション

Amazon DynamoDB グローバルテーブルでは、99.999% の可用性で、選択した AWS リージョン間にデータをアクティブ/アクティブにレプリケーションできます。グローバルテーブルはマルチアクティブなので、どのレプリカからでも書き込みと読み取りが可能です。グローバルに分散しているアプリケーションは選択したリージョンのデータにローカルにアクセスできるため、1 桁ミリ秒の読み取りおよび書き込みパフォーマンスを実現できます。

また、グローバルテーブルは、マルチリージョンのワークロードに合わせて自動的に容量をスケールします。グローバルテーブルはアプリケーションのマルチリージョンの耐障害性を向上させるため、組織の事業継続性戦略の一部として検討する必要があります。

イベント駆動型アーキテクチャの一部としての Amazon DynamoDB Streams

Amazon DynamoDB Streams は変更データキャプチャ機能です。アプリケーションがテーブル内の項目を作成、更新、削除するたびに、Amazon DynamoDB Streams はすべての項目レベルの変更の時系列をほぼリアルタイムで記録します。これは、イベント駆動型アーキテクチャアプリケーションが変更内容を取り込んで処理するのに最適です。すべての変更内容は 24 時間保存され、重複内容は取り除かれる設定になっています。

アプリケーションはこのログにアクセスして、変更前と変更後のデータ項目をほぼリアルタイムで表示することもできます。Amazon DynamoDB Streams では、各ストリームレコードがストリームに 1 回だけ表示され、変更された各項目について、ストリームレコードは項目への実際の変更と同じ順序で表示されます。

セカンダリインデックス

他のすべてのデータベースシステムと同様に、最初に項目のコレクションであるテーブルを作成します。Amazon DynamoDB では、テーブルの各項目には独自のプライマリキーがあります。また、多くのアプリケーションでは、1 つ以上のセカンダリキーを使用することで、他の属性を使用してデータをより効率的に検索できるというメリットもあります。Amazon DynamoDB には、グローバルとローカルの両方のセカンダリインデックスを作成するオプションがあり、セカンダリキーまたは代替キーを使用してテーブル内のデータをクエリできます。

グローバルセカンダリインデックスはスパース型インデックスとも呼ばれます。データへのアクセス方法に最大限の柔軟性をもたらすだけでなく、低コストで優れたパフォーマンスを備えたより低い書き込みスループットを提供することができます。

セキュリティと信頼性

Amazon DynamoDB は暗号化によってデータを保護し、そのためにデータを継続的にバックアップします。

きめ細かいアクセスコントロール

Amazon DynamoDB では、ユーザー名やパスワードはありません。Amazon DynamoDB は AWS identity and access management (IAM) を使用して、リソースの認証、作成、アクセスを行います。IAM ポリシーリソースベースのポリシー と条件を指定することで、きめ細かなアクセスを可能にし、そのユーザーの ID に基づいてテーブル内の特定の項目や属性への読み取りまたは書き込みアクセスを制限できます。これにより、お客様はコードレベルでセキュリティポリシーを適用できます。

保管時の暗号化

Amazon DynamoDB では、お客様の保管中のデータはすべて、デフォルトで暗号化されます。保管時に暗号化することで、AWS Key Management Service (AWS KMS) に保存されている暗号化キーを使用して、データのセキュリティは強化されます。 AWS Database Encryption SDK を追加すると、属性レベルの暗号化を実行して、テーブル内のデータに対してさらにきめ細かなアクセス制御を行うことができます。Amazon DynamoDB を使用すると、セキュリティを重視したアプリケーションを構築して、暗号化のコンプライアンスと規制の厳格な要件を満たすことができます。

暗号化キーは、基盤となるストレージへの不正アクセスからデータを保護することで、データ保護をさらに強化します。 Amazon DynamoDB が AWS 所有キー (デフォルトの暗号化タイプ)、AWS マネージドキー、またはカスタマーマネージドキーを使用してユーザーデータを暗号化するかどうかを指定できます。AWS 所有の KMS キーを使用するデフォルトの暗号化には、追加料金はかかりません。

ポイントインタイムリカバリ

ポイントインタイムリカバリ (PITR) を使用することで、オペレーションによって Amazon DynamoDB テーブルが誤って上書きされたり削除されたりしないようにできます。PITR では Amazon DynamoDB テーブルデータを連続バックアップすることができます。このテーブルは、過去 35 日間の特定の時点に 2 つ目まで復元できます。

PITR はプロビジョニングされた容量を使用しないため、アプリケーションのパフォーマンスや可用性には影響しません。PITR の有効化、またはバックアップとリストアオペレーションの開始は、AWS マネジメントコンソールで 1 回クリックするか、API を 1 回呼び出すだけで簡単に行えます。

オンデマンドバックアップおよび復元

オンデマンドバックアップおよび復元で、Amazon DynamoDB テーブルのデータの完全なバックアップを作成してアーカイブできます。これを利用して企業および行政の規制要件を満たすことができます。数メガバイトから数百テラバイトまでのデータを持つテーブルを、本番アプリケーションのパフォーマンスや可用性に影響を及ぼすことなくバックアップできます。AWS Backup との統合により、アカウント間およびリージョン間のオンデマンドバックアップのコピー、バックアップのコスト配分タグ付け、およびコールドストレージへのバックアップの移行も可能です。

プライベートネットワーク接続

Amazon DynamoDB は、VPC 内またはオンプレミスデータセンターからの接続用に、ゲートウェイ仮想プライベートクラウド (VPC) エンドポイントとインターフェイス VPC エンドポイントをサポートしています。AWS PrivateLink で有効になっているインターフェイス VPC エンドポイントを介して、オンプレミスアプリケーションから DynamoDB へのプライベートネットワーク接続を設定できます。これにより、お客様は DynamoDB へのプライベート接続を簡素化し、コンプライアンスを維持できます。

コスト効率

読み込み/書き込みキャパシティーモード

Amazon DynamoDB には、オンデマンドとプロビジョンドのキャパシティーモードがテーブルごとに用意されています。

  •  高使用率になるかどうか不明で、予測が困難なワークロードについては、オンデマンドキャパシティーモードによって容量を管理しすることができます。支払うのは実際に消費した分だけです。
  • プロビジョンドキャパシティーモードを使用するテーブルでは、読み込みおよび書き込みキャパシティーを設定する必要があります。指定したプロビジョンドキャパシティーを活用できると分かっている場合には、プロビジョンドキャパシティーモードの方がコスト効率は高くなります。 

オンデマンドモード

オンデマンドキャパシティーモードを使用するテーブルの場合、以前に到達したトラフィックレベルまでワークロードが上昇または下降すると、Amazon DynamoDB は瞬時に対応します。ワークロードのトラフィックレベルが新しいピークに達すると、Amazon DynamoDB はワークロードに対応するように迅速に対応します。オンデマンドキャパシティーモードは、新しいテーブルと既存のテーブルの両方で使用できるだけでなく、コードを変更せずに既存の Amazon DynamoDB API を引き続き使用することができます。

Standard Infrequent Access (Standard-IA) テーブルクラス

アクセス頻度が低いデータについては、Amazon DynamoDB Standard-IA テーブルクラスを使用できます。これにより、Amazon DynamoDB のコストを最大 60% 削減できます。ストレージコストの低い Standard-IA テーブルは、アプリケーションログ、過去のゲームデータ、古いソーシャルメディアの投稿など、アクセス頻度の低いデータを長期間保存するように設計されています。Amazon DynamoDB Standard テーブルと同じ可用性、耐久性、パフォーマンスを備えています。これは、ほとんどのワークロードにとってデフォルトで最も費用対効果の高いオプションです。

自動スケーリングによるコスト効率の向上

プロビジョンドキャパシティーを使用するテーブルの場合、Amazon DynamoDB は、アプリケーションのパフォーマンス状況を監視して、以前に設定されたキャパシティーに基づき、スループットとストレージの自動スケーリングを実現します。

  • アプリケーションのトラフィックが増加すると、Amazon DynamoDB は負荷に対応できるようにスループットを増大します。
  • アプリケーションのトラフィックが低下すると、Amazon DynamoDB によってスケールダウンされるため、不要なキャパシティーにかかる支払いを削減することができます。

リザーブドキャパシティ

リザーブドキャパシティーでは、お客様はAmazon DynamoDB Standard テーブルの単一リージョンの読み取り/書き込みキャパシティーユニットのプロビジョニングキャパシティーと比較して大幅な割引を受ける代わりに、データベースキャパシティーの 1 年間または 3 年間の予約を選べます。アプリケーションの読み取り/書き込みスループットが予測可能な場合は、リザーブドキャパシティーを検討してください。これにより、1 年間で標準的なプロビジョニングキャパシティー料金よりも最大 54%、3 年間で最大 77% 節約できます。

無料利用枠

Amazon DynamoDB では、リスクのない方法で Amazon DynamoDB の機能を体験したいとお考えの方に、充実した無料利用枠を提供しています。

AWS サービスとの統合

Amazon DynamoDB を選択することで、AWS Backup によるデータ保護など、他の AWS サービスとのさまざまな統合のメリットを享受できます。

Amazon DynamoDB Accelerator でマイクロ秒のレイテンシーを実現

Amazon DynamoDB Accelerator (DAX) は、フルマネージドのインメモリキャッシュを使用できるようにして、テーブルからの読み取りパフォーマンスを大幅に向上させる Amazon DynamoDB と互換性のあるキャッシュサービスです。DAX は、1 秒あたり 100 万単位のリクエストを処理する場合でも、最大で 10 倍の Amazon DynamoDB テーブルの読み取りパフォーマンスの向上 (ミリ秒からマイクロ秒) を実現します。DAX 機能DAX 料金の詳細をご覧ください。

Amazon Simple Storage Service (S3) からの一括インポート/エクスポート

S3 からの一括インポート/エクスポートを行うと、Amazon DynamoDB テーブルをあるアプリケーション、アカウント、またはリージョンから別のアプリケーション、アカウント、またはリージョンに移動、変換、コピーするコードを記述する必要がなくなるため、データからより多くの価値を引き出すことができます。一括インポート/エクスポートはテーブルの読み取りまたは書き込み容量を使用しないため、追加の容量を準備またはプロビジョニングする必要はありません。一括インポート/エクスポートプロセスは Amazon DynamoDB によって完全に管理されます。

S3 からの一括インポートでは、CSV、Amazon DynamoDB JSON、Amazon Ion などのサポートされている形式を使用して、メガバイトからテラバイトまで、あらゆる規模のデータをインポートできます。 S3 からの一括インポートにより、プロビジョニングされた容量を使用するクライアントベースの書き込みと比較して、お客様は最大 66% 節約できます。

S3 への一括エクスポートでは、過去 35 日間の任意の時点のポイントインタイムリカバリ (PITR) が有効になっているテーブルから、1 秒単位の精度でデータをエクスポートできます。Amazon DynamoDB から Amazon S3 にデータをエクスポートすると、Amazon Athena や Amazon SageMaker など、他の AWS サービスを使用してデータを分析し、実用的なインサイトを引き出すことができます。

Amazon DynamoDB 用の Kinesis Data Streams によって実現するアドバンストストリーミングアプリケーション

Amazon DynamoDB 用 Amazon Kinesis Data Streams は、Amazon DynamoDB テーブルの項目レベルの変更をキャプチャして、ライブダッシュボードを強化し、メトリクスを生成し、データレイクにデータを配信します。Kinesis Data Streams により、リアルタイムのログ集計、リアルタイムのビジネスアナリティクス、IoT データキャプチャなどのアドバンストストリーミングアプリケーションを構築することが可能になります。

Kinesis Data Streams を通じて、Amazon Kinesis Data Firehose を使用し Amazon DynamoDB データを Amazon S3、Amazon OpenSearch Service、Amazon Redshift などの他の AWS サービスに自動的に配信することもできます。

トリガーによる変更の追跡

Amazon DynamoDB は、AWS Lambda と統合され、トリガーを実現しています。トリガーを用いると、項目レベルの変更が Amazon DynamoDB テーブルで検出されたときに自動的にカスタム関数を実行できます。トリガーを使用すると、Amazon DynamoDB テーブル内のデータ変更に対応するイベント駆動型アプリケーションを構築できます。Lambda 関数は、通知の送信やワークフローの開始など、指定したアクションを実行できます。

Amazon Cloudwatch によるシステムパフォーマンスのモニタリングと診断

データベースのパフォーマンスを簡単にモニタリングできるように、Amazon DynamoDB は Amazon Cloudwatch と統合されています。Amazon Cloudwatch は、未加工のデータベースパフォーマンスデータを収集して処理します。Amazon CloudWatch を使用して、Amazon DynamoDB データベースのメトリクスとアラームのカスタマイズされたビューとダッシュボードを作成できます。このモニタリング機能はデフォルトで提供されており、無料です。メトリクスのパフォーマンスに基づいて自動的に送信されるアラームを作成することもできます。

Amazon CloudWatch Contributor Insights を利用すると、データベースやアプリケーションのパフォーマンスに影響を及ぼしている人や原因をすばやく特定できます。この機能により、問題の分離、診断、修正をオペレーションイベントが発生している間に簡単にすばやく行えます。

よくある質問

Amazon DynamoDB は何に使用されますか?

Amazon DynamoDB は、あらゆる規模で高性能アプリケーションを実行するために使用される NoSQL データベースです。アプリケーションが 1 桁のパフォーマンスを備えた精度の高い読み取り/書き込みスループットと、複数のリージョンにわたる無限のスケーラビリティを必要とする場合には、他に類を見ません。アプリケーションがゼロまでスケールダウンできる水平スケーリングを必要とする場合、Amazon DynamoDB は完全に自動化され、完全に管理されたエクスペリエンスを提供します。

Amazon DynamoDB にはどのような利点がありますか?

Amazon DynamoDB の特有の利点には、1 桁ミリ秒のパフォーマンスと最大 99.999% の可用性を実現する、実績のあるフルマネージド型のスケールツーゼロサーバーレスデータベースであることが挙げられます。Amazon DynamoDB は、スケールに応じた一貫したパフォーマンスを備えているため、最も厳しい要件を持つグローバルアプリケーションに必要なセキュリティ、耐久性、信頼性も組み込まれています。

その使いやすさと無限のスケーラビリティにより、Amazon DynamoDB は、新しいモダンなアプリケーションにも、無限のスケーラビリティで一貫した高速パフォーマンスを求める確立されたインターネット規模のアプリケーションにも、よく選ばれています。

Amazon DynamoDB を使用する主な利点は何ですか?

Amazon DynamoDB は完全マネージド型のサーバーレスの NoSQL データベースで、無制限のスケーラビリティ、マルチリージョンの耐障害性を実現するアクティブ/アクティブデータレプリケーションを提供し、最も要求の厳しいアプリケーションのための一貫した 1 桁ミリ秒の応答時間を実現します。Amazon DynamoDB は簡単に使い始めることができ、使い方も簡単です。

Amazon DynamoDB はサーバーレスですか?

はい、Amazon DynamoDB はサーバーレスです。サーバーを管理する必要がないため、容量のプロビジョニングやパッチ適用などのインフラストラクチャ管理タスクが不要になります。また、Amazon DynamoDB にはバージョンやアップグレードがなく、ダウンタイムなしのメンテナンスが可能です。

Amazon DynamoDB は ACID に準拠していますか?

はい。Amazon DynamoDB transactions は、単一の AWS アカウントとリージョン内の 1 つ以上のテーブルで ACID に準拠しています。そのため、単一の論理的なビジネスオペレーションの一部として、複数のアイテムへの調整された挿入、削除、または更新を必要とするアプリケーションを構築するときに、Amazon DynamoDB を使用できます。

Amazon DynamoDB にはリードレプリカがありますか?

Amazon DynamoDB は、任意の量の読み取りトラフィックに対応するように自動的にスケールアウトされるため、リードレプリカ (通常はリレーショナルデータベースの概念) は必要ありません。

Amazon DynamoDB は自動的にスケールされますか?

はい。Amazon DynamoDB はアプリケーションの要件に応じて自動的に水平方向にスケールされます。Amazon DynamoDB は自動スケーリングが可能で、ゼロまでスケーリングできるため、多くのアプリケーションに最適です。

Amazon DynamoDB の速度はどれくらいですか?

Amazon DynamoDB の応答時間は 1 桁ミリ秒で、最も要求の厳しいアプリケーションでも一貫してこのパフォーマンスを発揮できます。例を挙げると、2022 年の Amazon プライムデーに Amazon DynamoDB は、1 桁ミリ秒のパフォーマンスで、数兆回の API コールに対して 1 秒あたり 1 億 520 万件のリクエストを確実に処理しました。

Amazon DynamoDB をセットアップする方法は?

Amazon DynamoDB は開発者向けに構築されており、サーバーレスであるため、技術文書を使用して簡単にセットアップできます

ウェブページの画像
料金ページにアクセスする

Amazon DynamoDB の料金オプションをご確認ください。

詳細 
アカウントサインアップの画像
無料のアカウントにサインアップする

AWS 無料利用枠にすぐにアクセスできます。 

サインアップ 
ツールボックスの画像
コンソールで構築を開始する

AWS マネジメントコンソールで Amazon DynamoDB を使った構築を始めましょう。

サインイン