Litestream introduzido com implementação de sistema de replicação para SQLite

Ben Johnson, autor do armazenamento BoltDB NoSQL, apresentou o projeto Litestream, que fornece um complemento para organizar a replicação de dados em SQLite. Litestream não requer nenhuma alteração no SQLite e pode funcionar com qualquer aplicativo que use esta biblioteca. A replicação é realizada por um processo em segundo plano executado separadamente que monitora as alterações nos arquivos do banco de dados e os transfere para outro arquivo ou armazenamento externo. O código do projeto é escrito em Go e distribuído sob a licença Apache 2.0.

Toda a interação com o banco de dados é realizada através da API SQLite padrão, ou seja, O Litestream não interfere diretamente na operação, não afeta o desempenho e não pode danificar o conteúdo do banco de dados, o que distingue o Litestream de soluções como Rqlite e Dqlite. As alterações são rastreadas habilitando o log WAL (“Write-Ahead Log”) no SQLite. Para economizar espaço de armazenamento, o sistema agrega periodicamente o fluxo de alterações em fatias do banco de dados (instantâneos), sobre as quais outras alterações começam a se acumular. O tempo de criação das fatias é indicado nas configurações, por exemplo, você pode criar fatias uma vez por dia ou uma vez por hora.

As principais áreas de aplicação do Litestream incluem a organização de backups seguros e a distribuição da carga de leitura em vários servidores. Ele suporta a transferência do fluxo de mudança para Amazon S3, Azure Blob Storage, Backblaze B2, DigitalOcean Spaces, Scaleway Object Storage, Google Cloud Storage, Linode Object Storage ou qualquer host externo que suporte o protocolo SFTP. Se o conteúdo do banco de dados principal estiver danificado, a cópia de backup poderá ser restaurada de um estado correspondente a um momento especificado, uma alteração específica, a última alteração ou uma fatia especificada.

Fonte: opennet.ru

Adicionar um comentário