Amazon Dynamodb Data Modeling For Architects & Developers

Posted By: ELK1nG

Amazon Dynamodb Data Modeling For Architects & Developers
Published 2/2023
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 1.65 GB | Duration: 6h 4m

Proven design patterns. best practices, tips on saving costs and more

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

Description

Note:This course does NOT use AWS console for showing you basic DynamoDB operationsThis 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 DynamoDBHow DynamoDB works under the covers?Hands-on exercises to try out the DynamoDB API(s) using CLI and Python codeFeature/capability comparison with relational databasePart-2           Objective: Learn to apply DynamoDB design patternsLearn DynamoDB data modeling processHow to apply patterns to address business requirementsAnalyze the access patterns and identify the right pattern to useHands-on exercises to build a data model for a banking use case (refer:  ACME case study)Tools in useNoSQL workbenchLocal DynamoDB for model development & testingAWS 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 machineGit clientIs this course for me?Yes - if you are an Architect responsible for designing apps on DynamoDBYes - if you are a Developer and aspiring to become an architectYes - if you are a DBA and looking to expand your skills to NoSQL databasesYes - if you are a Technologist who is curious on how DynamoDB works under the coversNo  - if you are just looking for basic how to tutorials on DynamoDBNo - if you are looking for coding DynamoDB appsCourse approachCourse 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 BankA 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 requirementsTo model the data for DynamoDBProve/Disprove that DynamoDB will meet the application needsEducate stakeholders on DynamoDB capabilitiesHelp ACME Bank CTO to make a decision on whether to use DynamoDB or not

Overview

Section 1: Introduction

Lecture 1 Introduction

Lecture 2 Course outline & How to get the most out of this course

Section 2: Tools, Local Development Environment

Lecture 3 Setup Local DynamoDB and NoSQL Workbench

Lecture 4 Exercise: NoSQL Workbench walkthrough

Lecture 5 Exercise: Use CLI, Workbench with Local Table

Lecture 6 Setup IDE and Git Repository

Section 3: Amazon DynamoDB Fundamentals

Lecture 7 DynamoDB: A Logical View

Lecture 8 Table capacity fundamentals

Lecture 9 Table capacity modes

Lecture 10 Exercise: Try out the capacity modes

Lecture 11 Item Attributes & Data Types

Lecture 12 Exercise: Create a test model

Lecture 13 DynamoDB Operations

Lecture 14 Control Plane Operations

Section 4: CRUD: Create API

Lecture 15 Writes : Under the hood

Lecture 16 API: PutItem, BatchWriteItem, Condition Expressions (7:14)

Lecture 17 Exercise: Add Items to Student Table

Section 5: CRUD: Retrieve API

Lecture 18 Reads : Under the hood

Lecture 19 API: GetItem, BatchGetItem, Scan

Lecture 20 Queries : Under the hood

Lecture 21 Queries & Key Condition Expression

Section 6: CRUD: Update & Delete API

Lecture 22 Update & Delete : Under the hood

Lecture 23 API: UpdateItem

Lecture 24 API: DeleteItem

Section 7: CRUD : PartiQL Queries

Lecture 25 CRUD : PartiQL Statements & API

Section 8: DynamoDB Secondary Indexes

Lecture 26 Indexes : Under the hood

Lecture 27 Local Secondary Index (LSI)

Lecture 28 Hands-On: Local Secondary Index

Lecture 29 Global Secondary Index (GSI)

Lecture 30 Hands-On: Global Secondary Index

Section 9: Single Table Design

Lecture 31 Single Table Vs. Multiple Table Design

Lecture 32 Single table modeling process

Section 10: Case Study : ACME Bank

Lecture 33 ACME Bank Transformation Journey

Lecture 34 ERD and Access patterns

Section 11: Modeling : Entities

Lecture 35 How to model an entity?

Lecture 36 Hands-On: Design the Customer Entity

Section 12: Modeling : Primary Keys

Lecture 37 Patterns for primary key

Lecture 38 Hands-On: Apply best practices for key

Section 13: Modeling : One to Many Relationships

Lecture 39 Patterns for one-to-many relationships

Lecture 40 Analyze : Customer-Account Relationship

Lecture 41 Hands-On: Embedding with Secondary Index

Section 14: Modeling : Secondary Indexes

Lecture 42 Hands-On: Add index for accessing customer on account

Lecture 43 Hands-On: Model the transaction entity

Lecture 44 Analysis : Taking advantage of sparse indexes

Lecture 45 Hands-On: Add a sparse index for Customer-Txns

Lecture 46 Analysis : Taking advantage of Index Overloading

Lecture 47 Hands-On: Implement Overloaded GSI for Customer & Transaction

Section 15: Modeling : Many-to-Many Relationship

Lecture 48 Adjacency List Pattern

Lecture 49 Analysis : Customer-Offer Relationship

Lecture 50 Hands-On: Apply adjacency pattern to customer-offer relationship

Section 16: Modeling : Preventing Hot Partitions

Lecture 51 Hot Partitions & Sharding patterns

Lecture 52 Hands-On : Address hot partition issue

Section 17: Modeling : Efficient Scans

Lecture 53 Hands-On: Experimenting with parallel scan

Lecture 54 Analysis : Scan Vs. GSI for for txns in date range

Section 18: ACID Transactions

Lecture 55 What are ACID Transactions?

Lecture 56 API: TransactWriteItems

Lecture 57 Hands-On: TransactWriteItems API

Lecture 58 TransactWriteItems Idempotence

Lecture 59 API : TransactGetItems

Section 19: Modeling : Transactions

Lecture 60 Hands-On : Running counters

Lecture 61 Hands-On : Credit Transactions

Lecture 62 Hands-On: Debit Transaction

Section 20: DynamoDB Streams

Lecture 63 DynamoDB Streams

Lecture 64 Shards & Stream Reader Application

Lecture 65 Hands-On: Experiment with Streams API

Lecture 66 Hands-On: Tryout API with Python

Section 21: Modeling : DynamoDB Streams

Lecture 67 Modeling : Setup daily report

Solution Architects,Cloud application Developers,Cloud Engineers,Database Administrator interested in learning NoSQL databases