Litestream воведен со имплементација на системот за репликација за SQLite

Бен Џонсон, автор на складирањето на BoltDB NoSQL, го претстави проектот Litestream, кој обезбедува додаток за организирање на репликација на податоци во SQLite. Litestream не бара никакви промени во SQLite и може да работи со која било апликација што ја користи оваа библиотека. Репликацијата се врши со одделно извршен процес во заднина кој ги следи промените во датотеките од базата на податоци и ги пренесува во друга датотека или во надворешно складирање. Проектниот код е напишан во Go и дистрибуиран под лиценцата Apache 2.0.

Целата интеракција со базата на податоци се врши преку стандардниот SQLite API, т.е. Litestream не се меша директно во работата, не влијае на перформансите и не може да ја оштети содржината на базата на податоци, што го разликува Litestream од решенија како Rqlite и Dqlite. Промените се следат со овозможување на дневникот WAL („Дневник за пишување напред“) во SQLite. За да заштеди простор за складирање, системот периодично го собира протокот на промени во делови од базата на податоци (слики), врз кои почнуваат да се акумулираат други промени. Времето за создавање парчиња е означено во поставките; на пример, можете да креирате парчиња еднаш дневно или еднаш на час.

Главните области на примена за Litestream вклучуваат организирање безбедни резервни копии и дистрибуција на оптоварувањето за читање низ повеќе сервери. Поддржува пренесување на протокот на промени во Amazon S3, Azure Blob Storage, Backblaze B2, DigitalOcean Spaces, Scaleway Object Storage, Google Cloud Storage, Linode Object Storage или кој било надворешен хост што го поддржува протоколот SFTP. Ако содржината на главната база на податоци е оштетена, резервната копија може да се врати од состојба која одговара на одредена временска точка, одредена промена, последната промена или одредено парче.

Извор: opennet.ru

Додадете коментар