„Litestream“ pristatyta įdiegiant SQLite replikacijos sistemą

„BoltDB NoSQL“ saugyklos autorius Benas Johnsonas pristatė „Litestream“ projektą, kuris suteikia priedą duomenų replikavimui SQLite organizuoti. „Litestream“ nereikalauja jokių SQLite pakeitimų ir gali veikti su bet kokia programa, kuri naudoja šią biblioteką. Replikacija atliekama naudojant atskirai vykdomą foninį procesą, kuris stebi duomenų bazės failų pokyčius ir perkelia juos į kitą failą arba išorinę saugyklą. Projekto kodas parašytas Go ir platinamas pagal Apache 2.0 licenciją.

Visa sąveika su duomenų baze vykdoma per standartinę SQLite API, t.y. „Litestream“ tiesiogiai netrukdo darbui, neturi įtakos našumui ir negali pažeisti duomenų bazės turinio, o tai išskiria „Litestream“ nuo sprendimų, tokių kaip „Rqlite“ ir „Dqlite“. Pakeitimai stebimi įgalinant WAL žurnalą („Write-Ahead Log“) „SQLite“. Siekdama sutaupyti vietos saugykloje, sistema periodiškai sujungia pakeitimų srautą į duomenų bazės dalis (snapshots), ant kurių pradeda kauptis kiti pakeitimai. Pjūvių kūrimo laikas nurodytas nustatymuose, pavyzdžiui, griežinėlius galite kurti kartą per dieną arba kartą per valandą.

Pagrindinės „Litestream“ taikymo sritys apima saugių atsarginių kopijų kūrimą ir skaitymo apkrovos paskirstymą keliuose serveriuose. Jis palaiko pakeitimų srauto perdavimą į „Amazon S3“, „Azure Blob Storage“, „Backblaze B2“, „DigitalOcean Spaces“, „Scaleway Object Storage“, „Google Cloud Storage“, „Linode Object Storage“ arba bet kurį išorinį pagrindinį kompiuterį, palaikantį SFTP protokolą. Jei pagrindinės duomenų bazės turinys yra pažeistas, atsarginę kopiją galima atkurti iš būsenos, atitinkančios nurodytą laiko momentą, konkretų pakeitimą, paskutinį pakeitimą arba nurodytą dalį.

Šaltinis: opennet.ru

Добавить комментарий