Abaphuhlisi beSQLite baphuhlisa i-HC-tree backend kunye nenkxaso yokubhala okuhambelanayo

Abaphuhlisi beprojekthi yeSQLite baye baqalisa ukuvavanya i-HCtree backend yovavanyo exhasa ukutshixa kwinqanaba lomqolo kwaye ibonelela ngenqanaba eliphezulu lokunxulunyaniswa xa kusetyenzwa imibuzo. I-backend entsha ijolise ekuphuculeni ukusebenza kakuhle kokusebenzisa i-SQLite kwiinkqubo ze-client-server ezimele ziqhube inani elikhulu lezicelo zokubhala ngaxeshanye kwisiseko sedatha.

Izakhiwo ze-b-tree ezisetyenziswa ngokwemveli kwiSQLite ukugcina idatha aziyilwanga ngolu hlobo lomthwalo, olunqanda iSQLite ukuba ibhale kumsonto omnye kuphela. Njengomfuniselo, abaphuhlisi baqala ukuphuhlisa esinye isisombululo esisebenzisa izakhiwo ze-HC-tree zokugcinwa, ezifanelekileyo ngakumbi ekusebenzeni ngokuhambelana nokubhala.

Ukuvumela imisebenzi emininzi ukuba iqhube ngaxeshanye, irekhodi yeHCtree isebenzisa indlela yokwahlulahlula kwentengiselwano esebenzisa ukutshixa kwinqanaba lekhasi kwaye iyafana neMVCC (Ulawulo lwe-Multi-Version Concurrency Control) kodwa isebenzisa iitshekhi zokuthengiselana ngokusekelwe kwizitshixo kunye noluhlu oluphambili endaweni yeeseti zephepha. Imisebenzi yokufunda nokubhala yenziwa ngokunxulumene ne-snapshot yedatha, utshintsho apho lubonakala kwisiseko sedatha kuphela emva kokuba kugqitywe ukuthengiselana.

Abathengi banokusebenzisa imisebenzi emithathu evulekileyo yentengiselwano:

  • β€œQALA”—intengiselwano ayithatheli ngqalelo idatha yofikelelo yabanye abaxumi. Ukuba imisebenzi yokubhala yenziwa ngaphakathi kwentengiselwano, intengiselwano inokwenziwa kuphela ukuba ngexesha lokwenziwa kwayo kwakungekho minye imisebenzi yokubhala kwisiseko sedatha.
  • "QALA NGOKUQHELEKILEYO" - iintengiselwano ziqokelela ulwazi malunga nokufikelela kwabanye abathengi. Ukuba imisebenzi yokubhala yenziwa ngaphakathi kwentengiselwano, intengiselwano inokwenziwa ukuba ezinye iintengiselwano zenziwe kwisiseko sedatha ukususela oko kwenziwa umfanekiso okhawulezayo.
  • "QALA NGOKUQHELEKILEYO" - emva kokuvula intengiselwano, ivimba imisebenzi evela kwezinye iintengiselwano de igqitywe.

I-HCtree ixhasa ukuphindaphinda kwe-master-slave, ekuvumela ukuba ufudukele ukuthengiselana kwenye i-database kwaye ugcine i-database ye-secondary sync kunye nesiseko sesiseko. I-HCtree iphinda isuse umda kubungakanani besiseko sedatha - endaweni yezazisi zephepha ledatha ye-32-bit, i-HCtree isebenzisa i-48-bit enye, eyandisa ubungakanani bedatha yedatha ukusuka kwi-tebibytes eyi-16 ukuya kwi-exbibyte ye-1 (i-tebibytes yezigidi). Kulindeleke ukuba ukusebenza kweSQLite kunye ne-HCtree backend ayiyi kuba ngaphantsi kwe-classic single-threaded backend. Abathengi beSQLite abanenkxaso yeHCtree baya kukwazi ukufikelela kuluhlu lweenkcukacha ezisekelwe kwi-HC-tree kunye nedatha ye-SQLite yelifa.

umthombo: opennet.ru

Yongeza izimvo