Junior
Mis on replikatsioon andmebaaside ja rakenduste kontekstis?
sobes.tech AI
Vastus AI-lt
Replikatsioon on protsess, mille käigus luuakse ja hoitakse korraga mitmeid andmebaasi või rakenduse oleku koopiaid erinevatel serveritel.
Replikatsiooni eesmärgid:
- Kõrge kättesaadavus (High Availability): Kui üks server ebaõnnestub, saavad teised replikad jätkata päringute teenindamist.
- Skaleeritavuse parandamine (Scalability): Lugemispäringud saavad jaguneda replikate vahel, vähendades koormust põhiserveril.
- Geograafiline jaotumine (Disaster Recovery): Replikad võivad paikneda erinevates andmekeskustes, et kaitsta kohalike rike eest.
- Viivituse vähendamine (Latency): Kasutajad saavad lugeda andmeid lähimast replikast.
Replikatsiooni tüübid:
- Sünkroonne: Muudatused kirjutatakse kõigile replikatele enne, kui tehing kinnitatakse kliendile. Tagab tugeva järjepidevuse, kuid võib suurendada kirjutamise viivitust.
- Asünkroonne: Tehing kinnitatakse kliendile pärast kirjutamist põhiserverisse. Replikad uuendatakse hiljem. Tagab suurema kirjutamise jõudluse, kuid võib esineda ajutist andmete ebajärjekindlust.
Replikatsiooni režiimid:
- Master-Replica (või Master-Slave): Üks replikast (master) võtab vastu kõik kirjutusoperatsioonid, teised (replikad) ainult loevad, saades muudatused masterilt.
- Multi-Master: Mitmed replikad võivad vastu võtta kirjutusoperatsioone. Vajab konfliktide lahendamise mehhanismi.
Rakendustes võib replikatsioon tähendada ka mitme rakenduse (teenuse) eksemplari loomist sama eesmärgi saavutamiseks: kättesaadavuse ja skaleeritavuse parandamiseks. Näiteks Kubernetesis käivitatakse mitu podi, millest igaüks on sama teenuse replik.