Litestream predstavljen implementacijom replikacijskog sustava za SQLite

Ben Johnson, autor BoltDB NoSQL pohrane, predstavio je projekt Litestream koji pruža dodatak za organiziranje replikacije podataka u SQLite. Litestream ne zahtijeva nikakve promjene u SQLiteu i može raditi s bilo kojom aplikacijom koja koristi ovu biblioteku. Replikacija se provodi zasebno izvršenim pozadinskim procesom koji prati promjene u datotekama iz baze podataka i prenosi ih u drugu datoteku ili u vanjsku pohranu. Kôd projekta napisan je u Go i distribuiran pod licencom Apache 2.0.

Sva interakcija s bazom podataka odvija se putem standardnog SQLite API-ja, tj. Litestream ne ometa izravno rad, ne utječe na performanse i ne može oštetiti sadržaj baze podataka, što razlikuje Litestream od rješenja kao što su Rqlite i Dqlite. Promjene se prate omogućavanjem WAL zapisnika ("Write-Ahead Log") u SQLiteu. Kako bi se uštedio prostor za pohranu, sustav povremeno agregira tok promjena u dijelove baze podataka (snimke), povrh kojih se počinju akumulirati druge promjene. Vrijeme za stvaranje odsječaka naznačeno je u postavkama; na primjer, možete kreirati odsječke jednom dnevno ili jednom na sat.

Glavna područja primjene za Litestream uključuju organiziranje sigurnih sigurnosnih kopija i raspodjelu opterećenja čitanja na više poslužitelja. Podržava prijenos toka promjena na Amazon S3, Azure Blob Storage, Backblaze B2, DigitalOcean Spaces, Scaleway Object Storage, Google Cloud Storage, Linode Object Storage ili bilo koji vanjski host koji podržava SFTP protokol. Ako je sadržaj glavne baze podataka oštećen, sigurnosna kopija se može vratiti iz stanja koje odgovara određenoj točki u vremenu, određenoj promjeni, posljednjoj promjeni ili određenom odsječku.

Izvor: opennet.ru

Dodajte komentar