Litestream introduceret med implementering af replikeringssystem til SQLite

Ben Johnson, forfatter til BoltDB NoSQL-lageret, præsenterede Litestream-projektet, som giver en tilføjelse til at organisere datareplikering i SQLite. Litestream kræver ingen ændringer af SQLite og kan arbejde med enhver applikation, der bruger dette bibliotek. Replikering udføres af en separat udført baggrundsproces, der overvåger ændringer i filer fra databasen og overfører dem til en anden fil eller til eksternt lager. Projektkoden er skrevet i Go og distribueret under Apache 2.0-licensen.

Al interaktion med databasen udføres gennem standard SQLite API, dvs. Litestream forstyrrer ikke direkte driften, påvirker ikke ydeevnen og kan ikke beskadige indholdet af databasen, hvilket adskiller Litestream fra løsninger som Rqlite og Dqlite. Ændringer spores ved at aktivere WAL-loggen ("Write-Ahead Log") i SQLite. For at spare lagerplads samler systemet med jævne mellemrum strømmen af ​​ændringer i databaseudsnit (snapshots), oven på hvilke andre ændringer begynder at akkumulere. Tidspunktet for oprettelse af udsnit er angivet i indstillingerne; for eksempel kan du oprette udsnit én gang om dagen eller én gang i timen.

De vigtigste anvendelsesområder for Litestream omfatter organisering af sikre sikkerhedskopier og fordeling af læsebelastningen på tværs af flere servere. Det understøtter overførsel af ændringsstrømmen til Amazon S3, Azure Blob Storage, Backblaze B2, DigitalOcean Spaces, Scaleway Object Storage, Google Cloud Storage, Linode Object Storage eller enhver ekstern vært, der understøtter SFTP-protokollen. Hvis indholdet af hoveddatabasen er beskadiget, kan sikkerhedskopien gendannes fra en tilstand, der svarer til et angivet tidspunkt, en specifik ændring, den sidste ændring eller et specificeret udsnit.

Kilde: opennet.ru

Tilføj en kommentar