Litestream, SQLite için çoğaltma sisteminin uygulanmasıyla tanıtıldı

BoltDB NoSQL depolama alanının yazarı Ben Johnson, SQLite'da veri çoğaltmayı organize etmek için bir eklenti sağlayan Litestream projesini sundu. Litestream, SQLite'ta herhangi bir değişiklik gerektirmez ve bu kütüphaneyi kullanan herhangi bir uygulamayla çalışabilir. Çoğaltma, veritabanındaki dosyalardaki değişiklikleri izleyen ve bunları başka bir dosyaya veya harici depolama birimine aktaran, ayrı olarak yürütülen bir arka plan işlemi tarafından gerçekleştirilir. Proje kodu Go'da yazılmıştır ve Apache 2.0 lisansı altında dağıtılmaktadır.

Veritabanıyla tüm etkileşim standart SQLite API aracılığıyla gerçekleştirilir; Litestream'in çalışmaya doğrudan müdahale etmemesi, performansı etkilememesi ve veritabanı içeriğine zarar vermemesi Litestream'i Rqlite ve Dqlite gibi çözümlerden ayırmaktadır. Değişiklikler, SQLite'ta WAL günlüğünün (“Önceden Yazma Günlüğü”) etkinleştirilmesiyle izlenir. Depolama alanından tasarruf etmek için sistem, periyodik olarak değişiklik akışını veritabanı dilimleri (anlık görüntüler) halinde toplar ve bunların üzerinde diğer değişiklikler birikmeye başlar. Dilim oluşturma zamanı ayarlarda belirtilir; örneğin dilimleri günde bir kez veya saatte bir oluşturabilirsiniz.

Litestream'in ana uygulama alanları arasında güvenli yedeklemelerin düzenlenmesi ve okuma yükünün birden fazla sunucuya dağıtılması yer alır. Değişiklik akışının Amazon S3, Azure Blob Storage, Backblaze B2, DigitalOcean Spaces, Scaleway Object Storage, Google Cloud Storage, Linode Object Storage veya SFTP protokolünü destekleyen herhangi bir harici ana bilgisayara taşınmasını destekler. Ana veritabanının içeriği hasar görürse, yedek kopya belirli bir zaman noktasına, belirli bir değişikliğe, son değişikliğe veya belirli bir dilime karşılık gelen bir durumdan geri yüklenebilir.

Kaynak: opennet.ru

Yorum ekle