Devlopè SQLite devlope backend HC-tree ak sipò pou ekri paralèl

Devlopè pwojè SQLite yo te kòmanse teste yon backend eksperimantal HCtree ki sipòte bloke nivo ranje epi li bay yon wo nivo paralelizasyon lè y ap trete demann. Nouvo backend la vize pou amelyore efikasite lè l sèvi avèk SQLite nan sistèm kliyan-sèvè ki gen pou trete yon gwo kantite demann ekri similtane nan baz done a.

Estrikti b-tree yo itilize natif natal nan SQLite pou estoke done yo pa fèt pou sa a kalite chaj, ki limite SQLite ekri nan yon sèl fil. Kòm yon eksperyans, devlopè yo te kòmanse devlope yon solisyon altènatif ki sèvi ak estrikti HC-pyebwa pou depo, ki pi apwopriye pou paralelize operasyon ekri.

Pou pèmèt plizyè operasyon yo kouri ansanm, yon dosye HCtree sèvi ak yon mekanis tranzaksyon patisyon ki itilize bloke nivo paj epi ki sanble ak MVCC (Kontwòl Konkourans Multi-Vèsyon) men sèvi ak chèk tranzaksyon ki baze sou kle ak seri kle olye de seri paj. Lekti ak ekri operasyon yo fèt an koneksyon avèk yon snapshot baz done, chanjman nan ki vin vizib nan baz done prensipal la sèlman apre tranzaksyon an fini.

Kliyan yo ka itilize twa operasyon tranzaksyon ouvè:

  • “KÒMANSE”—tranzaksyon yo pa pran an kont done aksè lòt kliyan yo. Si operasyon ekriti yo fèt nan yon tranzaksyon, tranzaksyon an ka komèt sèlman si pandan ekzekisyon li pa te gen okenn lòt operasyon ekri nan baz done a.
  • "KÒMANSE KOMANSE" - tranzaksyon yo kolekte enfòmasyon sou aksè lòt kliyan yo. Si operasyon ekriti yo fèt nan yon tranzaksyon, tranzaksyon an ka komèt si lòt tranzaksyon yo te komèt nan baz done a depi yo te kreye snapshot la.
  • "KÒMANSE EXCLUSIVE" - apre ouvèti yon tranzaksyon, li bloke operasyon nan lòt tranzaksyon jiskaske li fini.

HCtree sipòte replikasyon mèt-esklav, ki pèmèt ou imigre tranzaksyon yo nan yon lòt baz done epi kenbe baz done segondè yo nan senkronizasyon ak baz done prensipal la. HCtree tou retire limit la sou gwosè baz done - olye pou yo idantifyan paj done 32-bit, HCtree sèvi ak sa yo 48-bit, ki ogmante gwosè a baz done maksimòm soti nan 16 tebibyte a 1 exbibyte (milyon tebibyte). Li espere ke pèfòmans nan SQLite ak backend nan HCtree pa pral pi ba pase backend nan klasik sèl-threaded. Kliyan SQLite ak sipò HCtree yo pral kapab jwenn aksè nan tou de baz done ki baze sou pye bwa HC ak baz done eritaj SQLite.

Sous: opennet.ru

Add nouvo kòmantè