Ipinakilala ang Litestream sa pagpapatupad ng sistema ng pagtitiklop para sa SQLite

Ipinakita ni Ben Johnson, may-akda ng imbakan ng BoltDB NoSQL, ang proyekto ng Litestream, na nagbibigay ng add-on para sa pag-aayos ng pagtitiklop ng data sa SQLite. Ang Litestream ay hindi nangangailangan ng anumang mga pagbabago sa SQLite at maaaring gumana sa anumang application na gumagamit ng library na ito. Ang pagtitiklop ay isinasagawa sa pamamagitan ng isang hiwalay na isinagawa na proseso sa background na sinusubaybayan ang mga pagbabago sa mga file mula sa database at inililipat ang mga ito sa isa pang file o sa panlabas na imbakan. Ang code ng proyekto ay nakasulat sa Go at ipinamahagi sa ilalim ng lisensya ng Apache 2.0.

Ang lahat ng pakikipag-ugnayan sa database ay isinasagawa sa pamamagitan ng karaniwang SQLite API, i.e. Ang Litestream ay hindi direktang nakakasagabal sa pagpapatakbo, hindi nakakaapekto sa pagganap at hindi makakasira sa mga nilalaman ng database, na nagpapakilala sa Litestream sa mga solusyon tulad ng Rqlite at Dqlite. Ang mga pagbabago ay sinusubaybayan sa pamamagitan ng pagpapagana sa WAL log (β€œWrite-Ahead Log”) sa SQLite. Upang makatipid ng espasyo sa imbakan, pana-panahong pinagsama-sama ng system ang stream ng mga pagbabago sa mga hiwa ng database (mga snapshot), kung saan nagsisimulang maipon ang iba pang mga pagbabago. Ang oras para sa paggawa ng mga hiwa ay ipinahiwatig sa mga setting; halimbawa, maaari kang lumikha ng mga hiwa isang beses sa isang araw o isang beses sa isang oras.

Kabilang sa mga pangunahing lugar ng aplikasyon para sa Litestream ang pag-aayos ng mga secure na backup at pamamahagi ng pag-load ng pagbabasa sa maraming server. Sinusuportahan nito ang paglipat ng stream ng pagbabago sa Amazon S3, Azure Blob Storage, Backblaze B2, DigitalOcean Spaces, Scaleway Object Storage, Google Cloud Storage, Linode Object Storage, o anumang panlabas na host na sumusuporta sa SFTP protocol. Kung ang mga nilalaman ng pangunahing database ay nasira, ang backup na kopya ay maaaring maibalik mula sa isang estado na naaayon sa isang tinukoy na punto sa oras, isang partikular na pagbabago, ang huling pagbabago, o isang tinukoy na slice.

Pinagmulan: opennet.ru

Magdagdag ng komento