Vagadziri veSQLite vanogadzira HC-muti backend nerutsigiro rwekufanana kunyora

Vagadziri vepurojekiti yeSQLite vatanga kuyedza HCtree backend inotsigira kukiya mutsara-level uye inopa huwandu hwepamusoro hwekufananidza kana uchigadzirisa mibvunzo. Iyo itsva backend ine chinangwa chekuvandudza kugona kwekushandisa SQLite mumatengi-server masisitimu anofanirwa kugadzirisa nhamba huru yezvikumbiro zvekunyora panguva imwe chete kune database.

Iwo ma-b-muti zvimiro zvechinyakare anoshandiswa muSQLite kuchengetedza data haana kugadzirirwa rudzi urwu rwemutoro, izvo zvinomisa SQLite kunyora kune imwechete shinda. Sechiyedzo, vagadziri vakatanga kugadzira imwe mhinduro inoshandisa HC-miti zvimiro zvekuchengetedza, iyo inonyanya kukodzera kuenderana kunyora mabasa.

Kubvumira maitiro akawanda kuti ashande panguva imwe chete, rekodhi reHCtree rinoshandisa nzira yekutengeserana yekugovera iyo inoshandisa peji-level kukiya uye yakafanana neMVCC (Multi-Version Concurrency Control) asi inoshandisa cheki yekutengeserana zvichienderana nemakiyi uye makiyi emhando panzvimbo yemapeji seti. Kuverenga nekunyora mashandiro anoitwa ane chekuita nedatabase snapshot, shanduko idzo dzinoonekwa mudura guru chete mushure mekunge kutengeserana kwapera.

Vatengi vanogona kushandisa matatu akavhurika transaction mashandiro:

  • "BEGIN" -mabatirwo haatarisire ruzivo rwevamwe vatengi. Kana mabasa ekunyora akaitwa mukati mekutengeserana, kutengeserana kunogona kuitwa chete kana panguva yekushandiswa kwayo kwakanga kusina mamwe mabasa ekunyora mu database.
  • "BEGIN CONCURRENT" - kutengeserana kuunganidza ruzivo nezve kuwana kwevamwe vatengi. Kana zvinyorwa zvekunyora zvikaitwa mukati mekutengeserana, kutengeserana kunogona kuitwa kana kumwe kutengeserana kwakaitwa mudhatabhesi kubva pakagadzirwa mufananidzo.
  • "TANGA EXCLUSIVE" - mushure mekuvhura kutengeserana, inovhara mashandiro kubva kune mamwe ma transaction kusvika yapera.

HCtree inotsigira tenzi-muranda kudzokororwa, izvo zvinokutendera kuti uendese kutengeserana kune imwe dhatabhesi uye chengetedza yechipiri dhatabhesi mukuwirirana neyekutanga dhatabhesi. HCtree inobvisawo muganhu pakukura kwedatabase - panzvimbo ye32-bit data peji identifiers, HCtree inoshandisa 48-bit iyo, iyo inowedzera saizi yepamusoro yedatabase kubva pa16 tebibytes kusvika pa1 exbibyte (mamiriyoni tebibytes). Zvinotarisirwa kuti kuita kweSQLite neHCtree backend hakuzove kwakaderera pane yekirasi imwechete-yakarukwa backend. Vatengi veSQLite vane HCtree rutsigiro vachakwanisa kuwana ese ari maviri HC-muti-yakavakirwa dhatabhesi uye yenhaka SQLite dhatabhesi.

Source: opennet.ru

Voeg