3 ms·
Replication has nothing to do with scalability in most cases. Replication is how you reduce downtime! It's the same reason why Raid5 is more then useless in a
by tobi 18y ago
Replication has nothing to do with scalability in most cases. Replication is how you reduce downtime!
It's the same reason why Raid5 is more then useless in a web server - if a disk dies it has to reboot and has to reconstruct data for hours. You cannot have downtime in a web application.
This is of course slightly domain specific. We host several thousand e-commerce stores that are the livelihood of our clients. If we are down then no one can earn money.
Shopify being down is a lot worse then twitter being down. In fact we may even see legal action if our downtime is too bad.
The reason why you need replication is because you need 3+ 100% accurate and up to the second copies of your database which can take over at a moments notice. One single server, no matter how beefy it is, can never accomplish this. Someone is going to trip over it's power cords eventually ( and if it has two then someone is going to trip over the power cord of the network switch it's connected to ).
- wmf 18y agoReplication is how you reduce downtime! It's one possible way. It's the same reason why Raid5 is more then useless in a web server - if a disk dies it has to reboot and has to reconstruct data for hours. Clearly you're using the wrong RAID; the whole point is to keep going after a disk failure. you need 3+ 100% accurate and up to the second copies of your database which can take over at a moments notice. One single server, no matter how beefy it is, can never accomplish this. An alternative would be a single reliable copy of the database (using RAID, redundant controllers, and multipathing) attached to multiple servers. I suppose database replication is mighty attractive if you assume that disks have to be trapped inside servers.