Watengenezaji wa SQLite hutengeneza HC-tree backend kwa usaidizi wa uandishi sambamba

Wasanidi wa mradi wa SQLite wameanza kujaribu mazingira ya nyuma ya majaribio ya HCtree ambayo yanaauni ufungaji wa kiwango cha safu mlalo na kutoa kiwango cha juu cha ulinganishaji wakati wa kuchakata hoja. Marudio mapya yanalenga kuboresha ufanisi wa kutumia SQLite katika mifumo ya seva ya mteja ambayo inapaswa kushughulikia idadi kubwa ya maombi ya kuandika kwa wakati mmoja kwenye hifadhidata.

Miundo ya b-tree inayotumika asili katika SQLite kuhifadhi data haijaundwa kwa aina hii ya upakiaji, ambayo inawekea SQLite kikomo kuandika kwa uzi mmoja pekee. Kama jaribio, watengenezaji walianza kutengeneza suluhisho mbadala ambalo hutumia miundo ya miti ya HC kwa uhifadhi, ambayo inafaa zaidi kwa shughuli za uandishi zinazofanana.

Ili kuruhusu shughuli nyingi kutekelezwa kwa wakati mmoja, rekodi ya HCtree hutumia utaratibu wa kugawanya shughuli unaotumia kufunga kwa kiwango cha ukurasa na ni sawa na MVCC (Udhibiti wa Concurrency wa Toleo nyingi) lakini hutumia ukaguzi wa muamala kulingana na funguo na visanduku muhimu badala ya seti za kurasa. Shughuli za kusoma na kuandika hufanywa kuhusiana na muhtasari wa hifadhidata, mabadiliko ambayo yanaonekana kwenye hifadhidata kuu tu baada ya shughuli kukamilika.

Wateja wanaweza kutumia shughuli tatu za muamala wazi:

  • β€œANZA”—shughuli za malipo hazizingatii data ya ufikiaji ya wateja wengine. Ikiwa shughuli za uandishi zinafanywa ndani ya shughuli, shughuli hiyo inaweza kufanywa tu ikiwa wakati wa utekelezaji wake hapakuwa na shughuli zingine za uandishi kwenye hifadhidata.
  • "ANZA KWA PAMOJA" - miamala hukusanya taarifa kuhusu ufikiaji wa wateja wengine. Ikiwa shughuli za uandishi zitafanywa ndani ya muamala, muamala unaweza kufanywa ikiwa miamala mingine imefanywa katika hifadhidata tangu muhtasari kuundwa.
  • "ANZA KIPEKEE" - baada ya kufungua shughuli, inazuia shughuli kutoka kwa shughuli zingine hadi ikamilike.

HCtree inasaidia urudufishaji wa bwana-slave, ambayo inakuruhusu kuhamisha shughuli hadi hifadhidata nyingine na kuweka hifadhidata za upili katika kusawazisha na hifadhidata msingi. HCtree pia huondoa kizuizi kwenye saizi ya hifadhidata - badala ya vitambulishi vya ukurasa wa data-32, HCtree hutumia 48-bit, ambayo huongeza ukubwa wa hifadhidata wa juu kutoka tebibytes 16 hadi 1 exbibyte (tebibytes milioni). Inatarajiwa kwamba utendakazi wa SQLite yenye mandharinyuma ya HCtree hautakuwa chini kuliko mandharinyuma ya kawaida yenye nyuzi moja. Wateja wa SQLite walio na usaidizi wa HCtree wataweza kufikia hifadhidata zote mbili zenye msingi wa miti na hifadhidata zilizopitwa na wakati za SQLite.

Chanzo: opennet.ru

Kuongeza maoni