Replication
Replication is a way of keeping a number of copies of your data on multiple servers. Why would we need replication? We need it because it provides us with multiple copies of the same data that can be used for redundancy and increasing data availability.
There are actually countless reasons why replicating your data is a good idea, but they generally boil down to two major reasons:
- Availability
- Scalability
If, for any reason, your main server goes down, then you don't want to lose any data, and you probably want another server to immediately start serving data to the clients. If your dataset is reasonably small, then in the event of a failure, you could just spin up a new server and restore data from a backup. However, if the dataset is large, the restore process could take hours! To avoid this downtime, it's a good idea to replicate your data.
The other main reason is scalability. If your database has lots of traffic, it may become slow and unresponsive, degrading the clients...