Litestream introdusert med implementering av replikeringssystem for SQLite

Ben Johnson, forfatter av BoltDB NoSQL-lagring, presenterte Litestream-prosjektet, som gir et tillegg for organisering av datareplikering i SQLite. Litestream krever ingen endringer i SQLite og kan fungere med alle programmer som bruker dette biblioteket. Replikering utføres av en separat utført bakgrunnsprosess som overvåker endringer i filer fra databasen og overfører dem til en annen fil eller til ekstern lagring. Prosjektkoden er skrevet i Go og distribuert under Apache 2.0-lisensen.

All interaksjon med databasen utføres gjennom standard SQLite API, dvs. Litestream forstyrrer ikke direkte driften, påvirker ikke ytelsen og kan ikke skade innholdet i databasen, noe som skiller Litestream fra løsninger som Rqlite og Dqlite. Endringer spores ved å aktivere WAL-loggen ("Write-Ahead Log") i SQLite. For å spare lagringsplass, aggregerer systemet med jevne mellomrom strømmen av endringer i databaseskiver (øyeblikksbilder), på toppen av hvilke andre endringer begynner å samle seg. Tidspunktet for å lage skiver er angitt i innstillingene; for eksempel kan du lage skiver en gang om dagen eller en gang i timen.

De viktigste bruksområdene for Litestream inkluderer organisering av sikre sikkerhetskopier og fordeling av lesebelastningen over flere servere. Den støtter overføring av endringsstrømmen til Amazon S3, Azure Blob Storage, Backblaze B2, DigitalOcean Spaces, Scaleway Object Storage, Google Cloud Storage, Linode Object Storage eller en hvilken som helst ekstern vert som støtter SFTP-protokollen. Hvis innholdet i hoveddatabasen er skadet, kan sikkerhetskopien gjenopprettes fra en tilstand som tilsvarer et spesifisert tidspunkt, en spesifikk endring, den siste endringen eller en spesifisert del.

Kilde: opennet.ru

Legg til en kommentar