This concise DynamoDB companion guide is built on the content used in a video course DynamoDB Data Modeling for Architects & Developers by Raj@ACloudFan.com
Course details
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.
This course does NOT use AWS console for showing you basic DynamoDB operations
This course does NOT focus on just coding
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
if you are a Developer and aspiring to become an architect
if you are a DBA and looking to expand your skills to NoSQL databases
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
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