Прадстаўлены Litestream з рэалізацыяй сістэмы рэплікацыі для SQLite

Бэн Джонсан (Ben Johnson), аўтар NoSQL-сховішча BoltDB, прадставіў праект Litestream, які прадстаўляе надбудову для арганізацыі рэплікацыі дадзеных у SQLite. Litestream не патрабуе ўнясення змен у SQLite і можа працаваць з любымі праграмамі, якія выкарыстоўваюць дадзеную бібліятэку. Рэплікацыяй займаецца асобна выкананы фонавы працэс, які адсочвае змены ў файлах з БД і пераносіць іх у іншы файл ці ў вонкавае сховішча. Код праекту напісаны на мове Go і распаўсюджваецца пад ліцэнзіяй Apache 2.0.

Усё ўзаемадзеянне з БД вырабляецца праз штатны API SQLite, г.зн. Litestream напрамую не ўмешваецца ў працу, не ўплывае на прадукцыйнасць і не можа пашкодзіць змесціва БД, што выгадна адрознівае Litestream ад такіх рашэнняў, як Rqlite і Dqlite. Змены адсочваюцца праз уключэнне WAL-часопіса ("Write-Ahead Log") у SQLite. Для эканоміі месца ў сховішча сістэма перыядычна агрэгуе струмень змен у зрэзы (снапшоты) БД, па-над якімі пачынаюць назапашвацца іншыя змены. Час стварэння зрэзаў паказваецца ў наладах, напрыклад, можна фармаваць зрэзы раз у дзень або раз у гадзіну.

У якасці асноўных абласцей ужывання Litestream згадваецца арганізацыя бяспечнага рэзервовага капіявання і размеркаванне нагрузкі на чытанне на некалькі сервераў. Падтрымліваецца перанос струменя змен у сховішчы Amazon S3, Azure Blob Storage, Backblaze B2, DigitalOcean Spaces, Scaleway Object Storage, Google Cloud Storage, Linode Object Storage або на любы вонкавы хост, які падтрымлівае пратакол SFTP. У выпадку пашкоджання змесціва асноўнай БД рэзервовая копія можа быць адноўленая са стану, які адпавядае паказанаму моманту часу, вызначанай змене, апошняй змене або зададзенаму зрэзу.

Крыніца: opennet.ru

Дадаць каментар