Litestream u prezantua me zbatimin e sistemit të riprodhimit për SQLite

Ben Johnson, autor i ruajtjes BoltDB NoSQL, prezantoi projektin Litestream, i cili ofron një shtesë për organizimin e riprodhimit të të dhënave në SQLite. Litestream nuk kërkon ndonjë ndryshim në SQLite dhe mund të punojë me çdo aplikacion që përdor këtë bibliotekë. Replikimi kryhet nga një proces sfondi i ekzekutuar veçmas që monitoron ndryshimet në skedarë nga baza e të dhënave dhe i transferon ato në një skedar tjetër ose në ruajtje të jashtme. Kodi i projektit është shkruar në Go dhe shpërndahet nën licencën Apache 2.0.

I gjithë ndërveprimi me bazën e të dhënave kryhet përmes API-së standarde SQLite, d.m.th. Litestream nuk ndërhyn drejtpërdrejt në funksionimin, nuk ndikon në performancën dhe nuk mund të dëmtojë përmbajtjen e bazës së të dhënave, gjë që e dallon Litestream nga zgjidhjet si Rqlite dhe Dqlite. Ndryshimet gjurmohen duke aktivizuar regjistrin e WAL ("Regjistri i shkrimit përpara") në SQLite. Për të kursyer hapësirën e ruajtjes, sistemi grumbullon periodikisht rrjedhën e ndryshimeve në pjesë të bazës së të dhënave (fotografi), në krye të të cilave fillojnë të grumbullohen ndryshime të tjera. Koha për krijimin e fetave tregohet në cilësimet; për shembull, mund të krijoni feta një herë në ditë ose një herë në orë.

Fushat kryesore të aplikimit për Litestream përfshijnë organizimin e rezervave të sigurta dhe shpërndarjen e ngarkesës së leximit nëpër serverë të shumtë. Ai mbështet transferimin e rrjedhës së ndryshimit në Amazon S3, Azure Blob Storage, Backblaze B2, DigitalOcean Spaces, Scaleway Object Storage, Google Cloud Storage, Linode Object Storage ose ndonjë host të jashtëm që mbështet protokollin SFTP. Nëse përmbajtja e bazës së të dhënave kryesore është dëmtuar, kopja rezervë mund të rikthehet nga një gjendje që korrespondon me një moment të caktuar kohor, një ndryshim specifik, ndryshimin e fundit ose një pjesë të caktuar.

Burimi: opennet.ru

Shto një koment