Litestream diperkenalkan dengan pelaksanaan sistem replikasi untuk SQLite

Ben Johnson, pengarang storan NoSQL BoltDB, membentangkan projek Litestream, yang menyediakan alat tambah untuk mengatur replikasi data dalam SQLite. Litestream tidak memerlukan sebarang perubahan pada SQLite dan boleh berfungsi dengan mana-mana aplikasi yang menggunakan pustaka ini. Replikasi dijalankan oleh proses latar belakang yang dilaksanakan secara berasingan yang memantau perubahan dalam fail daripada pangkalan data dan memindahkannya ke fail lain atau ke storan luaran. Kod projek ditulis dalam Go dan diedarkan di bawah lesen Apache 2.0.

Semua interaksi dengan pangkalan data dijalankan melalui API SQLite standard, i.e. Litestream tidak langsung mengganggu operasi, tidak menjejaskan prestasi dan tidak boleh merosakkan kandungan pangkalan data, yang membezakan Litestream daripada penyelesaian seperti Rqlite dan Dqlite. Perubahan dijejaki dengan mendayakan log WAL (β€œWrite-Ahead Log”) dalam SQLite. Untuk menjimatkan ruang storan, sistem secara berkala mengagregatkan aliran perubahan ke dalam kepingan pangkalan data (gambar), di atasnya perubahan lain mula terkumpul. Masa untuk membuat kepingan ditunjukkan dalam tetapan; sebagai contoh, anda boleh membuat kepingan sekali sehari atau sekali sejam.

Bidang utama aplikasi untuk Litestream termasuk mengatur sandaran selamat dan mengagihkan beban bacaan merentas berbilang pelayan. Ia menyokong pemindahan strim perubahan ke Amazon S3, Azure Blob Storage, Backblaze B2, DigitalOcean Spaces, Scaleway Object Storage, Google Cloud Storage, Linode Object Storage atau mana-mana hos luaran yang menyokong protokol SFTP. Jika kandungan pangkalan data utama rosak, salinan sandaran boleh dipulihkan daripada keadaan yang sepadan dengan titik masa tertentu, perubahan tertentu, perubahan terakhir atau kepingan tertentu.

Sumber: opennet.ru

Tambah komen