V SQLite už fungujú na backende HCTree s podporou paralelných zápisov

SQLite

je ACID-kompatibilný systém správy relačných databáz, obsiahnutý v relatívne malej knižnici napísanej v C

Vývojári projektu SQLite začali testovať experimentálny backend HCtree ktorý podporuje uzamykanie na úrovni riadkov a poskytuje vysokú úroveň paralelizmu pri spracovaní dotazov.

Čo sa týka nového backendu, v ktorom pracujú, spomína sa, že toto má za cieľ zlepšiť efektivitu používania SQLite v systémoch klient-server Musia spracovať veľké množstvo súbežných požiadaviek na zápis do databázy.

L pôvodne používané štruktúry b-stromu v SQLite na ukladanie údajov Nie sú určené pre tento typ zaťaženia., čo obmedzuje SQLite na zápis len do jedného streamu. Ako experiment vývojári začali vyvíjať alternatívne riešenie, ktoré využíva štruktúry HCtree na ukladanie, vhodnejšie na paralelizáciu operácií zápisu.

Projekt HC-tree (hctree) je pokusom vyvinúť nový databázový backend, ktorý vylepšuje bežný SQLite takto:

Vylepšená súbežnosť: Použitím rozšírenia begin-concurrent sa to zmení tak, že ho možno spustiť súbežne pomocou optimistického uzamykania na úrovni stránky. To trochu zlepšuje súbežnosť, ale zamykanie na úrovni stránky môže odhaliť konflikty medzi logicky nezávislými transakciami a operácie COMMIT je stále potrebné serializovať.

Podpora replikácie: Stock SQLite podporuje rozšírenie relácie, ktorý umožňuje serializáciu obsahu potvrdenej transakcie na prenos a aplikáciu do druhej databázy. Hctree to integruje do backendu databázy a pridáva podporu pre aplikáciu takýchto transakcií do databáz nasledovníkov v konfiguráciách vedúci-nasledovateľ. V tomto prípade môžu byť transakcie prijaté z vedúcej databázy aplikované rýchlejšie a s väčšou súbežnosťou ako tie, ktoré boli pôvodne aplikované na vedúcu databázu, pretože overenie transakcie.

Odstránenie obmedzení veľkosti databázy: Stock SQLite používa 32-bitové čísla stránok. Pri použití predvolenej veľkosti stránky 4 kB to vedie k maximálnej veľkosti databázy 2^44 bajtov alebo 16 TiB.

Ak chcete zvládnuť niekoľko operácií súčasne, Protokoly HCtree používajú mechanizmus oddelenia transakcií ktorý používa zámky na úrovni stránky, podobne ako MVCC (kontrola zadržiavania viacerých verzií), ale namiesto sád stránok používa ovládacie prvky transakcií založené na rozsahoch kľúčov a rozsahov kľúčov.

Operácie čítania a zápisu sa vykonávajú vo vzťahu k snímke databázy, ktorej zmeny sú viditeľné v hlavnej databáze až po dokončení transakcie.

Klienti môžu na otvorenie transakcií použiť tri operácie:

  • «ZAČAŤ«: Transakcie nezohľadňujú prístupové údaje iných zákazníkov. Ak sa v rámci transakcie vykonajú operácie zápisu, transakcia môže byť potvrdená len vtedy, ak počas jej vykonávania do databázy neboli žiadne iné operácie zápisu.
    «ZAČAŤ SÚČASNE«: Transakcie zhromažďujú informácie o prístupe iných klientov. Ak sa v rámci transakcie vykonávajú operácie zápisu, transakcia môže byť potvrdená, ak boli do databázy potvrdené iné transakcie od vytvorenia snímky.
    «ZAČIATOK EXKLUZÍVNE«: po otvorení transakcie zablokuje operácie ostatných transakcií, kým sa nedokončí.

HCtree podporuje replikáciu master-slave, ktorá vám umožňuje prenášať transakcie do inej databázy a udržiavať sekundárne databázy v synchronizácii s primárnou databázou.

HCtree tiež odstraňuje obmedzenie veľkosti databázy: namiesto 32-bitových identifikátorov dátových stránok používa HCtree 48-bitové identifikátory, čo zvyšuje maximálnu veľkosť databázy zo 16 tebibajtov na 1 exbibajt (milión tebibajtov).

Očakáva sa, že výkon SQLite s backendom HCtree bude minimálne taký dobrý ako pri klasickom jednovláknovom backende. Klienti SQLite s podporou HCtree budú môcť pristupovať k databázam stromu HC aj k starším databázam SQLite.

Fuente: https://sqlite.org/


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Za údaje zodpovedá: AB Internet Networks 2008 SL
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.