Litestream ilianzishwa kwa utekelezaji wa mfumo wa urudufishaji wa SQLite

Ben Johnson, mwandishi wa hifadhi ya BoltDB NoSQL, aliwasilisha mradi wa Litestream, ambao hutoa nyongeza kwa ajili ya kuandaa urudufishaji wa data katika SQLite. Litestream haihitaji mabadiliko yoyote kwa SQLite na inaweza kufanya kazi na programu yoyote inayotumia maktaba hii. Uigaji unafanywa na mchakato wa usuli uliotekelezwa kando ambao hufuatilia mabadiliko katika faili kutoka kwa hifadhidata na kuzihamisha hadi faili nyingine au kwa hifadhi ya nje. Msimbo wa mradi umeandikwa katika Go na kusambazwa chini ya leseni ya Apache 2.0.

Mwingiliano wote na hifadhidata unafanywa kupitia API ya kawaida ya SQLite, i.e. Litestream haiingiliani moja kwa moja na utendakazi, haiathiri utendakazi na haiwezi kuharibu yaliyomo kwenye hifadhidata, ambayo hutofautisha Litestream na suluhu kama vile Rqlite na Dqlite. Mabadiliko yanafuatiliwa kwa kuwezesha kumbukumbu ya WAL (β€œKumbukumbu ya Andika Mbele”) katika SQLite. Ili kuhifadhi nafasi ya kuhifadhi, mfumo mara kwa mara unajumuisha mtiririko wa mabadiliko kwenye vipande vya hifadhidata (snapshots), juu ya ambayo mabadiliko mengine huanza kujilimbikiza. Wakati wa kuunda vipande umeonyeshwa kwenye mipangilio; kwa mfano, unaweza kuunda vipande mara moja kwa siku au mara moja kwa saa.

Maeneo makuu ya utumaji programu ya Litestream ni pamoja na kupanga nakala salama na kusambaza mzigo wa kusoma kwenye seva nyingi. Inaauni kuhamisha mtiririko wa mabadiliko hadi Amazon S3, Azure Blob Storage, Backblaze B2, DigitalOcean Spaces, Scaleway Object Storage, Google Cloud Storage, Linode Object Storage, au seva pangishi yoyote ya nje inayotumia itifaki ya SFTP. Ikiwa yaliyomo kwenye hifadhidata kuu yameharibiwa, nakala rudufu inaweza kurejeshwa kutoka kwa hali inayolingana na wakati maalum, mabadiliko maalum, mabadiliko ya mwisho, au kipande maalum.

Chanzo: opennet.ru

Kuongeza maoni