DynamoDB’s Hard Lessons, Packaged
Rick Houlihan’s re:Invent 2018 talk on DynamoDB advanced design patterns was a wake-up call for many developers. It introduced the core concepts of single-table design and exposed how much of the database’s real power was tucked away in patterns most people had never seen. For anyone who came to DynamoDB through serverless, that talk made one thing clear: knowing how to store and retrieve items is not the same as knowing how to model data.
Alex DeBrie has turned his own journey through that learning curve into The DynamoDB Book, a self-published guide that tackles the data modeling side of DynamoDB head-on. It is not sold through the usual channels like Amazon; instead, DeBrie sells it in packages directly via Gumroad. The options are tiered: a Basic package at $79 includes the core 450-page book and six cheatsheets; Plus at $129 adds 120 pages of supplemental Analytics and Operations guides along with five deployable code implementations; Premium at $249 includes video walkthroughs for each chapter. There is also a team license. The code HIGHSCALABILITY takes $20, $30, or $50 off the respective package prices.
The content covers the strategies and patterns that matter in DynamoDB, including handling one-to-many and many-to-many relationships and implementing aggregations. It includes full walkthroughs that tackle real-world domains such as e-commerce and session storage across JavaScript and Node.js. DeBrie’s approach is less academic and more practical, with emphasis on working code—something that has often been missing from DynamoDB discussions, which frequently fall back on command-line examples rather than complete implementations.
The Case for DynamoDB
DeBrie is upfront about why he prefers DynamoDB to traditional relational databases. The pricing model, for one, is tied to read and write operations rather than guessing about how your application’s usage will map to CPU and RAM. DynamoDB even supports a fully pay-per-use billing tier, which he points out is unusual among databases. The operational model also sits neatly inside AWS’s tooling: you provision it with infrastructure-as-code, manage permissions with IAM, and use the standard AWS SDKs to work with it.
Serverless is a big part of the appeal too. Traditional databases were not built for thousands of short-lived compute instances opening connections and vanishing. DynamoDB, by contrast, handles those workloads well. And because DynamoDB will not permit queries that don’t scale, DeBrie suggests that if a query is efficient today with a gigabyte of data, it continues to be efficient when you are holding ten terabytes.
Mainstreaming Single-Table Design
DeBrie’s own moment of revelation came in late 2017, on a commute to work, listening to a Rick Houlihan talk from re:Invent. After about twenty minutes of nodding along, he became convinced there had been some mistake. Storing every item type in a single table seemed absurd. Rewatching the video confirmed otherwise—everything he thought he knew was wrong. He watched that session roughly ten times in the week between Christmas and New Year’s, then wrote up his notes, which became DynamoDBGuide.com.
That “ah-ha” moment points to a broader frustration DeBrie addresses: DynamoDB design has often felt ad hoc, and patterns they arrive at feel like conventions encoded by hand rather than first-class parts of the system. He is more optimistic about that changing than he once was. Interest is growing both because of Houlihan’s evangelism and because serverless has brought more developers to DynamoDB. One of the book’s aims, he says, is to build a shared language and standardized approaches to common data modeling challenges. While DynamoDB will never become as formalized as relational modeling, better and more widespread education will make it less of a leap.
That pragmatic view extends to tradeoffs users inevitably run into. Aggregations are a good example. An unbounded select count(*) that works wonders on a test environment is a looming performance problem on production-size data. Implementing counts in a Lambda function or incrementing a counter at write time is more work, but it scales without degradation. It is a tradeoff DeBrie says he will make willingly.
Publishing From the Trenches
DeBrie credits a strategy he adapted from Adam Wathan’s first book launch and a two-year effort of engaging with the DynamoDB community before anyone ever paid for anything. The distribution step, he explains, is what separates self-publishing from traditional outlets like O’Reilly, and it will largely determine whether a self-published work takes off.
He shares financial results despite visible discomfort, noting that real numbers from others were motivating when he was writing. The book sold just over $80,000 in its first four days during the launch discount window, and was approaching $110,000 two weeks after release. His advice for would-be authors: make the best content you can, since word of mouth and reviews will carry the book after the initial push, and offer tiered packages so people can self-select out based on what they value—video lessons versus code versus printed material, for example.
The Future of NoSQL
On the wider database landscape, DeBrie doesn’t expect the fundamental tradeoff to vanish. Between the flexibility of relational databases that allow ad hoc queries and the performance of NoSQL requires up-front modeling, he sees no great reconciliation in the next five years. Relational databases will keep improving on hardware and design, and true serverless-compatible relational options are only beginning to emerge.
But he remains convinced that the #1 one blocker to NoSQL adoption is simply education. People understand the relational model well; NoSQL learning materials have lagged behind. He runs through a few thought exercises about migration risk—what happens when you need to restructure data, perhaps using Lambda and streams or EMR jobs—and concludes that proper data modeling makes migrations far less painful than critics assume. His own designs rely on generic attribute names, overloaded keys, and well-chosen secondary indexes, which simplify scans and data decoration. Once you have done it a few times, he says, migrations become a single familiar pattern.
Between the practical model of his self-publishing effort, the focus on real code, and the patterns he lays out, DeBrie’s book is positioned as a resource for developers who want to move beyond “friendlier documentation” and into data modeling that is deliberate and reproducible.



