Litestream predstavljen sa implementacijom sistema replikacije za SQLite

Ben Johnson, autor BoltDB NoSQL skladišta, predstavio je projekt Litestream, koji pruža dodatak za organiziranje replikacije podataka u SQLite-u. Litestream ne zahtijeva nikakve promjene u SQLite-u i može raditi sa bilo kojom aplikacijom koja koristi ovu biblioteku. Replikacijom se rukuje odvojeno izvršenim pozadinskim procesom koji prati promjene u datotekama iz baze podataka i prenosi ih u drugu datoteku ili eksternu memoriju. Kod projekta je napisan u Go i distribuiran pod licencom Apache 2.0.

Sva interakcija sa bazom podataka se obavlja preko regularnog SQLite API-ja, tj. Litestream ne ometa direktno rad, ne utič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 uključivanjem WAL-log ("Write-Ahead Log") u SQLite. Da bi uštedio prostor za skladištenje, sistem periodično agregira tok promjena u rezove (snimke) baze podataka, na vrhu kojih počinju da se akumuliraju druge promjene. Vrijeme za kreiranje rezova je određeno u postavkama, na primjer, možete kreirati kriške jednom dnevno ili jednom na sat.

Kao glavna područja primjene Litestream-a spominju se organizacija sigurnih sigurnosnih kopija i raspodjela opterećenja čitanja na nekoliko servera. Možete migrirati tok 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. U slučaju oštećenja sadržaja glavne baze podataka, rezervna kopija se može vratiti iz stanja koje odgovara određenom trenutku u vremenu, određenoj promjeni, posljednjoj izmjeni ili datom isječku.

izvor: opennet.ru

Dodajte komentar