on
Book Review: The DynamoDB Book
What it is
The DynamoDB Book, by Alex Debrie.
The Short Version
This book is excellent. It is so worth the money. Get the $80 version and then decide if you want to upgrade.
The Long Version
What and Why
This book is Alex Debrie’s crystallization of deep knowledge of DynamoDB, with a foreword by certified space wizard Rick Houlihan.
Alex has invested himself in the subject matter he is presenting here for you in great detail, and he is no doubt a more than capable guide. Open your mind and let this book lead you to that lightbulb moment. - Rick Houlihan
It’s a practical guide to DDB, NoSQL modeling in general, and the nitty-gritty of usage patterns and pitfalls for DDB. If you are a developer who has mostly lived in the RESTful relational realm, this is a great place to dive in to understanding the other side of the coin. If you are preparing for Systems Design interviews or thinking about building a data intensive app, this will give you a great home base and formidable guide to set worth with.
What is covered
There is a ton of content in here. This is a brief Table of Contents for the major material.
Structure of DDB
What are partitions and sort keys etc, how are those partitions managed on boxes, how does consistency manifest in this architecture.
NoSQL Modeling Patterns
How to handle 1-1, 1-Many, Many-Many relationship modeling under different data volatility scenarios.
Example Modeling
Alex works several examples with different data requirements to drive home his points.
Expressions
Examples and gotchas of all the major expression types:
- Key Condition Expressions
- Filter Expressions
- Projection Expressions
- Condition Expressions
- Update Expressions
Sorting and Filtering
Each of these have their own chapters of strategies.
Batches and Transactions
Some of the more recent additions to DDB, supporting multi-object operations with “all must succeed” and “as many as possible”.
Cheat Sheets
Alex does the reader a service by summarizing his own material for easy reference. Have you ever read a dense book and had to take notes to absorb the material with spaced reinforcement? This is pre-made.
JS + Python Cheatsheet
For two major languages most developers have at least heard of, the cheatsheet provides code snippets of the major operations.
Other Usage Advice
The little stuff you might stumble over unless advised otherwise is well-handled here. Things like “Filtering won’t actually save you from paginating your results, because filtering is a post-data-retrieval step, best for bandwidth control.”
Shortcomings
There are some things DDB is not designed to do well, especially in the “Volatile Many-Many relationships” space. Alex spends some time on the modeling strategies for these, but some of them, like the Materialized Graph section, are a bit brief. (Alex notes that they are niche when discussing the lack of a deeper example).
Conclusion
Read this book to be expand your potential as a developer, to understand the strengths and weaknesses of other tools, and to save yourself the heartbreak of having to learn lessons the hard way.
“Only a fool learns from his own mistakes. The wise man learns from the mistakes of others.” ― Otto von Bismarck