AWS DynamoDB

# Amazon DynamoDB とは
**Amazon DynamoDB デベロッパーガイド**

Amazon DynamoDB は、フルマネージドの NoSQL データベースサービスであり、高速で予測可能なパフォーマンスとシームレスな拡張性が特長です。DynamoDB を使用すると、ディストリビューションデータベースの運用とスケーリングに伴う管理作業をまかせることができるため、ハードウェアのプロビジョニング、設定と構成、レプリケーション、ソフトウェアパッチ適用、クラスタースケーリングなどを自分で行う必要はなくなります。また、DynamoDB も保管時の暗号化を提供し、機密データの保護における負担と複雑な作業を解消します。詳細については、「[保管時の DynamoDB 暗号化](https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/EncryptionAtRest.html)」を参照してください。

DynamoDB を使用して、任意の量のデータを保存および取得できるデータベーステーブルを作成し、任意のレベルのリクエストトラフィックを処理できます。ダウンタイムやパフォーマンスが低下することなく、テーブルのスループット容量をスケールアップまたはスケールダウンできます。AWS Management Console を使用して、リソースの使用率とパフォーマンスメトリクスをモニタリングできます。

DynamoDB では、オンデマンドバックアップ機能を使用できます。この機能により、テーブルの完全なバックアップを作成して、規制やコンプライアンス要件を満たすために長期間の保存とアーカイブを行うことができます。詳細については、「[DynamoDB のオンデマンドバックアップおよび復元の使用](https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/BackupRestore.html)」を参照してください。

オンデマンドバックアップを作成し、Amazon DynamoDB テーブルのポイントインタイムリカバリを有効にすることもできます。ポイントインタイムリカバリを使用することで、オペレーションによってテーブルが誤って上書きされたり削除されたりしないようにできます。ポイントインタイムリカバリを使用すれば、過去 35 日間の任意の時点にテーブルを復元することができます。詳細については、「[ポイントインタイムリカバリ: 仕組み](https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/PointInTimeRecovery_Howitworks.html)」を参照してください。

DynamoDB では、テーブルから有効期限切れの項目を自動的に削除できるため、ストレージの使用量と、関連性がなくなったデータの保存コストを削減できます。詳細については、「[DynamoDB の有効期限 (TTL) を使用して項目を有効期限切れにする](https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/TTL.html)」を参照してください。

# 高い可用性と耐久性
DynamoDB では、一貫性のある高速パフォーマンスを維持しながら、スループットとストレージの要件を処理できるように、テーブルのデータとトラフィックが十分な数のサーバーに自動的に分散されます。また、すべてのデータをソリッドステートディスク (SSD) に保存し、AWS リージョン内の複数のアベイラビリティーゾーン間で自動的にレプリケートするため、組み込みの高い可用性とデータ堅牢性が実現します。グローバルテーブルを使用して、DynamoDB テーブルを AWS リージョン間で同期させることができます。詳細については、「[グローバルテーブル – DynamoDB の複数リージョンレプリケーション](https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/GlobalTables.html)」を参照してください。

# DynamoDB の使用開始
最初に以下のセクションを読むことをお勧めします。

* **[Amazon DynamoDB: 仕組み](https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/HowItWorks.html) — DynamoDB の基本的な概念について説明します。**

* **[DynamoDB のセットアップ](https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/SettingUp.html) — DynamoDB (ダウンロード可能なバージョンまたはウェブサービス) のセットアップ方法を説明します**。

* **[DynamoDB にアクセスする](https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/AccessingDynamoDB.html) — コンソール、AWS CLI、API を使用して DynamoDB にアクセスする方法を説明します。**

**DynamoDBの使用をすばやく開始するには、[DynamoDB および AWS SDK の開始方法](https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/GettingStarted.html) を参照してください。**

アプリケーション開発の詳細については、以下を参照してください。

* **[DynamoDB と AWS SDK を使用したプログラミング](https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/Programming.html)**

* **[テーブル、項目、クエリ、スキャン、およびインデックスの使用](https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/WorkingWithDynamo.html)**

**パフォーマンスを最大にしてスループットコストを最小にするための推奨事項をすばやく確認するには、「[DynamoDB を使用した設計とアーキテクチャの設計に関するベストプラクティス](https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/best-practices.html)」を参照してください。DynamoDB リソースにタグを付ける方法については、「[リソースへのタグとラベルの追加](https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/Tagging.html)」を参照してください。**

ベストプラクティス、ハウツーガイド、およびツールについては、[Amazon DynamoDB のリソース](https://aws.amazon.com/cn/dynamodb/resources/)を参照してください。

AWS Database Migration Service (AWS DMS) を使用して、リレーショナルデータベースまたは MongoDB から DynamoDB テーブルにデータを移行できます。詳細については、[AWS Database Migration Service ユーザーガイド](https://docs.aws.amazon.com/ja_jp/dms/latest/userguide/Welcome.html)を参照してください。

MongoDB を移行ソースとして使用する方法については、[MongoDB を AWS Database Migration Service のソースとして使用する](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.MongoDB.html)を参照してください。DynamoDB を移行ターゲットとして使用する方法については、[Amazon DynamoDB データベースを AWS Database Migration Service のターゲットとして使用する](https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Target.DynamoDB.html)を参照してください。

# 参考

https://docs.aws.amazon.com/ja_jp/amazondynamodb/latest/developerguide/Introduction.html