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 արձանագրությանը: Եթե ​​հիմնական տվյալների բազայի բովանդակությունը վնասված է, կրկնօրինակը կարող է վերականգնվել մի վիճակից, որը համապատասխանում է ժամանակի որոշակի կետին, որոշակի փոփոխությանը, վերջին փոփոխությանը կամ նշված հատվածին:

Source: opennet.ru

Добавить комментарий