Create and Manage a Nonrelational Database

with Amazon DynamoDB

Introduction: Create and Manage a Nonrelational Database

Follow step-by-step instructions to create a DynamoDB table and use the table to store and retrieve data


In this tutorial, you create a DynamoDB table and use the table to store and retrieve data. You use Python and Boto 3, the AWS SDK for Python, for interacting with the DynamoDB APIs. You also learn a few key ways that DynamoDB (a nonrelational database) differs from traditional relational databases. The tutorial uses an online bookstore application as a guiding example.

Why this matters

You should understand how to model your data to fit both your application’s data access patterns and your database’s underlying model. When architecting a new application, you want to know that your database choice can handle the increased load from additional usage of your application.

DynamoDB provides low-latency performance with near-infinite scaling, so you do not need to worry about performance bottlenecks as your application grows. DynamoDB is accessible over an HTTP API or an HTTPS endpoint, providing a simple, secure interaction model with your database. Finally, DynamoDB is a NoSQL database, allowing for flexible schema design that can evolve with your application.

 AWS experience


 Time to complete

~90 minutes

 Cost to complete

This tutorial will cost you less than $2 (assuming all services are running for 2 hours)*

*This estimate assumes you follow the recommended configurations throughout the tutorial and terminate all resources within 2 hours.


Active AWS account**
Browser, preferably Chrome
**Accounts that have been created within the last 24 hours might not yet have access to the resources required for this project.

 Last updated

February 7, 2023


This tutorial is divided into five short modules. You must complete each module in order before moving on to the next one.

  1. Application Background (15 minutes): Learn about the application background.
  2. Inserting and Retrieving Data (15 minutes): Walk through some simple examples of inserting and retrieving data with DynamoDB.
  3. Querying and Global Secondary Indexes (15 minutes): Walk through some simple examples of retrieving multiple items in one API call with DynamoDB.
  4. Updating Items (15 minutes): Use the UpdateItem API to update attributes of an existing item in our database.
  5. Clean Up and Next Steps (15 minutes): Clean up the resources created in this project.

Was this page helpful?

Application Background