HackerTube
HomeLongsLikedHistoryWatch laterCategoriesPlaylistsSettings

AWS re:Invent 2018: Amazon DynamoDB Deep Dive: Advanced Design Patterns for DynamoDB (DAT401)

Amazon Web Services12 HN recommenders · recommended in 9 months, 2019-2025
YouTube
468K views · 7 years ago · talk · evergreen

Rick Houlihan's AWS re:Invent 2018 deep dive on advanced DynamoDB design patterns. It covers index overloading, GSI sharding, composite keys, graph processing and transactions.

The go-to recommendation for learning DynamoDB data modeling, with many saying it made access-pattern-driven design click.

Databases & storageCloud, DevOps & reliability#dynamodb#nosql#single-tabledesign#aws#reinvent

16 comments from Hacker News

@belter2025 · in “Distributed Transactions at Scale in Amazon DynamoDB (2023)”

My name is Marco Inaros! > What kind of system/application/query pattern does DynamoDB optimize for Start here: "Real-world use cases for Amazon DynamoDB" - link > I'm legitimately ignorant and a lot of people seem to dislike it. Start here: "AWS re:Invent 2018: Amazon DynamoDB Deep Dive: Advanced Design Patterns for DynamoDB " - ▶ this video Then: "Build with DynamoDB | S1 E5 – A Data Modeling Use Case Deep Dive" - link "Model hierarchical automotive component data using Amazon DynamoDB" - link "AWS re:Invent 2024 - Advanced data modeling with Amazon DynamoDB" - link

RecommendsView on HN
@Zanfa2023 · in “How Pinterest scaled”

I think they're referring to single-table data design as described in ▶ this video It's quite clever and scales well, but completely unnecessary for the vast majority of CRUD apps.

CitesView on HN
@sass_muffin2022 · in “Some notes on DynamoDB 2022 paper”

This is the video I recommend to others when working with dynamodb. The video is by Rick Houlihan about dynamodb modeling. In my experience most developers that complain about dynamodb don't fully understand it. ▶ this video

Strongly recommendsView on HN
@ronjouch2022 · in “The DynamoDB Paper”

For explicitness & searchability, commenting with the title of this talk, which is indeed excellent , not limited to DynamoDB, and which was kind of a revelation after years of using DynamoDB suboptimally: Rick Houlihan - AWS re:Invent 2018: Amazon DynamoDB Deep Dive: Advanced Design Patterns for DynamoDB (DAT401) , ▶ this video It should be watched along with reading the associated doc: link

Strongly recommendsView on HN
@mabbo2022 · in “The DynamoDB Paper”

Rick Houlihan did a talk a few years ago about designing the data later for an application using dynamodb. The most common reaction I get from people I show it to- most of them Amazon SDEs who operate services that use Dynamodb- is "Holy shit what is this wizardry?!" ▶ this video One of the biggest mistakes people make with dynamo is thinking that it's just a relational database with no relations. It's not. It's an incredible system, but it requires a lot of deep knowledge to get the full benefits, and it requires you, often, to design your data layer very well up-front. I actually don't recommend using it for a system that hasn't mostly stabilized in design. But when used right, it's an incredibly performant beast of a data store.

Strongly recommendsView on HN
@belter2022 · in “DynamoDB 10 years later”

You never heard of Rick Houlihan? He is the 90% of DynamoDB Evangelism... At the same time you are able to this internal lookups? Do you work with DynamoDB? AWS re:Invent 2018: Amazon DynamoDB Deep Dive: Advanced Design Patterns for DynamoDB (DAT401) ▶ this video AWS re:Invent 2019: [REPEAT 1] Amazon DynamoDB deep dive: Advanced design patterns (DAT403-R1) link AWS re:Invent 2020: Amazon DynamoDB advanced design patterns – Part 1 link AWS re:Invent 2020: Amazon DynamoDB advanced design patterns – Part 2 link AWS re:Invent 2021 - DynamoDB deep dive: Advanced design patterns link Amazon DynamoDB | Office Hours with Rick Houlihan: Breaking down the design process for NoSQL applications link

CitesView on HN
@artembugara2022 · in “DynamoDB 10 years later”

We realized how great Dynamo was only after we migrated off AWS. Dynamo was a key factor to us when we were releasing the MVP of our News API [0]. We used Dynamo, ElasticSearch, Lambda and could make it running in 60 days while being full-time employed. Also, the best tech talk I saw was given by Rick Houlihan on re:Invent [1] I highly recommend every engineer to watch it: it's a great overview of SQL vs NoSQL [0] link [1] ▶ this video

Strongly recommendsView on HN
@unfunco2022 · in “DynamoDB 10 years later”

I struggled at first but I watched Advanced Design Patterns for DynamoDB[0] a few times and it clicked. As other responses have suggested, generally you define your access patterns first and then structure the data later to fit those access patterns. [0]: ▶ this video

RecommendsView on HN
@isbvhodnvemrwvn2021 · in “A minimalistic Python wrapper to AWS DynamoDB”

The issue is that the keys can be used to various extent to handle relational data (this re:Invent video shows this well: ▶ this video ). What people miss though is that in order to not shoot themselves in the foot, you have to have stable, known access patterns which meet the constraints of DynamoDB. Even the documentation of DynamoDB says so: link This means that it's a good use case for shopping cart of Amazon since there's limited innovation possible there and it fits the bill nicely, but for a new application with relational data where the requirements change all the time - it's a terrible, terrible choice for which you will pay dearly.

CitesView on HN
@forgingahead2020 · in “Building a scalable e-commerce data model”

If I may share some advice - don't bother. As another commenter pointed out, relationships are inherent in a lot of the data you'll store for your platform, and for those elements that you'd like to keep the full data hash, just use jsonb in Postgres. Once you're at several million in revenue, then you can think about splitting off some parts of your data into document storage solutions for certain efficiency reasons, but that is by no means necessary. This is a great video on the topic: ▶ this video

RecommendsView on HN
@holler2020 · in “Rules for Data Modeling with DynamoDB”

Check out this video from AWS's Principal Dynamodb expert that touches on comparisons against relation db's: ▶ this video

RecommendsView on HN
@abd122020 · in “Rules for Data Modeling with DynamoDB”

Rick has had the most-watched re:Invent talk the last three years. Here are the links for each: - 2019: link - 2018: ▶ this video - 2017: link Additional DynamoDB links here: link

CitesView on HN
@kbanman2020 · in “The good parts of AWS: a visual summary”

I've seen this done for new projects, and it works really well. If your data access patterns are truly relational (varied lookup paths) then it is probably not the right tool, but many apps can be modeled in a way that DDB handles well. Highly recommended viewing: ▶ this video this talk explains how relational data can be efficiently modeled for key-value stores.

Strongly recommendsView on HN
@tmsh2019 · in “Ask HN: Resources for Learning about Databases”

AWS re:invent 2018 talks: ▶ this video He has a sequence of 2-3 great talks on DynamoDB, the history of relational databases and the rise of access-pattern oriented db design.

Strongly recommendsView on HN
@gigatexal2019 · in “Designing database: split into different tables or group them together?”

If you go single table you can use filtered indexes if your database supports it to speed up queries instead of having to do a row by row search with a where clause. Personally this seems like a job for DynamoDB but that’s a whole beast unto itself. You must know the queries you will do to the database before hand as that guides how you craft it. There’s an amazing talk at reinvent that is given almost every year on creating a DynamoDB schema ( ▶ this video ) I would normalize as the theory says and then denormalize as performance requires it.

Strongly recommendsView on HN
@dalailambda2019 · in “Google Cloud Firestore NoSQL database is in GA”

While the move seems to be towards NewSQL databases (Spanner/CockroachDB), the answer to relations in NoSQL is to model the data differently. This can generally resolve a lot of the problems inherent in the need for relations. This might not be useful advice for everyone, but I can highly recommend this youtube video on DynamoDB data modelling: ▶ this video

RecommendsView on HN
AWS re:Invent 2019: [REPEAT 1] Amazon DynamoDB deep dive: Advanced design patterns (DAT403-R1)59:13

AWS re:Invent 2019: [REPEAT 1] Amazon DynamoDB deep dive: Advanced design patterns (DAT403-R1)

AWS Events
115K views • 6 years ago
AWS re:Invent 2018: Amazon DynamoDB Under the Hood: How We Built a Hyper-Scale Database (DAT321)53:43

AWS re:Invent 2018: Amazon DynamoDB Under the Hood: How We Built a Hyper-Scale Database (DAT321)

Amazon Web Services
112K views • 7 years ago
AWS re:Invent 2018: [REPEAT 1] A Serverless Journey: AWS Lambda Under the Hood (SRV409-R1)59:13

AWS re:Invent 2018: [REPEAT 1] A Serverless Journey: AWS Lambda Under the Hood (SRV409-R1)

Amazon Web Services
72K views • 7 years ago
Introduction to NoSQL • Martin Fowler • GOTO 201254:52

Introduction to NoSQL • Martin Fowler • GOTO 2012

GOTO Conferences
1M views • 13 years ago
Rich Hickey: Deconstructing the Database1:06:24

Rich Hickey: Deconstructing the Database

InfoQ
106K views • 14 years ago
"Turning the database inside out with Apache Samza" by Martin Kleppmann47:43

"Turning the database inside out with Apache Samza" by Martin Kleppmann

Strange Loop Conference
205K views • 12 years ago
AWS re:Invent 2014 | (SPOT302) Under the Covers of AWS: Its Core Distributed Systems46:15

AWS re:Invent 2014 | (SPOT302) Under the Covers of AWS: Its Core Distributed Systems

Amazon Web Services
10K views • 11 years ago
An Introduction to SQLite51:02

An Introduction to SQLite

Google TechTalks
80K views • 19 years ago
Thesis: Partial State in Dataflow-Based Materialized Views45:50

Thesis: Partial State in Dataflow-Based Materialized Views

Jon Gjengset
17K views • 6 years ago
AWS re:Invent 2018: Powering Next-Gen EC2 Instances: Deep Dive into the Nitro System (CMP303-R1)1:05:06

AWS re:Invent 2018: Powering Next-Gen EC2 Instances: Deep Dive into the Nitro System (CMP303-R1)

Amazon Web Services
57K views • 7 years ago
AWS re:Invent 2014: AWS Innovation at Scale with James Hamilton (SPOT301)47:51

AWS re:Invent 2014: AWS Innovation at Scale with James Hamilton (SPOT301)

Amazon Web Services
70K views • 11 years ago
How Modern SQL Databases Come up with Algorithms that You Would Have Never Dreamed Of by Lukas Eder50:31

How Modern SQL Databases Come up with Algorithms that You Would Have Never Dreamed Of by Lukas Eder

Devoxx
55K views • 9 years ago
DuckDB – The SQLite for Analytics (Mark Raasveldt, CWI)1:08:01

DuckDB – The SQLite for Analytics (Mark Raasveldt, CWI)

CMU Database Group
28K views • 6 years ago
"Datafun: a functional query language" by Michael Arntzenius42:31

"Datafun: a functional query language" by Michael Arntzenius

Strange Loop Conference
9K views • 9 years ago
Rust at speed — building a fast concurrent database52:54

Rust at speed — building a fast concurrent database

Jon Gjengset
225K views • 7 years ago
AWS re:Invent 2016: Tuesday Night Live with James Hamilton1:33:27

AWS re:Invent 2016: Tuesday Night Live with James Hamilton

Amazon Web Services
133K views • 9 years ago
The Maximal Graph - Wilker Silva39:15

The Maximal Graph - Wilker Silva

ClojureTV
8K views • 6 years ago
Lucas Cavalcanti & Edward Wible - Exploring four hidden superpowers of Datomic40:42

Lucas Cavalcanti & Edward Wible - Exploring four hidden superpowers of Datomic

ClojureTV
29K views • 11 years ago
AWS re:Invent 2020: Working backwards: Amazon’s approach to innovation17:22

AWS re:Invent 2020: Working backwards: Amazon’s approach to innovation

AWS Events
80K views • 5 years ago
SQLite: Protégé of PostgreSQL39:00

SQLite: Protégé of PostgreSQL

Andrea Ross
8K views • 12 years ago