U SQLiteu već rade na HCTree pozadini s podrškom za paralelno pisanje

SQLite

je sustav za upravljanje relacijskom bazom podataka usklađen s ACID-om, sadržan u relativno maloj biblioteci napisanoj u C-u

Programeri projekta SQLite je počeo testirati eksperimentalni HCtree backend koji podržava zaključavanje na razini retka i pruža visoku razinu paralelizma u obradi upita.

Što se tiče novog backenda u kojem rade, spominje se da je ovaj ima za cilj poboljšati učinkovitost korištenja SQLite u sustavima klijent-poslužitelj Moraju obraditi veliki broj istodobnih zahtjeva za pisanje u bazu podataka.

Las izvorno korištene strukture b-stabla u SQLite za pohranu podataka Nisu dizajnirani za ovu vrstu opterećenja., što ograničava SQLite na pisanje samo u jedan tok. Kao eksperiment, programeri su počeli razvijati alternativno rješenje koje koristi strukture HCtree za pohranu, prikladnije za paraleliziranje operacija pisanja.

Projekt HC-tree (hctree) pokušaj je razvoja nove pozadine baze podataka koja poboljšava uobičajeni SQLite na sljedeći način:

Poboljšana konkurentnost: Upotreba proširenja begin-concurrent ovo mijenja tako da se može izvoditi istovremeno pomoću optimističnog zaključavanja na razini stranice. To donekle poboljšava konkurentnost, ali zaključavanje na razini stranice može otkriti sukobe između logički neovisnih transakcija, a operacije COMMIT i dalje moraju biti serijalizirane.

Podrška replikacije: Stock SQLite podržava produženje sesije, koji omogućuje serijalizaciju sadržaja predane transakcije za prijenos i primjenu u drugu bazu podataka. Hctree ovo integrira u pozadinsku bazu podataka i dodaje podršku za primjenu takvih transakcija na baze podataka sljedbenika u konfiguracijama vođa-sljedbenik. U ovom slučaju, transakcije primljene iz vodeće baze podataka mogu se primijeniti brže i s većom istodobnošću od onih koje su izvorno primijenjene na vodeću bazu podataka, jer ne validacija transakcije.

Uklanjanje ograničenja veličine baze podataka: Stock SQLite koristi 32-bitne brojeve stranica. Korištenjem zadane veličine stranice od 4 KiB, to dovodi do maksimalne veličine baze podataka od 2^44 bajta ili 16 TiB.

Za upravljanje nekoliko operacija u isto vrijeme, HCtree zapisnici koriste mehanizam odvajanja transakcija koji koristi zaključavanja na razini stranice, slično MVCC-u (kontrola zadržavanja više verzija), ali koristi kontrole transakcija temeljene na rasponima ključeva i rasponima ključeva umjesto skupova stranica.

Operacije čitanja i pisanja izvode se u odnosu na snimku baze podataka, čije promjene postaju vidljive glavnoj bazi podataka tek nakon završetka transakcije.

Klijenti mogu koristiti tri operacije za otvaranje transakcija:

  • «POČETI«: Transakcije ne uzimaju u obzir pristupne podatke drugih kupaca. Ako se operacije pisanja izvode unutar transakcije, transakcija se može predati samo ako nije bilo drugih operacija pisanja u bazu podataka tijekom vremena njezina izvođenja.
    «POČNI ISTODOBNO«: Transakcije prikupljaju informacije o pristupu drugih klijenata. Ako se unutar transakcije provode operacije pisanja, transakcija se može predati ako su druge transakcije predane bazi podataka otkad je snimka stvorena.
    «POČNI EKSKLUZIVNO«: nakon otvaranja transakcije blokira rad ostalih transakcija dok se ne završi.

HCtree podržava replikaciju master-slave, što vam omogućuje prijenos transakcija u drugu bazu podataka i održavanje sinkronizacije sekundarnih baza podataka s primarnom bazom podataka.

HCtree također uklanja ograničenje veličine baze podataka: umjesto 32-bitnih identifikatora podatkovne stranice, HCtree koristi 48-bitne identifikatore, što povećava maksimalnu veličinu baze podataka sa 16 tebibajta na 1 exbibajt (milijun tebibajta).

Očekuje se da će izvedba SQLite s pozadinom HCtree biti barem jednako dobra kao i klasična pozadina s jednom niti. SQLite klijenti s podrškom za HCtree moći će pristupiti i bazama podataka HC-stabla i naslijeđenim bazama podataka SQLite.

izvor: https://sqlite.org/


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  1. Odgovoran za podatke: AB Internet Networks 2008 SL
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.