Në SQLite ata tashmë punojnë në një backend HCTree me mbështetje për shkrime paralele

SQLite

është një sistem i menaxhimit të bazës së të dhënave relacionale në përputhje me ACID, i përfshirë në një bibliotekë relativisht të vogël të shkruar në C

Zhvilluesit e projektit SQLite ka filluar testimin e një fundi eksperimental HCtree i cili mbështet bllokimin në nivel rreshti dhe siguron një nivel të lartë paralelizmi në përpunimin e pyetjeve.

Sa i përket backend-it të ri në të cilin po punojnë, përmendet se kjo synon të përmirësojë efikasitetin e përdorimit të SQLite në sistemet klient-server Ata duhet të përpunojnë një numër të madh kërkesash të njëkohshme për shkrim në bazën e të dhënave.

L b-Strukturat e pemëve të përdorura fillimisht në SQLite për të ruajtur të dhënat Ato nuk janë të dizajnuara për këtë lloj ngarkese., e cila kufizon SQLite për të shkruar vetëm në një transmetim. Si një eksperiment, zhvilluesit filluan të zhvillojnë një zgjidhje alternative që përdor strukturat HCtree për ruajtje, më të përshtatshme për paralelizimin e operacioneve të shkrimit.

Projekti HC-tree (hctree) është një përpjekje për të zhvilluar një bazë të re të bazës së të dhënave që përmirësohet në SQLite të rregullt si më poshtë:

Konkurrencë e përmirësuar: Përdorimi i zgjerimit start-concurrent e ndryshon këtë në mënyrë që të mund të ekzekutohet njëkohësisht duke përdorur mbylljen optimiste në nivelin e faqes. Kjo përmirëson disi konkurencën, por kyçja në nivel faqesh mund të zbulojë konflikte midis transaksioneve logjikisht të pavarura dhe operacionet COMMIT duhet ende të serializohen.

Mbështetja e përsëritjes: Stock SQLite mbështet zgjatja e seancës, i cili lejon që përmbajtja e një transaksioni të kryer të serializohet për transmetim dhe aplikim në një bazë të dhënash të dytë. Hctree e integron këtë në bazën e bazës së të dhënave dhe shton mbështetje për aplikimin e transaksioneve të tilla në bazat e të dhënave të ndjekësve në konfigurimet udhëheqës-ndjekës. Në këtë rast, transaksionet e marra nga një bazë e të dhënave kryesore mund të aplikohen më shpejt dhe me njëkohshmëri më të madhe se ato të aplikuara fillimisht në bazën e të dhënave kryesore, sepse jo vërtetimi i transaksionit.

Eliminimi i kufizimeve të madhësisë së bazës së të dhënave: Stock SQLite përdor numra faqesh 32-bit. Duke përdorur madhësinë e paracaktuar të faqes prej 4 KiB, kjo çon në një madhësi maksimale të bazës së të dhënave prej 2^44 bajt ose 16 TiB.

Për të kryer disa operacione në të njëjtën kohë, Regjistrat e HCtree përdorin një mekanizëm të ndarjes së transaksioneve i cili përdor kyçjet e nivelit të faqeve, të ngjashme me MVCC (kontrolli i përmbajtjes së versioneve të shumëfishta), por përdor kontrollet e transaksionit bazuar në diapazonin e çelësave dhe diapazonin e çelësave në vend të grupeve të faqeve.

Operacionet e leximit dhe shkrimit kryhen në lidhje me fotografinë e bazës së të dhënave, ndryshimet e të cilave bëhen të dukshme për bazën kryesore të të dhënave vetëm pasi transaksioni të përfundojë.

Klientët mund të përdorin tre operacione për të hapur transaksione:

  • «BEGIN«: Transaksionet nuk marrin parasysh të dhënat e aksesit të klientëve të tjerë. Nëse operacionet e shkrimit kryhen brenda një transaksioni, transaksioni mund të kryhet vetëm nëse nuk ka pasur operacione të tjera shkrimi në bazën e të dhënave gjatë kohës së ekzekutimit të tij.
    «FILLOJNË NJËNJËZOR«: Transaksionet mbledhin informacion në lidhje me aksesin e klientëve të tjerë. Nëse operacionet e shkrimit kryhen brenda një transaksioni, transaksioni mund të kryhet nëse transaksione të tjera janë kryer në bazën e të dhënave që nga krijimi i fotografisë.
    «FILLO EKSKLUZIVE«: pas hapjes së një transaksioni, bllokon operacionet e transaksioneve të tjera derisa të përfundojë.

HCtree mbështet replikimin master-slave, i cili ju lejon të transferoni transaksione në një bazë të dhënash tjetër dhe të mbani bazat e të dhënave sekondare në sinkron me bazën e të dhënave primare.

HCtree gjithashtu heq kufirin e madhësisë së bazës së të dhënave: në vend të identifikuesve të faqeve të të dhënave 32-bit, HCtree përdor identifikues 48-bit, gjë që rrit madhësinë maksimale të bazës së të dhënave nga 16 tebibajt në 1 ekzbibajt (milion tebibajt).

Performanca e SQLite me backend-in HCtree pritet të jetë të paktën po aq e mirë sa mbështetja klasike me një fillesë. Klientët SQLite me mbështetje HCtree do të jenë në gjendje të aksesojnë si bazat e të dhënave HC-tree ashtu edhe bazat e të dhënave të SQLite të trashëgimisë.

Fuente: https://sqlite.org/


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: AB Internet Networks 2008 SL
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.