Good thing we support HA as well: https://docs.pgdog.dev/features/load-balancer/
Load balancer with health checks and failover, works out of the box. :) Battle-tested at this point too, so could be worth a look.
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.
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.
loading story #48481194
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.
loading story #48481315
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.
If Dynamo is glorified MySQL then Hacker News is also glorified MySQL. The system is the whole system, not just one part of it.
That's great news! I'll bookmark this in case I'm forced to manage Postgres again.
loading story #48480647
Is a load balancer HA?
Not by itself if it's naive, but if it's able to assess target health and avoid degraded instances then it becomes a component in HA, the other being integrating an orchestrator for gracious recovery.
from their docs:
> PgDog does not detect primary failure and will not call pg_promote(). It is expected that the databases are managed externally by another tool, like Patroni or AWS RDS, which handle replica promotion.
Combined with a replication strategy and automated health checks, a load balancer could direct traffic to a healthy instance automatically.