Setting up multiple backups or nodes for servers or DBs in cause of a failure at any point.
These basically make use of Sharding Databases
There are many architectural patterns possible:
- Master - Slave: Master DB does main R/W -> copy is made on replica (Slave DB)
- Master - Master: Any DB makes R/W -> copy is synced up on all other Master Systems\
Types of "Replicas"
When making copies of data, they can be classified on the basis of operations performed:
- Synchronous Copy:
- Each time R/W occurs on DB -> await till replicas has stored that
- Takes longer time, more load but assures Data consistency
- Asynchronous Copy:
- Each time R/W occurs on DB -> just do async save on replica
- Takes shorter time, less load but data can be inconsistent