Full Stack Radio

A podcast for developers interested in building great software products. Hosted by Adam Wathan.

139: Alex DeBrie - DynamoDB for Relational Database Diehards

In this episode, Adam is talks to Alex DeBrie about DynamoDB, and how it compares to relational databases like MySQL.

Topics include:

  • Does DynamoDB only make sense for things like your cache, or is it a good choice for a primary data store?
  • An overview of the terminology used in DynamoDB and how the terminology compares to a relational database
  • How primary keys work in DynamoDB
  • What data types are available in DynamoDB
  • How DynamoDB is a schemaless database
  • Why it's important to understand your access patterns in advance with DynamoDB, unlike in a relational database
  • Understanding why and how you usually have multiple record types in a single DynamoDB table
  • What "index overloading" is in DynamoDB
  • Understanding partition keys and sort keys
  • How to structure your data in DynamoDB to make it possible to query related data, and how those queries work
  • How secondary indexes work, allowing you to access the same data in different ways
  • How to accommodate access patterns you didn't know about before you designed your schema
  • When to flatten relationships vs. nest them
  • Should you use DynamoDB if you aren't "web-scale"?
  • How local development works with DynamoDB


Supporting the show:

I decided to stop taking sponsors for the show because I think advertisements are annoying and no one wants to listen to them.

If you do want to support the show, the best way to do it is to purchase one of my products:

  • Tailwind UI, a collection of professionally designed, fully responsive HTML components built with Tailwind CSS
  • Refactoring UI, a book and video series I put together with Steve Schoger on designing beautiful user interfaces, without relying on a designer.
  • Advanced Vue Component Design, a course on designing simpler, more flexible Vue components that are both more powerful and easier to maintain.
  • Test-Driven Laravel, a massive video course on designing robust Laravel applications with TDD. Learn how to build a real-world application from scratch without writing a single line of untested code.
  • Refactoring to Collections, a book and video course that teaches you how to apply functional programming principles to break down ugly, complex code into simple transformations — free of loops, complex conditionals, and temporary variables.