Amazon DynamoDB
Developer Guide (API Version 2012-08-10)
Next »
View the PDF for this guide.Go to the AWS Discussion Forum for this product.Go to the Kindle Store to download this guide in Kindle format.Did this page help you?  Yes | No |  Tell us about it...

What is Amazon DynamoDB?

Welcome to the Amazon DynamoDB Developer Guide. Amazon DynamoDB is a fully managed NoSQL database service that provides fast and predictable performance with seamless scalability. If you are a developer, you can use Amazon DynamoDB to create a database table that can store and retrieve any amount of data, and serve any level of request traffic. Amazon DynamoDB automatically spreads the data and traffic for the table over a sufficient number of servers to handle the request capacity specified by the customer and the amount of data stored, while maintaining consistent and fast performance. All data items are stored on Solid State Disks (SSDs) and are automatically replicated across multiple Availability Zones in a Region to provide built-in high availability and data durability.

If you are a database administrator, you can launch a new Amazon DynamoDB database table, scale up or down your request capacity for the table without downtime or performance degradation, and gain visibility into resource utilization and performance metrics, all through the AWS Management Console. With Amazon DynamoDB, you can offload the administrative burdens of operating and scaling distributed databases to AWS, so you don’t have to worry about hardware provisioning, setup and configuration, replication, software patching, or cluster scaling.

If you are a first-time user of Amazon DynamoDB, we recommend that you begin by reading the following sections:

  • What is Amazon DynamoDB—The rest of this section describes the underlying data model, the operations it supports, and the class libraries that you can use to develop applications that use Amazon DynamoDB.

  • Getting StartedThe Getting Started section walks you through the process of creating sample tables, uploading data, and performing some basic database operations.

Beyond the Getting Started section, you’ll probably want to learn more about Amazon DynamoDB operations. The following sections provide detailed information about working with Amazon DynamoDB using the AWS Software Development Kits (SDKs) for Java, Microsoft .NET, and PHP:

The AWS SDKs for Java and .NET provide an object persistence model API that you can use to map your client-side classes to Amazon DynamoDB tables. The .NET SDK also provides a helper class to further simplify your development work. For more information, including working samples, see Using the AWS SDKs with Amazon DynamoDB.

In addition to .NET, Java, and PHP, the other AWS SDKs also support Amazon DynamoDB, including Android, iOS, and Ruby. For links to the complete set of AWS SDKs, see Sample Code & Libraries.

Monitor tables using Amazon CloudWatch metrics—Amazon DynamoDB displays key operational metrics for your table in the AWS Management Console. The service also integrates with Amazon CloudWatch, so you can see your request throughput and latency for each Amazon DynamoDB table and easily track your resource consumption. For more information, see Monitoring Amazon DynamoDB Tables with Amazon CloudWatch.

Load data from Amazon DynamoDB tables into Amazon Redshift for a powerful data analysis solution. Perform complex business intelligence queries on data from DynamoDB, along with data from other sources such as Amazon S3, in a fully managed data warehouse environment. For more information, see Loading Data From Amazon DynamoDB Into Amazon Redshift.

Learn how you can use Amazon Elastic MapReduce to analyze datasets that are stored in DynamoDB and to archive the results in Amazon Simple Storage Service (Amazon S3), all while keeping the original dataset in DynamoDB intact. For more information, see Exporting, Importing, Querying, and Joining Tables in Amazon DynamoDB Using Amazon EMR.