| ▲ | r7n an hour ago |
| I've extensively used Dynamo (internally at Amazon and externally) and even founded a DB startup with it at it's core. Boiling down scalability of Postgres vs Dynamo as it's written in blog is a bit terse. Dynamo scales writes horizontally with the keyspace, forever. Postgres simply can't, and no number of layers between the machines and the developer changes that. Sharding, pooling, Citus are all layered on top of an engine where a given row's writes still land on one
primary. |
|
| ▲ | cherioo 7 minutes ago | parent | next [-] |
| Except that dynamo is still just glorified mysql? https://news.ycombinator.com/item?id=18871661 I don’t think the backend matters. It’s the frontend wrapper that makes or breaks HA. |
|
| ▲ | zamalek an hour ago | parent | prev | next [-] |
| Dynamo is a fundamentally different DB to Postgres. If your problem fits into the dynamo approach (I'd argue that more problems do), then you should be using it. No all problems fit, though. |
| |
| ▲ | r7n an hour ago | parent [-] | | Agreed, my critique was about how the article frames scalability. I've yet to see an OLTP problem that can't live in something like Dynamo. KV can model anything if you put in the work, the question is how much modeling discipline you trade for the scale, and in my experience the up front work is always worth it. Most of the time operational issues are swept under the rug and not consider tech debt. Take for example AuroraDB: the sheer engineering it took to make SQL do scalable OLTP at all tells you how much that flexibility actually costs to keep. |
|
|
| ▲ | jsw an hour ago | parent | prev [-] |
| Curious how the DB startup with Dynamo at its core went. We use it heavily. The primary tricky thing for us at the moment is aligning pricing with workload value. |
| |
| ▲ | r7n an hour ago | parent [-] | | We obsessed over optimizations and pushing the apis to the limits of how we could pack it. So much so, we re-wrote the DynamoSDK to squeeze out more optimizations so we could be the same cost even though we were a layer in front of dynamo. We used key encoding and other various technique as well as managed capacity (on demand vs reserved) to transparently optimize workloads for price. In our experience we saw dramatic gains vs just vanilla SDK usage. If you're curious, here was the marketing website, but we're now part of Databricks: https://stately.cloud/ | | |
| ▲ | jsw an hour ago | parent [-] | | Interesting! We interact with the low-level APIs too vs the SDK, also: an IO scheduler for request batching and conn management, request hedging, full MVCC transactions, etc. We store raw bytes in DDB and manage schema/etc elsewhere. Curious if there is other low-hanging fruit, or not so low, you found that we haven't discovered yet. |
|
|