Litestream se presenta con la implementación del sistema de replicación para SQLite

Ben Johnson, autor del almacenamiento BoltDB NoSQL, presentó el proyecto Litestream, que proporciona un complemento para organizar la replicación de datos en SQLite. Litestream no requiere ningún cambio en SQLite y puede funcionar con cualquier aplicación que utilice esta biblioteca. La replicación se lleva a cabo mediante un proceso en segundo plano ejecutado por separado que monitorea los cambios en los archivos de la base de datos y los transfiere a otro archivo o al almacenamiento externo. El código del proyecto está escrito en Go y distribuido bajo la licencia Apache 2.0.

Toda interacción con la base de datos se realiza a través de la API SQLite estándar, es decir. Litestream no interfiere directamente con la operación, no afecta el rendimiento y no puede dañar el contenido de la base de datos, lo que distingue a Litestream de soluciones como Rqlite y Dqlite. El seguimiento de los cambios se realiza habilitando el registro WAL ("Registro de escritura anticipada") en SQLite. Para ahorrar espacio de almacenamiento, el sistema agrega periódicamente el flujo de cambios en segmentos de la base de datos (instantáneas), sobre los cuales comienzan a acumularse otros cambios. El tiempo para crear sectores se indica en la configuración; por ejemplo, puede crear sectores una vez al día o una vez cada hora.

Las principales áreas de aplicación de Litestream incluyen la organización de copias de seguridad seguras y la distribución de la carga de lectura entre múltiples servidores. Admite mover el flujo de cambios a Amazon S3, Azure Blob Storage, Backblaze B2, DigitalOcean Spaces, Scaleway Object Storage, Google Cloud Storage, Linode Object Storage o cualquier host externo que admita el protocolo SFTP. Si el contenido de la base de datos principal está dañado, la copia de seguridad se puede restaurar desde un estado correspondiente a un momento específico, un cambio específico, el último cambio o un segmento específico.

Fuente: opennet.ru

Añadir un comentario