SQLite verktaki þróa HC-tré bakenda með stuðningi við samhliða skrif

SQLite verkefnahönnuðir hafa byrjað að prófa tilrauna HCtree bakenda sem styður læsingu á röðum og veitir mikla samhliða samsetningu þegar unnið er úr fyrirspurnum. Nýja bakendinn miðar að því að bæta skilvirkni þess að nota SQLite í biðlara-miðlara kerfum sem þurfa að vinna úr fjölda samtímis skrifabeiðna í gagnagrunninn.

B-tré mannvirkin sem notuð eru innfædd í SQLite til að geyma gögn eru ekki hönnuð fyrir þessa tegund af álagi, sem takmarkar SQLite til að skrifa aðeins á einn þráð. Sem tilraun byrjuðu verktaki að þróa aðra lausn sem notar HC-tré mannvirki til geymslu, sem henta betur til að samsíða skrifaðgerðum.

Til að leyfa mörgum aðgerðum að keyra samtímis notar HCtree skrár færsluskiptingarkerfi sem notar læsingu á síðustigi og er svipað og MVCC (Multi-Version Concurrency Control) en notar færsluathuganir byggðar á lyklum og lyklasviðum í stað blaðsíðusetta. Les- og skrifaaðgerðir eru gerðar í tengslum við skyndimynd gagnagrunns, breytingar sem verða sýnilegar í aðalgagnagrunninum fyrst eftir að viðskiptunum er lokið.

Viðskiptavinir geta notað þrjár opnar viðskiptaaðgerðir:

  • „BYRJA“—viðskipti taka ekki tillit til aðgangsgagna annarra viðskiptavina. Ef skrifaðgerðir eru framkvæmdar innan færslu er aðeins hægt að framkvæma færsluna ef engar aðrar skrifaðgerðir voru í gagnagrunninum meðan þær voru framkvæmdar.
  • "BYRJA SAMTÍÐA" - viðskipti safna upplýsingum um aðgang annarra viðskiptavina. Ef ritaðgerðir eru framkvæmdar innan færslu er hægt að framkvæma færsluna ef aðrar færslur hafa verið framkvæmdar í gagnagrunninum síðan skyndimyndin var búin til.
  • „BYRJA EXCLUSIVE“ - eftir að viðskipti eru opnuð lokar það aðgerðum frá öðrum viðskiptum þar til henni er lokið.

HCtree styður afritun herra-þræla, sem gerir þér kleift að flytja viðskipti yfir í annan gagnagrunn og halda aukagagnagrunnum samstilltum við aðalgagnagrunninn. HCtree fjarlægir einnig takmörkun gagnagrunnsstærðar - í stað 32-bita gagnasíðuauðkenni notar HCtree 48-bita, sem eykur hámarks gagnagrunnsstærð úr 16 tebibyte í 1 exbibyte (milljón tebibyte). Gert er ráð fyrir að afköst SQLite með HCtree bakenda verði ekki lægri en klassíski einþráður bakendi. SQLite viðskiptavinir með HCtree stuðning munu geta nálgast bæði HC-tré byggða gagnagrunna og eldri SQLite gagnagrunna.

Heimild: opennet.ru

Bæta við athugasemd