Proven design patterns. best practices, tips on saving costs and more
Note:
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.
Course Content
- Introduction –> 2 lectures • 6min.
- Tools, Local Development Environment –> 4 lectures • 16min.
- Amazon DynamoDB Fundamentals –> 8 lectures • 46min.
- CRUD: Create API –> 3 lectures • 15min.
- CRUD: Retrieve API –> 4 lectures • 28min.
- CRUD: Update & Delete API –> 3 lectures • 10min.
- CRUD : PartiQL Queries –> 1 lecture • 8min.
- DynamoDB Secondary Indexes –> 5 lectures • 32min.
- Single Table Design –> 2 lectures • 12min.
- Case Study : ACME Bank –> 2 lectures • 7min.
- Modeling : Entities –> 2 lectures • 12min.
- Modeling : Primary Keys –> 2 lectures • 15min.
- Modeling : One to Many Relationships –> 3 lectures • 17min.
- Modeling : Secondary Indexes –> 6 lectures • 27min.
- Modeling : Many-to-Many Relationship –> 3 lectures • 14min.
- Modeling : Preventing Hot Partitions –> 2 lectures • 14min.
- Modeling : Efficient Scans –> 2 lectures • 11min.
- ACID Transactions –> 5 lectures • 28min.
- Modeling : Transactions –> 3 lectures • 18min.
- DynamoDB Streams –> 4 lectures • 22min.
- Modeling : DynamoDB Streams –> 1 lecture • 9min.
Requirements
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 & 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
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.
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