Sobes.tech
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.