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:

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