1: Amazon DynamoDB Data Modeling for Architects and Developers
Proven design patterns. best practices, tips on saving costs and more
Note:
-
This course does NOT use AWS console for showing you basic DynamoDB operations
-
This course does NOT focus on just coding
This course primarily focusses on Data Modeling practices and patterns for Amazon DynamoDB. You will also learn DynamoDB best practices, tips and techniques for building modern and cost effective applications/microservices. At a high level, course is divided into 2 parts:
Part-1 Objective: Build a solid understanding of DynamoDB
-
How DynamoDB works under the covers?
-
Hands-on exercises to try out the DynamoDB API(s) using CLI and Python code
-
Feature/capability comparison with relational database
Part-2 Objective: Learn to apply DynamoDB design patterns
-
Learn DynamoDB data modeling process
-
How to apply patterns to address business requirements
-
Analyze the access patterns and identify the right pattern to use
-
Hands-on exercises to build a data model for a banking use case (refer: ACME case study)
Tools in use
-
NoSQL workbench
-
Local DynamoDB for model development and testing
-
AWS cloud account for testing (minimal use)
-
An integrated development environment (like Visual Studio Code)
-
Python - if you would like to run the code samples on your machine
-
Git client
Amazon DynamoDB Data Modeling for Architects and Developers | Udemy
Is this course for me?
Yes - if you are an Architect responsible for designing apps on DynamoDB
Yes - if you are a Developer and aspiring to become an architect
Yes - if you are a DBA and looking to expand your skills to NoSQL databases
Yes - if you are a Technologist who is curious on how DynamoDB works under the covers
No - if you are just looking for basic how to tutorials on DynamoDB
No - if you are looking for coding DynamoDB apps
Course approach
Course does not assume that you already know DynamoDB. For that reasons, I am first covering the basics of DynamoDB. But unlike other courses, I will not just show you how-to use DynamoDB rather I will show you how DynamoDB works under the covers !! I strongly believe that to effectively use a database, an architect MUST understand how database technology works under the covers.
Data modeling is an iterative process. I am sharing a prescriptive guidance on the process and then showing step-by-step how to apply the process. As a case study I am using an example of ACME bank (a fictitious retail bank). Throughout the course we will be applying the process to ACME bank use cases to evolve a full blown DynamoDB data model.
Amazon DynamoDB Data Modeling for Architects and Developers | Udemy
Case study : ACME Bank
A fictitious bank that has embarked on a journey to modernize its retail banking systems. You are the Lead Architect for the retail banking modernization initiative. It is your responsibility:
-
To work with business owners to understand the requirements
-
To model the data for DynamoDB
-
Prove/Disprove that DynamoDB will meet the application needs
-
Educate stakeholders on DynamoDB capabilities
-
Help ACME Bank CTO to make a decision on whether to use DynamoDB or not
Who this course is for:
- Solution Architects
- Cloud application Developers
- Cloud Engineers
- Database Administrator interested in learning NoSQL databases
What you'll learn
- Use DynamoDB Data Modeling patterns
- Apply Best DynamoDB practices
- Leverage the right DynamoDb features in their applications
- Analyze use cases for DynamoDB
Requirements
- NO programming experience
- Some experience with AWS Cloud
- Knowledge of any database
- A decent machine with internet connectivity
- An AWS account for some of the exercises
DynamoDB supports both key-value and document data models. This enables DynamoDB to have a flexible schema, so each row can have any number of columns at any point in time.
At a high level, Amazon DynamoDB is designed for high availability, durability, and consistently low latency (typically in the single digit milliseconds) performance. Amazon DynamoDB runs on a fleet of AWS managed servers that leverage solid state drives (SSDs) to create an optimized, high-density storage platform.
Amazon DynamoDB Data Modeling for Architects and Developers | Udemy
Amazon DynamoDB is a fully managed NoSQL database service that provides fast and predictable performance with seamless scalability. You can use Amazon DynamoDB to create a database table that can store and retrieve any amount of data, and serve any level of request traffic.
- Open NoSQL Workbench, and in the navigation pane on the left side, choose the Data modeler icon.
- Choose Create data model. ...
- With the model created, choose Add table. ...
- Specify the following: ...
- To add other attributes, do the following for each attribute: ...
- Add a facet:
In DynamoDB, tables, items and attributes are the core components that you work with. Simply put, a table is a collection of items and each item is a collection of attributes. DynamoDB uses primary keys to uniquely identify each item in a table and secondary indexes to provide more querying flexibility.
INSTRUCTOR
Rajeev Sakhuja