Litestream tutvustati SQLite'i replikatsioonisüsteemi juurutamisega

BoltDB NoSQL-i salvestusruumi autor Ben Johnson tutvustas Litestreami projekti, mis pakub lisandmoodulit andmete replikatsiooni korraldamiseks SQLite'is. Litestream ei nõua SQLite'is muudatusi ja võib töötada kõigi seda teeki kasutavate rakendustega. Replikatsiooni teostab eraldi käivitatav taustprotsess, mis jälgib andmebaasist failide muudatusi ja edastab need teise faili või välismällu. Projekti kood on kirjutatud Go-s ja seda levitatakse Apache 2.0 litsentsi all.

Kogu suhtlus andmebaasiga toimub standardse SQLite API kaudu, s.o. 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, lubades SQLite'is WAL-logi (“Edasi kirjutamise logi”). Salvestusruumi säästmiseks koondab süsteem muudatuste voo perioodiliselt andmebaasi lõikudeks (hetktõmmisteks), mille peale hakkavad kogunema muud muudatused. Seadetes on näidatud viilude loomise aeg, näiteks saab lõike luua kord päevas või kord tunnis.

Litestreami peamised rakendusvaldkonnad hõlmavad turvaliste varukoopiate korraldamist ja lugemiskoormuse jaotamist mitme serveri vahel. See toetab muudatuste voo edastamist Amazon S3, Azure Blob Storage, Backblaze B2, DigitalOcean Spaces, Scaleway Object Storage, Google Cloud Storage, Linode Object Storage või mis tahes välisele hostile, mis toetab SFTP-protokolli. Kui põhiandmebaasi sisu on kahjustatud, saab varukoopia taastada olekust, mis vastab määratud ajahetkele, konkreetsele muudatusele, viimasele muudatusele või määratud lõigule.

Allikas: opennet.ru

Lisa kommentaar