Using DynamoDB in Your Application

The course is part of these learning paths

DevOps Engineer – Professional Certification Preparation for AWS
course-steps 35 certification 5 lab-steps 17 quiz-steps 2 description 3
Working with AWS Databases
course-steps 4 certification 2 lab-steps 4
Certified Developer – Associate Certification Preparation for AWS
course-steps 27 certification 5 lab-steps 22 description 2
AWS Big Data – Specialty Certification Preparation for AWS
course-steps 14 certification 1 lab-steps 4 quiz-steps 4
Serverless Computing on AWS for Developers
course-steps 12 certification 1 lab-steps 8
more_horiz See 3 more
play-arrow
Start course
Overview
DifficultyIntermediate
Duration1h 32m
Students8727

Description

Course Description

This course provides an introduction to working with Amazon DynamoDB, a fully-managed NoSQL database service provided by Amazon Web Services. We begin with a description of DynamoDB and compare it to other database platforms. The course continues by walking you through designing tables, and reading and writing data, which is somewhat different than other databases you may be familiar with. We conclude with more advanced topics including secondary indexes and how DynamoDB handles very large tables.

Course Objectives

You will gain the following skills by completing this course:

  • How to create DynamoDB tables.
  • How to read and write data.
  • How to use queries and scans.
  • How to create and query secondary indexes.
  • How to work with large tables. 

Intended Audience

You should take this course if you have:

  • An understanding of basic AWS technical fundamentals.
  • Awareness of basic database concepts, such as tables, rows, indexes, and queries.
  • A basic understanding of computer programming. The course includes some programming examples in Python.

Prerequisites 

See the Intended Audience section.

This Course Includes

  • Expert-guided lectures about Amazon DynamoDB.
  • 1 hour and 31 minutes of high-definition video. 
  • Expert-level instruction from an industry veteran. 

What You'll Learn

Video Lecture What You'll Learn
DynamoDB Basics A basic and foundational overview of DynamoDB.
Creating DynamoDB Tables How to create DynamoDB tables and understand key concepts.
Reading and Writing Data How to use the AWS Console and API to read and write data.
Queries and Scans How to use queries and scans with the AWS Console and API.
Secondary Indexes How to work with Secondary Indexes.
Working with Large Tables How to use partitioning in large tables.

If you have thoughts or suggestions for this course, please contact Cloud Academy at support@cloudacademy.com.

Transcript

I've mentioned the DynamoDB API a few times in this series. This lecture will go into more detail on what that actually means, and how you can integrate DynamoDB into your application code.

There are two ways you can interact with DynamoDB. You can use the Amazon Web Services web console, which provides a graphical interface for administering DynamoDB tables, looking at the data in your tables, and adding and modifying your data. You can also write code which interacts with DynamoDB programmatically. This course will show examples of working with DynamoDB using both approaches.

Your software interacts with DynamoDB using its application programming interface, or API. The API is organized as a set of remote procedure calls or different operations that you can execute on your DynamoDB data. Each operation has a name like CreateTable, a set of parameters that are required like the name of the table to be created, and a set of outputs that are sent back in the response like whether this operation was successful. Amazon provides comprehensive documentation about all of the API methods for DynamoDB on the web, and you can also download them as a PDF.

There are 13 different methods for the DynamoDB API, which can be broken down into 3 categories. The first methods are for managing the tables in your DynamoDB account. There are methods for understanding what tables you have in your account like ListTables and DescribeTable, and methods for making changes to your tables like CreateTable, UpdateTable, and DeleteTable. There are four methods for reading data, GetItem and BatchGetItem, for reading single records by their ID or primary key, and Query [[00:02:00]] and Scan for reading many records using an index. There are four methods for modifying data, PutItem to store a single new record, UpdateItem and DeleteItem to modify or delete a single record, and BatchWriteItem to make many changes at once.

The DynamoDB API is actually a set of HTTP endpoints. This is why it's referred to as a web service. When you make an API call, you are actually making an HTTP request with very specific parameters in a very specific structure. The request has a signature, which is how Amazon authenticates that the call was made by a user with the appropriate permissions. If you call the DescribeTable API method, this is what the HTTP request actually looks like as it goes over the network, and this is what the response looks like.

Fortunately, you probably won't have to work with these HTTP requests and responses directly. There are libraries for most popular programming languages, which make it easy to make calls to the various Amazon Web Services APIs. Amazon provides libraries and software development kits for many common platforms, including Java, .NET, PHP, Python, Ruby, Go, C++, and for mobile development using Android or iOS.

In the examples in this course, we will be working with the Python programming language and the most recent SDK provided by Amazon for Python called Boto3. Don't worry if you have never used Python before. The examples should be very easy to understand. Boto3 code looks very similar to the raw API calls, so these examples should be helpful no matter what language you will be using yourself.

About the Author

Ryan is the Storage Operations Manager at Slack, a messaging app for teams. He leads the technical operations for Slack's database and search technologies, which use Amazon Web Services for global reach.

Prior to Slack, Ryan led technical operations at Pinterest, one of the fastest-growing social networks in recent memory, and at Runscope, a debugging and testing service for APIs.

Ryan has spoken about patterns for modern application design at conferences including Amazon Web Services re:Invent and O'Reilly Fluent. He has also been a mentor for companies participating in the 500 Startups incubator.