SQLite garatzaileek HC-zuhaitz backend garatzen dute idazketa paraleloetarako laguntzarekin

SQLite proiektuko garatzaileak HCtree backend esperimental bat probatzen hasi dira, errenkada-mailako blokeoa onartzen duena eta paralelizazio maila handia eskaintzen duena kontsultak prozesatzen dituenean. Backend berria datu-basean aldi berean idazketa eskaera ugari prozesatu behar dituzten bezero-zerbitzari sistemetan SQLite erabiltzearen eraginkortasuna hobetzea du helburu.

Datuak gordetzeko SQLite-n berez erabiltzen diren b-zuhaitz egiturak ez daude karga mota honetarako diseinatuta, eta horrek SQLite hari bakarrera idaztera mugatzen du. Esperimentu gisa, garatzaileak biltegiratzeko HC-zuhaitz egiturak erabiltzen dituen irtenbide alternatibo bat garatzen hasi ziren, idazketa-eragiketak paralelizatzeko egokiagoak direnak.

Hainbat eragiketa aldi berean exekutatu ahal izateko, HCtree erregistroak transakzioen zatiketa-mekanismo bat erabiltzen du, orrialde-mailako blokeoa erabiltzen duena eta MVCC (Bertsio Anitzeko Concurrent Control) antzekoa dena, baina gakoetan eta gako-barrutietan oinarritutako transakzio-egiaztapenak erabiltzen ditu orrialde multzoen ordez. Irakurketa eta idazketa eragiketak datu-basearen argazkiarekin lotuta egiten dira, eta aldaketak datu-base nagusian ikusgai bihurtzen dira transakzioa amaitu ondoren.

Bezeroek hiru transakzio eragiketa erabil ditzakete:

  • "HASI": transakzioek ez dituzte beste bezero batzuen sarbide-datuak kontuan hartzen. Transakzio baten barruan idazketa-eragiketak egiten badira, transakzioa exekutatzen ari den bitartean datu-basean beste idazketa-eragiketarik ez badago soilik egin daiteke.
  • "HASI ALDIBEREAN" - transakzioek beste bezero batzuen sarbideari buruzko informazioa biltzen dute. Transakzio baten barruan idazketa-eragiketak egiten badira, transakzioa konprometitu daiteke datu-basean argazkia sortu zenetik beste transakzio batzuk konprometitu badira.
  • "HASI BAKARRIK" - transakzio bat ireki ondoren, beste transakzio batzuen eragiketak blokeatzen ditu amaitu arte.

HCtree-k maisu-esklabuen erreplikazioa onartzen du, transakzioak beste datu-base batera migratzeko eta datu-base sekundarioak datu-base nagusiarekin sinkronizatuta mantentzeko aukera ematen duena. HCtree-k datu-basearen tamainaren muga ere kentzen du - 32 biteko datu-orrietako identifikatzaileen ordez, HCtree-k 48 bitekoenak erabiltzen ditu, eta horrek datu-basearen gehienezko tamaina 16 tebibytetik exbibyte 1era (milioi tebibyte) handitzen du. Espero da HCtree backend-arekin SQLite-ren errendimendua ez dela hari bakarreko backend klasikoa baino txikiagoa izango. HCtree euskarria duten SQLite bezeroek HC zuhaitzetan oinarritutako datu-baseetara eta SQLite datu-base zaharretara sartzeko gai izango dira.

Iturria: opennet.ru

Gehitu iruzkin berria