PostgreSQL High Availability Solutions – Part 1: Jepsen Test and Patroni
1–10 of 43 posts
Re: PostgreSQL High Availability Solutions – Part 1: Jepsen Test and Patroni
#2This sounds like the two generals problem, which has no solution. But I may be misunderstanding.
Re: PostgreSQL High Availability Solutions – Part 1: Jepsen Test and Patroni
#3Re: PostgreSQL High Availability Solutions – Part 1: Jepsen Test and Patroni
#4Re: PostgreSQL High Availability Solutions – Part 1: Jepsen Test and Patroni
#5> If the PostgreSQL backend is cancelled while waiting to acknowledge replication (as a result of packet cancellation due to client timeout or backend failure) transaction changes become visible for other backends. Such changes are not yet replicated and may be lost in case of standby promotion. This sounds like the two generals problem, which has no solution. But I may be misunderstanding.
Re: PostgreSQL High Availability Solutions – Part 1: Jepsen Test and Patroni
#6It seems like a compelling option:
* Much closer to Postgres compatibility than CockroachDB.
* A more permissive license.
* Built-in connection manager [1], which should simplify deployment.
* Supports both high availability and geo-distribution, which is useful if scaling globally becomes necessary later.
That said, I don't see it mentioned around here often. I wonder if anyone here has tried it and can comment on it.
--
1: https://docs.yugabyte.com/preview/explore/going-beyond-sql/c...
Re: PostgreSQL High Availability Solutions – Part 1: Jepsen Test and Patroni
#7Re: PostgreSQL High Availability Solutions – Part 1: Jepsen Test and Patroni
#8I'm currently looking for similar info but for MySQL/MariaDB for an IoT side project ... any suggestions?
There are also solutions like MySQL Cluster and Galera which provide a more cluster-like solution with synchronous replication. If you've got a suitable use case (low writes, high reads and no gigantic transactions) this can work extremely well. You bootstrap a cluster on node 1, and new members automatically take a copy of the cluster data when they join. You can have 3 or 5 mode clusters, and reads are distributed across all nodes since it's synchronous. Beware though, operating one of these things requires care. I've seen people suffer read downtime or full cluster outages by doing operations without understanding how they work under the hood. And if you're cluster is hard-down, you need to pick the node with "most recent transaction" to re-bootstrap the cluster or you can lose transactions.
Re: PostgreSQL High Availability Solutions – Part 1: Jepsen Test and Patroni
#9Is anyone here using YugabyteDB for high-availability Postgres? It seems like a compelling option: * Much closer to Postgres compatibility than CockroachDB. * A more permissive license. * Built-in connection manager [1], which should simplify deployment. * Supports both high availability and geo-distribution, which is useful if scaling globally becomes necessary later. That said, I don't see it mentioned around here…
Re: PostgreSQL High Availability Solutions – Part 1: Jepsen Test and Patroni
#10I'm currently looking for similar info but for MySQL/MariaDB for an IoT side project ... any suggestions?