Litestream otettiin käyttöön SQLiten replikointijärjestelmän toteutuksen yhteydessä

BoltDB NoSQL -tallennustilan kirjoittaja Ben Johnson esitteli Litestream-projektin, joka tarjoaa lisäosan tietojen replikoinnin järjestämiseen SQLitessa. Litestream ei vaadi muutoksia SQLiteen, ja se voi toimia minkä tahansa tätä kirjastoa käyttävien sovellusten kanssa. Replikointi suoritetaan erikseen suoritettavalla taustaprosessilla, joka seuraa tietokannan tiedostojen muutoksia ja siirtää ne toiseen tiedostoon tai ulkoiseen tallennustilaan. Projektikoodi on kirjoitettu Go-kielellä ja jaettu Apache 2.0 -lisenssillä.

Kaikki vuorovaikutus tietokannan kanssa tapahtuu standardinmukaisen SQLite API:n kautta, ts. Litestream ei suoraan häiritse toimintaa, ei vaikuta suorituskykyyn eikä voi vahingoittaa tietokannan sisältöä, mikä erottaa Litestreamin ratkaisuista, kuten Rqlite ja Dqlite. Muutoksia seurataan ottamalla käyttöön WAL-loki ("Write-Ahead Log") SQLitessa. Tallennustilan säästämiseksi järjestelmä kokoaa määräajoin muutosvirran tietokantalohkoiksi (snapshots), joiden päälle alkaa kertyä muita muutoksia. Viipaleiden luomisaika on ilmoitettu asetuksissa, voit luoda viipaleita esimerkiksi kerran päivässä tai kerran tunnissa.

Litestreamin pääsovellusalueita ovat suojattujen varmuuskopioiden järjestäminen ja lukukuorman jakaminen useille palvelimille. Se tukee muutosvirran siirtämistä Amazon S3:een, Azure Blob Storageen, Backblaze B2:een, DigitalOcean Spacesiin, Scaleway Object Storageen, Google Cloud Storageen, Linode Object Storageen tai mihin tahansa ulkoiseen isäntään, joka tukee SFTP-protokollaa. Jos päätietokannan sisältö on vaurioitunut, varmuuskopio voidaan palauttaa tilasta, joka vastaa tiettyä ajankohtaa, tiettyä muutosta, viimeistä muutosta tai määritettyä osuutta.

Lähde: opennet.ru

Lisää kommentti