What this book covers
Chapter 1, Amazon DynamoDB in Action, explores DynamoDB’s market position, evolution, real-world use cases, and suitability for various workloads. It prepares readers with the background and tools needed to start using DynamoDB effectively.
Chapter 2, The AWS Management Console and SDKs, builds on Chapter 1 by introducing working with DynamoDB via the AWS Management Console, exploring layout and options without programming. It covers AWS SDKs for API interaction, running code with AWS Lambda, and using DynamoDB Local for offline development.
Chapter 3, NoSQL Workbench for DynamoDB, covers the cross-platform tool for designing and managing NoSQL databases. It includes setup, navigating the interface, and modifying data models, while reserving data modeling concepts for future chapters.
Chapter 4, Simple Key-Value, is the first chapter focusing on data modeling. It introduces the key-value concept in DynamoDB, detailing how data is stored and retrieved efficiently. The chapter covers key-value mechanics, DynamoDB data types, and limitations, laying the groundwork for advanced NoSQL design.
Chapter 5, Moving from a Relational Mindset, bridges DynamoDB data modeling with concepts from Relational Database Management Systems (RDBMS). It contrasts RDBMS normalization with NoSQL denormalization, emphasizing strategies such as duplication for optimized compute and efficient data retrieval. The chapter explores when to use single versus multiple DynamoDB tables and discusses partitioning strategies and handling Large Objects (LOBs) in NoSQL.
Chapter 6, Read Consistency, Operations, and Transactions, explores DynamoDB’s read consistency models, including eventually and strongly consistent reads. It covers read operations, details ACID-compliant transactions, and provides guidance on balancing performance with cost.
Chapter 7, Vertical Partitioning, explores this advanced data modeling technique through practical examples. It covers constructing read and write operations, understanding item collections, and evaluating the benefits and limitations of vertical partitioning, helping you implement it effectively for specific access patterns. This is likely the most interesting data modeling chapter in this book!
Chapter 8, Secondary Indexes, explores how to use secondary indexes in DynamoDB to optimize data retrieval and organization. It covers creating and modeling local and global secondary indexes, handling diverse access patterns, and best practices for cost-effective indexing.
Chapter 9, Capacity Modes and Table Classes, covers DynamoDB’s two capacity modes: provisioned and on-demand. Learn to calculate and provision capacity, use auto-scaling, optimize costs with capacity reservations, and select the right table class for your needs in this chapter.
Chapter 10, Request Routers, Storage Nodes, and Other Core Components, explores DynamoDB’s fundamental architecture. Understand how core components such as request routers and storage nodes work together for efficient, reliable database performance and secure data storage in this chapter.
Chapter 11, Backup, Restore, and More, covers DynamoDB’s backup and restore features, including on-demand backups and Point-in-Time Recovery (PITR). It also explores data export/import options to and from S3, along with best practices for optimizing and securing backups.
Chapter 12, Streams and TTL, explores Change Data Capture (CDC) methods with DynamoDB Streams and Kinesis Data Streams, detailing stream records, consumers such as AWS Lambda and KCL, and cost implications. It also covers DynamoDB Time to Live (TTL) for managing DynamoDB data storage automatically.
Chapter 13, Global Tables, explores the features and benefits of DynamoDB global tables, including data replication, conflict resolution, and use cases for building highly available, fault-tolerant applications. It provides guidance on operating, managing, and troubleshooting global tables effectively.
Chapter 14, DynamoDB Accelerator (DAX) and Caching with DynamoDB, covers caching strategies and introduces DynamoDB Accelerator (DAX), which enhances performance by up to 10x. It includes setup, benefits, challenges, and comparisons with other caching alternatives.
Chapter 15, Enhanced Analytical Patterns, explores proven analytical patterns for DynamoDB data, including bulk processing and optimizations. It covers the need for analytics, best practices, and integrating services to build an effective data strategy.
Chapter 16, Migrations, provides guidance on transitioning to DynamoDB, covering signs that indicate migration needs, various migration strategies, and common challenges. Learn to identify when migration is needed and how to execute it effectively with practical advice and real-world examples.