7 ms·
This is exciting: > ...This log architecture is optimized for raft consensus-based replication allowing the implementation of active-active multimaster. I'm a
by latch 5y ago
This is exciting:
> ...This log architecture is optimized for raft consensus-based replication allowing the implementation of active-active multimaster.
I'm a developer but manage 2 PostgreSQL instances each with an async replica. I also manage 1 three-node CockroachDB cluster. It's night and day when it comes to any type of ops (e.g. upgrading a version). There's a lot of reasons to use PostgreSQL (e.g. stored procedures, extensions, ...), but if none of those apply to you, CockroachDB is a better default.
I just finished interviewing someone who went into detail about the difficulty they're having doing a large scale migration or a mission critical large PG cluster (from one DC to another)..it's a multi-team, year long initiative that no one is comfortable about.
In my experience, PG is always the most out-of-date piece of any system. I still see 9.6 here and there, which is now EOL.
- rad_gruchalski 5y agoI'd go for YugabyteDB instead of CockroachDB but your point of distributed SQL being better is spot on.
- mmontagna9 5y ago> In my experience, PG is always the most out-of-date piece of any system. Yes
- otterley 5y agoRaft doesn’t magically make a database multi master. It’s a consensus algorithm that has a leader election process. There’s still a leader, and therefore a single master to which writes must be directed. The problem it solves is ambiguity about who the active master is at the moment.
- akorotkov 5y agoRight. The idea of active-active OrioleDB multimaster is to apply changes locally and in parallel send it to the leader. Then sync on commit and ensure there is no conflicts. The design document will be published later.
- otterley 5y agoPlease have it subjected to a Jepsen test suite ASAP!
- lillecarl 5y agoMy thinking is since it's postgres wire compatible the existing tests should work?
- k__ 5y agoDoes Jepsen just run automated tests?
- lillecarl 5y agoI mean they're automated but also hand crafted. https://github.com/jepsen-io/jepsen https://github.com/jepsen-io/jepsen
- yencabulator 5y agoJepsen does much more than basic end-to-end tests, including intentionally partitioning the cluster. Tests written for a non-distributed system are downright friendly compared to what Jepsen does to distributed systems.
- collegeburner 5y agoThose are very expensive and booked months in advance. Aphyr sometimes comments on HN and is of course a better source on this but that's what I recall reading.
- otterley 5y agoIt’s the price you pay to reassure customers that your newfangled distributed database won’t experience data loss or inconsistency.
- porker 5y agoFeature wise I like postgresql. Operationally? Mysql. I pick MySQL 8 whenever I can because over the lifetime of a project it's easier. Pragmatically I'm coming to the uncomfortable (as a Foss advocate) idea that Microsoft SQL Server is a good choice and worth paying for. Features and relative ease of use.
- jamesfinlayson 5y agoVery much this - most of my experience is with Postgres but the rough impression I have is that SQL Server is the best of both Postgres and MySQL, and Postgres and MySQL are improving, but not in any great direction towards what SQL Server offers.
- fuy 5y agoFrom the operations perspective, SQL Server is definitely way better that Postgres - monitoring is such a pain point in Postgres, for example. From application development/feature perspective, it's much closer, and server-side programming in Postgres (if that's what you like/need) is simply better that in SQL Server.
- fuy 5y ago*better than, not better that.
- tpetry 5y agoCan you explain more why MySQL is operational more easy? I personally don‘t see any difference.
- jamesfinlayson 5y agoI haven't used the features but I thought replication and failover were much easier (out of the box at least).
- 5y ago
- vlunkr 5y agoMaybe postgres is out of date because even an old version like 9.6 is performant, featureful, and stable?
- darkr 5y ago> if none of those apply to you, CockroachDB is a better default. Though it scales horizontally, you will need to throw at least 10x or more hardware at it to achieve the same throughput
- vvern 5y agoDo you have benchmarks to back that up? The efficiency per core is worse, but I’ve not seen 10x worse. One thing to be careful of is making sure to have parallelism in your benchmark. Single-threaded Postgres may well be 10x faster on workloads of interest, but that’s not very representative of real use.
- jordanthoms 5y agoWe switched to CockroachDB for some of our most heavily loaded tables a few years ago - and the scalability and operational simplicity has been great. I don’t have a like for like benchmark, but at least for writes - we’re running with 5 replicas of each range so that’s 5x the disk write i/o just from that. Add in some network overhead and running raft etc, and you are going to be needing a lot more resources than for PG to maintain a similar throughput - but adding resources when you can scale horizontally is so much easier that the tradeoff is worth it in my experience.