A Litestream az SQLite replikációs rendszerének megvalósításával került bevezetésre

Ben Johnson, a BoltDB NoSQL tároló szerzője bemutatta a Litestream projektet, amely kiegészítőt biztosít az adatreplikáció megszervezéséhez SQLite-ban. A Litestream nem igényel semmilyen változtatást az SQLite-ban, és minden olyan alkalmazással működik, amely ezt a könyvtárat használja. A replikációt egy külön végrehajtott háttérfolyamat végzi, amely figyeli az adatbázisban lévő fájlok változásait, és átviszi azokat egy másik fájlba vagy külső tárolóra. A projekt kódja Go nyelven íródott, és az Apache 2.0 licenc alatt terjeszthető.

Az adatbázissal való minden interakció a szabványos SQLite API-n keresztül történik, pl. A Litestream közvetlenül nem zavarja a működést, nem befolyásolja a teljesítményt és nem károsíthatja az adatbázis tartalmát, ami megkülönbözteti a Litestreamet az olyan megoldásoktól, mint az Rqlite és a Dqlite. A változások nyomon követése a WAL-napló („Write-Ahead Log”) engedélyezésével történik az SQLite-ban. A tárhely megtakarítása érdekében a rendszer időről időre adatbázisszeletekre (pillanatképekre) aggregálja a változtatások folyamát, amelyekre más változások is felhalmozódnak. A szeletek létrehozásának ideje a beállításokban van feltüntetve, például naponta vagy óránként egyszer készíthet szeleteket.

A Litestream fő alkalmazási területei közé tartozik a biztonságos biztonsági mentések szervezése és az olvasási terhelés több szerver közötti elosztása. Támogatja a változásfolyam átvitelét az Amazon S3-ra, az Azure Blob Storage-ra, a Backblaze B2-re, a DigitalOcean Spaces-re, a Scaleway Object Storage-ra, a Google Cloud Storage-ra, a Linode Object Storage-ra vagy bármely olyan külső gazdagépre, amely támogatja az SFTP protokollt. Ha a fő adatbázis tartalma megsérül, a biztonsági másolatot vissza lehet állítani egy adott időpontnak, egy adott változásnak, az utolsó módosításnak vagy egy meghatározott szeletnek megfelelő állapotból.

Forrás: opennet.ru

Hozzászólás