Litestream SQLite үшін репликация жүйесін енгізу арқылы енгізілді

Бен Джонсон, BoltDB NoSQL қоймасының авторы SQLite жүйесінде деректердің репликациясын ұйымдастыруға арналған қосымшаны ұсынатын Litestream жобасын ұсынды. Litestream SQLite-ге ешқандай өзгертулерді қажет етпейді және осы кітапхананы пайдаланатын кез келген қолданбамен жұмыс істей алады. Репликация деректер базасынан файлдардағы өзгерістерді бақылайтын және оларды басқа файлға немесе сыртқы жадқа тасымалдайтын бөлек орындалатын фондық процесс арқылы жүзеге асырылады. Жоба коды Go бағдарламасында жазылған және Apache 2.0 лицензиясы бойынша таратылады.

Дерекқормен барлық өзара әрекеттесу стандартты SQLite API арқылы жүзеге асырылады, яғни. Litestream жұмысына тікелей кедергі жасамайды, өнімділікке әсер етпейді және дерекқордың мазмұнын зақымдай алмайды, бұл Litestream-ді Rqlite және Dqlite сияқты шешімдерден ерекшелендіреді. Өзгерістер SQLite жүйесінде WAL журналын («Алдын ала жазу журналы») қосу арқылы бақыланады. Сақтау орнын үнемдеу үшін жүйе өзгерістер ағынын кезеңді түрде дерекқор бөліктеріне (суреттер) біріктіреді, оның үстіне басқа өзгерістер жинақталады. Параметрлерде кесектерді жасау уақыты көрсетілген, мысалы, күніне бір рет немесе сағатына бір рет кесінділерді жасауға болады.

Litestream қолданбасының негізгі бағыттары қауіпсіз сақтық көшірмелерді ұйымдастыруды және оқу жүктемесін бірнеше серверлер бойынша таратуды қамтиды. Ол өзгерту ағынын Amazon S3, Azure Blob Storage, Backblaze B2, DigitalOcean Spaces, Scaleway Object Storage, Google Cloud Storage, Linode Object Storage немесе SFTP протоколын қолдайтын кез келген сыртқы хостқа тасымалдауды қолдайды. Негізгі дерекқордың мазмұны зақымдалған болса, сақтық көшірмені белгілі бір уақыт нүктесіне, белгілі бір өзгеріске, соңғы өзгертуге немесе белгілі бір бөлікке сәйкес күйден қалпына келтіруге болады.

Ақпарат көзі: opennet.ru

пікір қалдыру