5 ms·
There are some tools that make horizontal sharding much easier, like Vitess which is MySQL only. But most businesses won't come close to needing these kinds of
by skunkworker 6y ago
There are some tools that make horizontal sharding much easier, like Vitess which is MySQL only. But most businesses won't come close to needing these kinds of capabilities.
I would say for anyone starting out and worrying about how large a single node can scale, Postgres can run well on aa 64/128core server, 2TB ram and 20TB ZRAID6 with a chain of read replicas. This can be done out of the box on Postgres without much issue and can get many businesses quite far, but once you go to the lots and lots of TB, or you have specific write latency, consistency, or other requirements, you have to evaluate multiple databases against your company's specific usage patterns and data, as no benchmark will give you a good idea.
- rzzzt 6y agoMulti-master replication was also a MySQL-only functionality that came built in, while on Postgres you had to pick a third-party solution (I think...)? Did that change in recent times?
- pezezin 6y agoI have been looking for how to set up multi-master replication, and as far as I know you still need a third-party solution.
- samlambert 6y agoVertical scaling and scaling out via replicas is only excusable in a world where sharding isn't a solved problem. With a bunch of read replicas you have to deal with eventual consistency when you get replication lag as well as the inability to scale writes. If you shard out horizontally you get write scaleability, and read scalability with much less chance of replication delay. You like likely be reading from the master node most of the time. You also gain a bunch of operational flexibility, and smaller failure domains.
- mtVessel 6y agoHow does horizontal sharding help with HA/DR concerns?
- gher-shyu3i 6y agoDon't you still have replication delay when sharding horizontally?
- avinassh 6y ago> There are some tools that make horizontal sharding much easier, like Vitess which is MySQL only. I am just curious, how does Vitess do that?