In this lab, you learn advanced data modeling patterns in Amazon DynamoDB while building a DynamoDB-backed mobile application. When using DynamoDB, it is important to consider how you will access your data (your access patterns) before you model your data. To learn these patterns, you build the data model for an example mobile application that includes a social network. You will learn how to design your data model in DynamoDB to achieve fast, consistent performance.

This lab assumes familiarity with basic DynamoDB concepts such as tables, items, primary keys, and secondary indexes. If you are unfamiliar with these concepts, see our lab about how to Create and Manage a Nonrelational Database with Amazon DynamoDB.

DynamoDB is a popular choice for mobile applications because it is designed for high-scale use cases where consistent performance is critical as an application grows.

Some of the key reasons to use DynamoDB for your mobile application are:

  • Scalability: DynamoDB has no performance degradation as you scale to terabytes of data and beyond.
  • A simple, REST-based API: DynamoDB is accessible over HTTP(S) and uses AWS Identity and Access Management (IAM) for authentication.
  • Fully-managed: You don’t need to manage servers and apply patches to infrastructure. DynamoDB handles upgrades, backups, and other administrative tasks so that you can focus on developing your application.

AWS Experience: Intermediate

Time to complete: 180 minutes

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

Technologies used:

• Active AWS Account**
• Browser: AWS recommends Chrome
• Amazon DynamoDB
• Amazon Cloud9
• AWS SDK for Python (Boto3)

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

**Accounts that have been created within the last 24 hours might not yet have access to the resources required for this project.