Run multiple instances of your database on multiple servers Most effective when your server has multiple CPU cores Group of resources, aware of each other, trying to achieve the same objective
Why?
- data redundancy
- synchronized
- load balancing
- distributes workload among the different instances
- horizontal scaling
- high availability
- 99% availability still means your site will be down 3.6 days of the year
- work is distributed
- there are backups
- monitoring and automation
Master/slave
- one master server
- all other servers copies the master
- write to master, read from slaves
- good for read heavy traffic
master/master replication
- two or more servers mirror each other
- good for security and assurance
distributed data
divide and conquer your data
Keywords
- master/slave
- master/master replication
- data redundancy -> synchronized
- distributed data
- high availability
- fault tolerance
References
https://www.digitalocean.com/community/tutorials/understanding-managed-databases https://standardwisdom.com/softwarejournal/2009/09/clustering-vs-load-balancing-what-is-the-difference/ http://www.ndimensionz.com/kb/what-is-database-clustering-introduction-and-brief-explanation/ https://www.quora.com/What-does-database-clustering-mean https://www.digitalocean.com/community/tutorials/understanding-managed-databases https://www.calebcurry.com/database-clustering-tutorial-1-intro-to-database-clustering/ https://www.techopedia.com/definition/17/clustering-databases https://www.quora.com/What-is-the-difference-between-server-and-cluster