Litestream predstavil implementáciu replikačného systému pre SQLite

Ben Johnson, autor úložiska BoltDB NoSQL, predstavil projekt Litestream, ktorý poskytuje doplnok na organizáciu replikácie dát v SQLite. Litestream nevyžaduje žiadne zmeny v SQLite a môže pracovať s akoukoľvek aplikáciou, ktorá používa túto knižnicu. Replikácia sa vykonáva samostatne vykonávaným procesom na pozadí, ktorý sleduje zmeny v súboroch z databázy a prenáša ich do iného súboru alebo na externé úložisko. Kód projektu je napísaný v Go a distribuovaný pod licenciou Apache 2.0.

Všetka interakcia s databázou prebieha cez štandardné SQLite API, t.j. Litestream priamo nezasahuje do prevádzky, neovplyvňuje výkon a nemôže poškodiť obsah databázy, čím sa Litestream odlišuje od riešení ako Rqlite a Dqlite. Zmeny sa sledujú povolením denníka WAL („Zápis dopredu“) v SQLite. Aby sa ušetril úložný priestor, systém pravidelne agreguje prúd zmien do databázových rezov (snímok), na ktorých sa začnú hromadiť ďalšie zmeny. Čas vytvárania rezov je uvedený v nastaveniach, napríklad rezy môžete vytvárať raz za deň alebo raz za hodinu.

Medzi hlavné oblasti použitia Litestream patrí organizovanie bezpečných záloh a distribúcia záťaže čítania na viacero serverov. Podporuje presun toku zmien do Amazon S3, Azure Blob Storage, Backblaze B2, DigitalOcean Spaces, Scaleway Object Storage, Google Cloud Storage, Linode Object Storage alebo akéhokoľvek externého hostiteľa, ktorý podporuje protokol SFTP. Ak je obsah hlavnej databázy poškodený, záložnú kópiu možno obnoviť zo stavu zodpovedajúceho zadanému časovému bodu, konkrétnej zmene, poslednej zmene alebo zadanému úseku.

Zdroj: opennet.ru

Pridať komentár