In this tutorial, you will learn how to create a simple table, add data, scan and query the data, delete data, and delete the table by using the DynamoDB console. DynamoDB is a fully managed NoSQL database that supports both document and key-value store models. Its flexible data model, reliable performance, and automatic scaling of throughput capacity make it a great fit for mobile, web, gaming, ad tech, IoT, and many other applications.
Everything done in this tutorial is free-tier eligible.
In this step, you will use the DynamoDB console to create a table.
a. In the DynamoDB console, choose Create table.
b. We will use a music library as our use case for this tutorial. In the Table name box, type Music.
c. The partition key is used to spread data across partitions for scalability. It’s important to choose an attribute with a wide range of values and that is likely to have evenly distributed access patterns. Type Artist in the Partition key box.
d. Because each artist may write many songs, you can enable easy sorting with a sort key. Select the Add sort key check box. Type songTitle in the Add sort key box.
e. Next, you will enable DynamoDB auto scaling for your table.
DynamoDB auto scaling will change the read and write capacity of your table based on request volume. Using an AWS Identity and Access Management (AWS IAM) role called DynamoDBAutoscaleRole, DynamoDB will manage the auto scaling process on your behalf. DynamoDB creates this role for you the first time you enable auto scaling in an account.
Instruct DynamoDB to create the role by clearing the Use default settings check box.
f. Scroll down the screen past Secondary indexes, Provisioned capacity, and Auto Scaling to the Create button. We won't change these settings for the tutorial.
In the Auto Scaling section, notice that DynamoDB will create the DynamoDBAutoscaleRole role for you.
When the Music table is ready to use, it appears in the table list with a
Congratulations! You have created a NoSQL table using the DynamoDB console.
In this step, you will add data to your new DynamoDB table.
a. Select the Items tab. On the Items tab, choose Create
b. In the data entry window, type the following:
- For the Artist attribute, type No One You Know.
- For the
songTitleattribute, type Call Me Today.
Choose Save to save the item.
c. Repeat the process to add a few more items to your Music table:
- Artist: No One You Know; songTitle: My Dog Spot
- Artist: No One You Know; songTitle: Somewhere Down The Road
- Artist: The Acme Band; songTitle: Still in Love
- Artist: The Acme Band; songTitle: Look Out, World
In this step, you will search for data in the table using query operations. In DynamoDB, query operations are efficient and use keys to find data. Scan operations traverse the entire table.
a. In the drop-down list in the dark gray banner above the items, change Scan to Query.
b. You can use the console to query the Music table in various ways. For your first query, do the following:
- In the Artist box, type No One You Know, and choose Start search. All songs performed by No One You Know are displayed.
Try another query:
- In the Artist box, type The Acme Band, and choose Start search. All songs performed by The Acme Band are displayed.
c. Try another query, but this time
- In the Artist box, type The Acme Band.
- In the songTitle box, select Begins with from the drop-down list and type S.
- Choose Start search. Only "Still in Love" performed by The Acme Band is displayed.
In this step, you will delete an item from your DynamoDB table.
a. Change the Query drop-down list back to Scan.
In this step, you will delete your DynamoDB table.
a. You can easily delete a table from the DynamoDB console. It is a best practice to delete tables you are no longer using so that you don’t keep getting charged for them.
- In the DynamoDB console, choose the option next to the Music table and then choose Delete table.
- In the confirmation dialog box, choose Delete.
You have created your first DynamoDB table, added items to your table, and then queried the table to find the items you wanted. You also learned how to visually manage your DynamoDB tables and items through the AWS Management Console.
DynamoDB is a great fit for mobile, web, gaming, ad tech, and IoT applications where scalability, throughput, and reliable performance are key considerations.