Litestream introdotto con l'implementazione del sistema di replica per SQLite

Ben Johnson, autore dello storage BoltDB NoSQL, ha presentato il progetto Litestream, che fornisce un componente aggiuntivo per l'organizzazione della replica dei dati in SQLite. Litestream non richiede alcuna modifica a SQLite e puΓ² funzionare con qualsiasi applicazione che utilizza questa libreria. La replica viene eseguita da un processo in background eseguito separatamente che monitora le modifiche nei file dal database e li trasferisce in un altro file o in un archivio esterno. Il codice del progetto Γ¨ scritto in Go e distribuito sotto la licenza Apache 2.0.

Tutta l'interazione con il database viene eseguita tramite l'API SQLite standard, ad es. Litestream non interferisce direttamente con il funzionamento, non influisce sulle prestazioni e non puΓ² danneggiare il contenuto del database, cosa che distingue Litestream da soluzioni come Rqlite e Dqlite. Le modifiche vengono tracciate abilitando il registro WAL ("Write-Ahead Log") in SQLite. Per risparmiare spazio di archiviazione, il sistema aggrega periodicamente il flusso di modifiche in porzioni di database (istantanee), sopra le quali iniziano ad accumularsi altre modifiche. L'orario per la creazione delle sezioni Γ¨ indicato nelle impostazioni; ad esempio, puoi creare sezioni una volta al giorno o una volta ogni ora.

Le principali aree di applicazione di Litestream includono l'organizzazione di backup sicuri e la distribuzione del carico di lettura su piΓΉ server. Supporta lo spostamento del flusso di modifiche su Amazon S3, Azure Blob Storage, Backblaze B2, DigitalOcean Spaces, Scaleway Object Storage, Google Cloud Storage, Linode Object Storage o qualsiasi host esterno che supporti il ​​protocollo SFTP. Se il contenuto del database principale Γ¨ danneggiato, la copia di backup puΓ² essere ripristinata da uno stato corrispondente a un momento specifico, a una modifica specifica, all'ultima modifica o a una sezione specificata.

Fonte: opennet.ru

Aggiungi un commento