Ben Johnson, BoltDB NoSQL andmehoidla autor, tutvustas projekti Litestream, mis pakub lisakihti andmete replikatsiooni korraldamiseks SQLite'is. Litestream ei nÔua SQLite'is muudatusi ja saab töötada mis tahes rakendustega, mis kasutavad seda teeki. Replikatsiooni teostab eraldi töötav taustaprotsess, mis jÀlgib andmefailides toimuvaid muudatusi ja edastab need teise faili vÔi vÀlishoidlisse. Projekti kood on kirjutatud Go keeles ja see jaotatakse Apache 2.0 litsentsi alusel.
Kogu suhtlemine andmebaasiga toimub lĂ€bi standardse SQLite API, st Litestream ei sega otseselt tööd, ei mĂ”juta jĂ”udlust ega saa kahjustada andmebaasi sisu, mis eristab Litestreami sellistest lahendustest nagu Rqlite ja Dqlite. Muudatusi jĂ€lgitakse SQLite'is WAL-logi ("Write-Ahead Log") kaudu. Ruumi kokkuhoiu nimel koondab sĂŒsteem perioodiliselt muudatuste voolu andmebaasi lĂ”ikuteks (snapshot'ideks), millele hakkavad kogunema teised muudatused. LĂ”ikude loomise aeg mÀÀratakse seadistustes, nĂ€iteks saab lĂ”ike genereerida kord pĂ€evas vĂ”i kord tunnis.
Litestreami peamisteks rakendusaladeks on turvalise varukoopia loomine ja lugemisekoormuse jaotus mitme vahel. serveridToetatakse muudatuste voolu edastamist Amazon S3, Azure Blob Storage, Backblaze B2, DigitalOcean Spaces, Scaleway Object Storage, Google Cloud Storage, Linode Object Storage vÔi mis tahes vÀlishostile, mis toetab SFTP protokolli. Kui pÔhiteabehoidla sisu on kahjustatud, vÔib varukoopia taastada vastavalt kindlale ajamomendile, kindlale muutusele, viimasele muudatusele vÔi mÀÀratud lÔigule.
Allikas: opennet.ru
