SQLite uchun replikatsiya tizimini joriy qilish bilan Litestream joriy etildi

BoltDB NoSQL xotirasi muallifi Ben Jonson SQLite-da ma'lumotlar replikatsiyasini tashkil qilish uchun qo'shimchani taqdim etadigan Litestream loyihasini taqdim etdi. Litestream SQLite-ga hech qanday o'zgartirishni talab qilmaydi va ushbu kutubxonadan foydalanadigan har qanday dastur bilan ishlashi mumkin. Replikatsiya ma'lumotlar bazasidan fayllardagi o'zgarishlarni kuzatuvchi va ularni boshqa faylga yoki tashqi xotiraga o'tkazadigan alohida bajariladigan fon jarayoni orqali amalga oshiriladi. Loyiha kodi Go-da yozilgan va Apache 2.0 litsenziyasi ostida tarqatiladi.

Ma'lumotlar bazasi bilan barcha o'zaro aloqalar standart SQLite API orqali amalga oshiriladi, ya'ni. Litestream ishlashga bevosita xalaqit bermaydi, ishlashga ta'sir qilmaydi va ma'lumotlar bazasi tarkibiga zarar etkaza olmaydi, bu Litestreamni Rqlite va Dqlite kabi echimlardan ajratib turadi. O'zgarishlar SQLite-da WAL jurnalini ("Oldindan yozish jurnali") yoqish orqali kuzatiladi. Saqlash joyini tejash uchun tizim vaqti-vaqti bilan o'zgarishlar oqimini ma'lumotlar bazasi bo'laklariga (snapshotlar) jamlaydi, buning ustiga boshqa o'zgarishlar to'plana boshlaydi. Bo'limlarni yaratish vaqti sozlamalarda ko'rsatilgan, masalan, kuniga bir marta yoki soatiga bir marta tilim yaratishingiz mumkin.

Litestream-ni qo'llashning asosiy yo'nalishlari xavfsiz zaxira nusxalarini tashkil qilish va o'qish yukini bir nechta serverlar bo'ylab taqsimlashni o'z ichiga oladi. U o'zgarishlar oqimini Amazon S3, Azure Blob Storage, Backblaze B2, DigitalOcean Spaces, Scaleway Object Storage, Google Cloud Storage, Linode Object Storage yoki SFTP protokolini qo'llab-quvvatlaydigan har qanday tashqi xostga o'tkazishni qo'llab-quvvatlaydi. Agar asosiy ma'lumotlar bazasining mazmuni shikastlangan bo'lsa, zaxira nusxasi ma'lum bir vaqtga, ma'lum bir o'zgarishga, oxirgi o'zgarishga yoki belgilangan bo'lakka mos keladigan holatdan tiklanishi mumkin.

Manba: opennet.ru

a Izoh qo'shish