139: Alex DeBrie - DynamoDB for Relational Database Diehards
Episode
58 min
Read time
2 min
Topics
Design & UX, Software Development, Science & Discovery
AI-Generated Summary
Key Takeaways
- ✓Single-table design: Store multiple entity types (customers, orders, order items) in one table using generic attribute names like PK and SK, with type prefixes (CUSTOMER#, ORDER#) to enable efficient queries within partition boundaries.
- ✓Composite primary keys: Use partition key to locate data across shards and sort key to organize items alphabetically within partitions, enabling range queries like fetching a customer plus their 10 most recent orders in one request.
- ✓Access pattern planning: Design table structure before implementation by listing all query patterns upfront, then arrange data to satisfy those patterns, since DynamoDB cannot perform joins or query arbitrary attributes without secondary indexes.
- ✓Pagination strategy: Implement cursor-based pagination using last-seen item identifiers in query parameters (like GitHub's after=commit-hash approach) rather than page numbers, since DynamoDB does not support offset-based queries across partitions efficiently.
What It Covers
Alex DeBrie explains DynamoDB architecture, data modeling, and query patterns for developers with relational database backgrounds, covering partition keys, sort keys, single-table design, secondary indexes, and serverless integration strategies.
Key Questions Answered
- •Single-table design: Store multiple entity types (customers, orders, order items) in one table using generic attribute names like PK and SK, with type prefixes (CUSTOMER#, ORDER#) to enable efficient queries within partition boundaries.
- •Composite primary keys: Use partition key to locate data across shards and sort key to organize items alphabetically within partitions, enabling range queries like fetching a customer plus their 10 most recent orders in one request.
- •Access pattern planning: Design table structure before implementation by listing all query patterns upfront, then arrange data to satisfy those patterns, since DynamoDB cannot perform joins or query arbitrary attributes without secondary indexes.
- •Pagination strategy: Implement cursor-based pagination using last-seen item identifiers in query parameters (like GitHub's after=commit-hash approach) rather than page numbers, since DynamoDB does not support offset-based queries across partitions efficiently.
Notable Moment
Amazon requires all tier-one services (those whose downtime costs money) to use DynamoDB exclusively, demonstrating how the retail giant handles complex relational models like shopping carts and customer data at massive scale without traditional databases.
Episode Transcript
In this episode of Fullstack Radio, I talked to Alex Debris all about DynamoDB from a relational database developers point of view. This is Fullstack Radio episode one thirty nine. You came on my radar because I was tweeting, maybe a couple weeks ago about basically wondering, like, what people are doing for, building applications with kind of non relational databases these days. I know, like, MongoDB has been popular for a long time, but you also hear horror stories about that and stuff as well. But me, personally, my background is just in old school traditional relational databases, you know, MySQL and Post gres, and that's all I really know how to build an application with. So, I've been getting into, like, serverless technologies and stuff a lot lately, and one of the sort of obstacles with that is there's not a lot of good relational database options if you want to deploy something serverless and you, don't wanna have to worry about running into the connection limits and weird stuff like that. All the databases that are sort of designed for handling that sort of thing are stuff like Dynamo or like Fauna DB or a lot of these other alternatives that aren't kind of built with, like, a traditional SQL sort of API. So, you were recommended as someone to to talk to you about this stuff, and I know you just put out a like, the bible on Dynamo DB a few weeks ago. So I thought it would be fun to to chat about that and learn about this technology from, you know, a total beginner's perspective, basically, who only knows the the relational world. How's that sound? Yep. That sounds great. That sounds great. I'm excited. So I guess maybe the, best place to start would be, how do you describe what DynamoDB even is? If someone was just gonna ask you, like, what is this thing for? What do you use it for? Yep. Sure. So it's a NoSQL database like you were saying and and that's not super descriptive because it basically just says what it isn't. Right? It's it's, like, not a relational database that that uses SQL. But you saw a lot of these sort of NoSQL databases popping up in the last ten or fifteen years. And one common thing about all these relational databases is, they were they were built for, like, larger scale, you know, like, as as these sort of, Internet enabled platforms are happening where you have, like, thousands or millions of of users around the world. You're finding out that, like, the single instance relational database just wasn't keeping up, as well. So police have started building these NoSQL databases. And I think one thing that's in common with most of these NoSQL databases is that they they shard your data across multiple instances. So rather than having, like, this one monolithic database, you know, your your MySQL instance, your Postgres instance, you'll have, …
Get the full transcript (12,493 words) + summary by email — free
One-time email with the complete transcript and AI summary of this episode. No account needed.
One email, no spam. We’ll also show you what SignalCast does.
You just read a 3-minute summary of a 55-minute episode.
Get Full Stack Radio summarized like this every Monday — plus up to 2 more podcasts, free.
Pick Your Podcasts — FreeKeep Reading
More from Full Stack Radio
153: DHH – Omarchy and Designing Your Own OS on Arch Linux
Aug 21 · 76 min
a16z Podcast
Building Search for AI Agents with Exa CEO Will Bryk
Jun 6
More from Full Stack Radio
152: Ben Orenstein - How to Stand Out When Applying for a Job at a Small Company
Jan 28 · 47 min
The TWIML AI Podcast
How AI Learns to Smell with Alex Wiltschko - #771
Jul 8
More from Full Stack Radio
We summarize every new episode. Want them in your inbox?
153: DHH – Omarchy and Designing Your Own OS on Arch Linux
152: Ben Orenstein - How to Stand Out When Applying for a Job at a Small Company
151: DHH – Building HEY with Hotwire
150: Secret Screencasting Tips & Behind the Scenes of Tailwind CSS 2.0
149: Choosing a Payment Processor, Radical Icons & W3C Hype
Similar Episodes
Related episodes from other podcasts
a16z Podcast
Jun 6
Building Search for AI Agents with Exa CEO Will Bryk
The TWIML AI Podcast
Jul 8
How AI Learns to Smell with Alex Wiltschko - #771
Eye on AI
Jul 2
AI Agents Are Failing and It's Almost Never the Model's Fault | Alberto Pan, Denodo
Latent Space
Jun 17
🔬 The Self-Driving Lab — Joseph Krause, Radical AI
The Jordan Harbinger Show
May 28
1334: Justin Garcia | Why We Live, Cheat, Break, and Die for Love
Explore Related Topics
This podcast is featured in Best Cybersecurity Podcasts (2026) — ranked and reviewed with AI summaries.
Read this week's Software Engineering Podcast Insights — cross-podcast analysis updated weekly.
You're clearly into Full Stack Radio.
Every Monday, we deliver AI summaries of the latest episodes from Full Stack Radio and 192+ other podcasts. Free for one show.
Start My Monday DigestNo credit card · Unsubscribe anytime