6 ms·
How is this not part of Postgres proper already?
by tbrock 11y ago
How is this not part of Postgres proper already?
- rdtsc 11y agoWhy would it be, postgres is not a distributed database?
- jzd 11y agoIt is very difficult to do distribution right, and Postgres is extremely conservative when it comes to new features. Stability, reliability, and performance are #1
- rdtsc 11y agoYap agreed. Slapping something on just to claim "distributed", and then have users lose data, would tarnish the brand and would not be a good idea. (Not that it stopped other products from going that route). Distributed stuff done right is difficult (as seen by Aphyr's Call Me Maybe tests, how few products survived despite high claims in their marketing).
- Drdrdrq 11y agoGenuinly curious: which products survived? All of the ones I read about had problems.
- rdtsc 11y agoBasho's Riak operating in non-last-write-wins mode didn't lose any writes so that is one solid off-the-shelf product that gets distribution right. Zookeeper performed well as well. Others that failed redeemed themselves and fixed issues after the results came. I think etcd and Consul devs did that.
- sargun 11y agoRiak, Postgresql, and Zookeeper are the only ones that never lost data. Consul, and etcd were mostly correct.
- threeseed 11y agoPostgreSQL was only tested as a single node. So it's meaningless even bringing it up.
- kev009 11y agoIt sure isn't. A DB client and server are distributed, even if not "scale out". It's very easy to get fundamentals wrong if you do not design for them.
- threeseed 11y agoIt makes no sense to compare PostgreSQL (single node) with Riak, Cassandra etc (multiple nodes). And distributed generally means distributing your data amongst multiple nodes. I don't expect to see a Call Me Maybe test for Chrome even though by your definition it is distributed.
- deleted 11y ago[deleted]
- detaro 11y agoBecause Postgres is conservative with new features and they prefer not having a feature (and the option to include it later) to being stuck supporting a not perfect attempt.
- Sanddancer 11y agoDistribution is one of those issues where an implementation has to be opinionated, and weigh out the pros and cons of each implementation. How do you handle partition events? How do you handle conflicts between two nodes, especially when resolving one conflict can generate other conflicts. How do you handle latency? How do you handle failover? Extensions like this are how Postgres has traditionally handled interesting opinionated technologies. The mailing lists will mull over the various implementations, scratch their chin a lot, and finally come to a conclusion after much discussion. It's why the database is so strong and stable, and why some seemingly obvious features take a while to get into the core database.
- gtirloni 11y agoThere should be sensible defaults for anyone deploying a small cluster. Right now it's a full research project to figure this out for PgSQL while for MariaDB/MySQL not so much (even though it might not be 'perfect' as many commentators here expect things to be with PgSQL).
- mslot 11y agopg_paxos is brand new and while the current release is reasonably stable and tested under various failure scenarios on EC2, it's also lacking in some areas, especially performance (think 10-100 writes/s). We will continue developing it to make it faster, easier to deploy, and address many interesting applications. Eventually we might submit it to postgres, but it's easier to develop it as an extension for now.