Litestream a fost introdus cu implementarea sistemului de replicare pentru SQLite

Ben Johnson, autorul stocării BoltDB NoSQL, a prezentat proiectul Litestream, care oferă un add-on pentru organizarea replicării datelor în SQLite. Litestream nu necesită modificări la SQLite și poate funcționa cu orice aplicație care utilizează această bibliotecă. Replicarea este realizată printr-un proces de fundal executat separat care monitorizează modificările fișierelor din baza de date și le transferă într-un alt fișier sau în stocarea externă. Codul proiectului este scris în Go și distribuit sub licența Apache 2.0.

Toată interacțiunea cu baza de date se realizează prin API-ul standard SQLite, adică Litestream nu interferează direct cu funcționarea, nu afectează performanța și nu poate deteriora conținutul bazei de date, ceea ce distinge Litestream de soluții precum Rqlite și Dqlite. Modificările sunt urmărite prin activarea jurnalului WAL („Write-Ahead Log”) în SQLite. Pentru a economisi spațiu de stocare, sistemul agregează periodic fluxul de modificări în secțiuni de bază de date (instantanee), pe deasupra cărora încep să se acumuleze alte modificări. Timpul pentru crearea feliilor este indicat în setări; de exemplu, puteți crea felii o dată pe zi sau o dată pe oră.

Principalele domenii de aplicare pentru Litestream includ organizarea de backup-uri securizate și distribuirea sarcinii de citire pe mai multe servere. Acceptă transferul fluxului de modificări către Amazon S3, Azure Blob Storage, Backblaze B2, DigitalOcean Spaces, Scaleway Object Storage, Google Cloud Storage, Linode Object Storage sau orice gazdă externă care acceptă protocolul SFTP. Dacă conținutul bazei de date principale este deteriorat, copia de rezervă poate fi restaurată dintr-o stare corespunzătoare unui anumit moment în timp, unei anumite modificări, ultimei modificări sau unei secțiuni specificate.

Sursa: opennet.ru

Adauga un comentariu