In this lab, you learn advanced data modeling patterns in Amazon DynamoDB. When using DynamoDB, it is important to consider how you will access your data (your access patterns) before you model your data. We walk through an example multiplayer game, discuss the access patterns in the game, and show how to design a DynamoDB table to handle the access patterns by using secondary indexes and transactions.

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 database service for games 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 game are:

  • Scalability: DynamoDB scales to more than 100 TB with no performance degradation.
  • 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 game.

AWS Experience: Intermediate

Time to complete: 120 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.