Video wird geladen...
Video konnte nicht geladen werden
For years, I thought DynamoDB was both brilliant and convenient. - Schemaless - Serverless - Cheap What's not to like? Well, turns out, it's only cheap for a while. And the schemaless nature of DynamoDB quickly starts working against you... One of the stupidest decisions I made. Instead, I... show more
38,322 Aufrufe • vor 2 Monaten •via X (Twitter)
37 Kommentare

📌 The other day, I dropped a video where I show you my entire self-hosted setup. - What tools I use - How I maintain it - How I handle security

old tech is the way, always

serverless is good to start off with varying range of load without worrying to much. Once it gets to enterprise level there will definitely be load every minute :) so better to use always on DB.

I wouldn't even recommend starting honestly

with agent being the primary operator. Serverless workloads is good for toy projects or agentic workloads

So glad I skipped stuff like this and used old boring tech instead. PostrgreSQL FTW.

Just migrated from DynamoDB to SQLite. That product is trash.

99% of companies, big or small, only need: Postgres + Redis

Yeah in doubt go MongoDB, that never goes wrong.

I couldn't agree more. I remember as a newbie I loved that flexibility. And then after a bit of scaling, the real charges started coming every time I needed a new query.

Yeah!

welcome to the bright side, been there done that

Absolutely. I've never understood the desire for schema-less DBs unless you are storing data which has a variable structure. As soon are you are storing standard structures (eg users, orders, projects) then use a standard DB, because they've been around for decades!

Have you tried Cockroach DB?

@GABRIELxCxR I didn't actually

You might find it interesting. Quite generous free tier and eqsy to scale without skyrocketing prices in my opinión.

@GABRIELxCxR If it's not open source and I can fully self-host it, I'm definitely not interested at all haha

That's a great phylosofy

The schemaless part is the trap. You still have a schema, it just lives scattered across your app code instead of one place you can reason about. Access patterns shift and suddenly every query is a full scan. Postgres?

dynamodb is great for getting off the ground quickly, but single-table design breaks down fast when your access patterns change. relational tech is boring for a reason - it works are you moving back to standard postgres or something like supabase for the self-hosted setup?

DynamoDB is truly one of the cheapest solutions out there, especially at scale. I run terabyte tables in prod for years and it is still one of the smallest lines in my aws bill. Can you throw some numbers?

This matches my experience. The "schemaless" framing is the trap: single-table DynamoDB has a very rigid schema, it just lives in your keys instead of the DB. When access patterns are still moving, that rigidity bites hard, and Postgres is the right call there. One push-back: self-hosting trades a predictable AWS bill for ops work (failover, backups, patching), so it's less "cheaper" than "cost moved to your own time."

Don't think DynamoDB is used for main DB, isn't it mainly used for cache, KV use cases?

Need to pick the right tool for the job. We’ve chosen Dynamo using multiple patterns across Sonos Radio, and it’s been great. Performance and reliability statistics have been the highest across their whole app ecosystem for the last 5 years while serving a massive number of users daily.

Schemaless sounds great until someone else has to maintain your data.

Yeah I was dynamoDB hater ever since we were using it for analytics at @LooopCo in 2017 and it was the most expensive item on our infra bill. When we replaced it with postgres the cost to serve same amount of data was like 1/30th

Anything serverless starts becoming really expensive as you cross a certain threshold. Its only cheap as long as you don't have scale & have minimal use.

Awesome

DynamoDB feels slick until you need real queries or any kind of relationships.

I am working on Blockchain indexing data pipelines at petabyte scale - I myself migrated tonnes of usecases from DynamoDB to Clickhouse. We saved thousands of dollars and plenty of TBs in storage costs.

At @WebinyCMS, we offer ddb-only setup for smaller projects, but for anything serious, ddb w/ OpenSearch is a must-have. But what’s interesting is that we’ve also started looking into, as you called it, the ‘boring tech’. Gonna have some new things out soooon 😇😇

And if you have high load, very tricky to handle hot Partition keys

Schemaless sounds great until three sprints in and nobody remembers what the data shape should be. Been there. We moved to Postgres and the strict schema saved us weeks of debugging.

it feels like a cheat code until you need to query something

Boring is good. Boring is stable, well documented, tested and performant. Always choose boring :)

interesting switch Havent had time to watch the full video yet Do you share details on your data models / primary sort key setup you were using on DDB? Ive managed to get a pretty wild single table setup working but I can see where I might run into issues later

Would love for you to try
