Litestream ieviests, ieviešot SQLite replikācijas sistēmu

BoltDB NoSQL krātuves autors Bens Džonsons iepazīstināja ar Litestream projektu, kas nodrošina papildinājumu datu replikācijas organizēšanai programmā SQLite. Litestream neprasa nekādas izmaiņas SQLite, un tā var darboties ar jebkuru lietojumprogrammu, kas izmanto šo bibliotēku. Replikāciju veic atsevišķi izpildīts fona process, kas uzrauga izmaiņas failos no datu bāzes un pārsūta tās uz citu failu vai ārējo krātuvi. Projekta kods ir rakstīts programmā Go un izplatīts saskaņā ar Apache 2.0 licenci.

Visa mijiedarbība ar datu bāzi tiek veikta, izmantojot standarta SQLite API, t.i. Litestream tieši netraucē darbību, neietekmē veiktspēju un nevar sabojāt datu bāzes saturu, kas Litestream atšķir no tādiem risinājumiem kā Rqlite un Dqlite. Izmaiņas tiek izsekotas, iespējojot WAL žurnālu (“Write-Ahead Log”) programmā SQLite. Lai ietaupītu krātuves vietu, sistēma periodiski apkopo izmaiņu straumi datu bāzes gabalos (momentuzņēmumos), kuriem virsū sāk uzkrāties citas izmaiņas. Šķēles izveides laiks ir norādīts iestatījumos, piemēram, šķēles var izveidot reizi dienā vai reizi stundā.

Galvenās Litestream pielietošanas jomas ietver drošu dublējumu organizēšanu un lasīšanas slodzes sadali pa vairākiem serveriem. Tā atbalsta izmaiņu straumes pārsūtīšanu uz Amazon S3, Azure Blob Storage, Backblaze B2, DigitalOcean Spaces, Scaleway Object Storage, Google Cloud Storage, Linode Object Storage vai jebkuru ārēju resursdatoru, kas atbalsta SFTP protokolu. Ja galvenās datu bāzes saturs ir bojāts, rezerves kopiju var atjaunot no stāvokļa, kas atbilst noteiktam laika brīdim, konkrētām izmaiņām, pēdējām izmaiņām vai noteiktai daļai.

Avots: opennet.ru

Pievieno komentāru