Litestream a été présenté avec une implémentation du système de réplication pour SQLite.

Ben Johnson, l'auteur du stockage NoSQL BoltDB, a présenté le projet Litestream, qui offre une surcouche pour organiser la réplication des données dans SQLite. Litestream ne nécessite aucune modification de SQLite et peut fonctionner avec toutes les applications utilisant cette bibliothèque. La réplication est gérée par un processus en arrière-plan distinct qui suit les modifications apportées aux fichiers de la base de données et les transfère dans un autre fichier ou vers un stockage externe. Le code du projet est écrit en Go et est distribué sous la licence Apache 2.0.

Tous les échanges avec la base de données se font via l'API standard de SQLite, c'est-à-dire que Litestream n'interfère pas directement dans son fonctionnement, n'affecte pas la performance et ne peut pas endommager le contenu de la base de données, ce qui distingue favorablement Litestream de solutions comme Rqlite et Dqlite. Les modifications sont suivies via l'activation du journal WAL (« Write-Ahead Log ») dans SQLite. Pour économiser de l'espace de stockage, le système agrège périodiquement le flux de modifications en instantanés de la base de données, sur lesquels d'autres modifications commencent à s'accumuler. Le moment de la création des instantanés est précisé dans les paramètres, par exemple, il est possible de créer des instantanés une fois par jour ou une fois par heure.

Les principales applications de Litestream incluent l'organisation de sauvegardes sécurisées et la répartition de la charge de lecture sur plusieurs serveurs. Le transfert du flux de modifications vers des stockages tels qu'Amazon S3, Azure Blob Storage, Backblaze B2, DigitalOcean Spaces, Scaleway Object Storage, Google Cloud Storage, Linode Object Storage ou sur tout hôte externe prenant en charge le protocole SFTP est pris en charge. En cas de corruption du contenu de la base de données principale, une sauvegarde peut être restaurée à partir d'un état correspondant à un moment donné, à une modification spécifique, à la dernière modification ou à un instantané donné.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster