Litestream introducido coa implementación do sistema de replicación para SQLite

Ben Johnson, autor do almacenamento BoltDB NoSQL, presentou o proxecto Litestream, que proporciona un complemento para organizar a replicación de datos en SQLite. Litestream non require ningún cambio en SQLite e pode funcionar con calquera aplicación que utilice esta biblioteca. A replicación realízase mediante un proceso en segundo plano executado por separado que supervisa os cambios nos ficheiros desde a base de datos e os transfire a outro ficheiro ou a un almacenamento externo. O código do proxecto está escrito en Go e distribúese baixo a licenza Apache 2.0.

Toda a interacción coa base de datos realízase a través da API estándar de SQLite, é dicir. Litestream non interfire directamente co funcionamento, non afecta o rendemento e non pode danar o contido da base de datos, o que distingue a Litestream de solucións como Rqlite e Dqlite. Os cambios realízanse activando o rexistro WAL ("Write-Ahead Log") en SQLite. Para aforrar espazo de almacenamento, o sistema agrega periodicamente o fluxo de cambios en porcións de base de datos (instantaneas), enriba das cales comezan a acumularse outros cambios. O tempo para crear porcións indícase na configuración; por exemplo, podes crear porciones unha vez ao día ou unha vez por hora.

As principais áreas de aplicación de Litestream inclúen a organización de copias de seguridade seguras e a distribución da carga de lectura en varios servidores. Admite a transferencia do fluxo de cambios a Amazon S3, Azure Blob Storage, Backblaze B2, DigitalOcean Spaces, Scaleway Object Storage, Google Cloud Storage, Linode Object Storage ou calquera host externo que admita o protocolo SFTP. Se o contido da base de datos principal está danado, a copia de seguranza pódese restaurar a partir dun estado correspondente a un momento específico, un cambio específico, o último cambio ou unha porción especificada.

Fonte: opennet.ru

Engadir un comentario