Litestream wurde mit einem Implementierungssystem zur Replikation für SQLite vorgestellt.

Ben Johnson, der Autor der NoSQL-Datenbank BoltDB, hat das Projekt Litestream vorgestellt, eine Erweiterung zur Organisation der Datenreplikation in SQLite. Litestream erfordert keine Änderungen an SQLite und kann mit allen Anwendungen, die diese Bibliothek verwenden, arbeiten. Die Replikation erfolgt durch einen separat ausgeführten Hintergrundprozess, der Änderungen in den Datenbankdateien überwacht und sie in eine andere Datei oder in einen externen Speicher überträgt. Der Projektcode ist in der Programmiersprache Go geschrieben und wird unter der Apache 2.0-Lizenz veröffentlicht.

Alle Interaktionen mit der Datenbank erfolgen über die native SQLite-API, d.h. Litestream greift nicht direkt in den Betrieb ein, beeinträchtigt die Leistung nicht und kann den Inhalt der Datenbank nicht beschädigen, was Litestream von Lösungen wie Rqlite und Dqlite abhebt. Änderungen werden durch die Aktivierung des WAL-Logs („Write-Ahead Log“) in SQLite verfolgt. Um Speicherplatz zu sparen, aggregiert das System regelmäßig den Änderungsstrom in Schnappschüsse der Datenbank, auf denen weitere Änderungen aufbauen. Der Zeitpunkt der Schnappschaffung kann in den Einstellungen festgelegt werden, z.B. können Schnappschüsse täglich oder stündlich erstellt werden.

Die Hauptanwendungsgebiete von Litestream umfassen sicheres Backup und Verteilung der Leseauslastung auf mehrere Server. Der Änderungsstrom wird in Speicherlösungen wie Amazon S3, Azure Blob Storage, Backblaze B2, DigitalOcean Spaces, Scaleway Object Storage, Google Cloud Storage, Linode Object Storage oder auf jeden externen Host, der das SFTP-Protokoll unterstützt, übertragen. Im Falle einer Beschädigung des Inhalts der Hauptdatenbank kann eine Sicherung aus dem Zustand zu einem bestimmten Zeitpunkt, einer bestimmten Änderung, der letzten Änderung oder einem festgelegten Schnappschuss wiederhergestellt werden.

Quelle: opennet.ru

60GB SSD 8Gb DDR4