Litestream diperkenalkan dengan implementasi sistem replikasi untuk SQLite

Ben Johnson, penulis penyimpanan BoltDB NoSQL, mempresentasikan proyek Litestream, yang menyediakan add-on untuk mengatur replikasi data di SQLite. Litestream tidak memerlukan perubahan apa pun pada SQLite dan dapat bekerja dengan aplikasi apa pun yang menggunakan perpustakaan ini. Replikasi dilakukan oleh proses latar belakang yang dijalankan secara terpisah yang memantau perubahan file dari database dan mentransfernya ke file lain atau ke penyimpanan eksternal. Kode proyek ditulis dalam Go dan didistribusikan di bawah lisensi Apache 2.0.

Semua interaksi dengan database dilakukan melalui API SQLite standar, yaitu. Litestream tidak mengganggu pengoperasian secara langsung, tidak memengaruhi kinerja, dan tidak dapat merusak konten database, yang membedakan Litestream dari solusi seperti Rqlite dan Dqlite. Perubahan dilacak dengan mengaktifkan log WAL (β€œWrite-Ahead Log”) di SQLite. Untuk menghemat ruang penyimpanan, sistem secara berkala menggabungkan aliran perubahan ke dalam irisan basis data (snapshot), di atasnya perubahan lainnya mulai terakumulasi. Waktu untuk membuat irisan ditunjukkan dalam pengaturan; misalnya, Anda dapat membuat irisan sekali sehari atau satu kali dalam satu jam.

Area utama penerapan Litestream mencakup pengorganisasian pencadangan yang aman dan mendistribusikan beban baca ke beberapa server. Ini mendukung transfer aliran perubahan ke Amazon S3, Azure Blob Storage, Backblaze B2, DigitalOcean Spaces, Scaleway Object Storage, Google Cloud Storage, Linode Object Storage, atau host eksternal apa pun yang mendukung protokol SFTP. Jika konten database utama rusak, salinan cadangan dapat dipulihkan dari keadaan yang sesuai dengan titik waktu tertentu, perubahan tertentu, perubahan terakhir, atau potongan tertentu.

Sumber: opennet.ru

Tambah komentar