Mundësi e integruar për motorin e ruajtjes TidesDB 1.0, e cila mbështet transaksionet ACID

ËshtĂ« publikuar versioni i parĂ« stabil i projektit TidesDB, i cili zhvillon njĂ« bibliotekĂ« pĂ«r ruajtjen e tĂ« dhĂ«nave nĂ« formatin çelĂ«s/vlerĂ«. Projekti mund tĂ« pĂ«rdoret si njĂ« motor i vetĂ«-rĂ«nĂ«, ose pĂ«r t'u integruar nĂ« aplikacione. NjĂ« nga mundĂ«sitĂ« kyçe tĂ« theksuara Ă«shtĂ« mbĂ«shtetje pĂ«r transaksionet ACID dhe optimizimi pĂ«r ruajtjen efektive tĂ« tĂ« dhĂ«nave nĂ« memorien Flash dhe RAM. Kodi Ă«shtĂ« shkruar nĂ« gjuhĂ«n C dhe shpĂ«rndahet nĂ«n licencĂ«n MPL 2.0. NdĂ«rlidhjet janĂ« pĂ«rgatitur pĂ«r gjuhĂ«t C++, Go, Java, Python, Rust, Lua dhe JavaScript.

Për ruajtjen e të dhënave përdoret struktura LSM-tree (përcaktimi i çelësit anën e lubrifikimit të regjistrit), e cila garanton performancë të lartë jo vetëm gjatë leximit, por gjithashtu gjatë kryerjes së operacioneve të shkruara dhe ndryshimeve të të dhënave. Operacionet e leximit nuk bllokojnë shkruarjen dhe leximin e të dhënave, ndërsa operacionet e shkruarjes bllokojnë vetëm familjen e kolonave në të cilën po kryhet shkruarja. Për një përshpejtim të shtuar të leximit, mbështeten indekset dhe përmirësimi duke përdorur bloom-filtër (lejon verifikimin e përfshirjes në një grup, duke toleruar definimin e gabuar të mungesës së një elementi, por duke përjashtuar humbjen e një elementi ekzistues).

Ka njĂ« mbĂ«shtetje tĂ« plotĂ« pĂ«r transaksionet ACID, duke lejuar ndĂ«rhyrje atomike qĂ« pĂ«rfshijnĂ« familjet e kolonave dhe, kur tĂ« jetĂ« e nevojshme, tĂ«rheqjen atomike tĂ« operacioneve. TĂ« dhĂ«nat mund tĂ« ruhen nĂ« format tĂ« kompresuar me zgjedhjen e algoritmit tĂ« kompresimit nĂ« lidhje me familjen e kolonave. ËshtĂ« e mundur tĂ« vendosen bllokime nĂ« nivelin e familjeve tĂ« veçanta tĂ« kolonave dhe paketimin e ruajtjes nĂ« modin paralel pa bllokimin e operacioneve me bazĂ«n e tĂ« dhĂ«nave.

Funksionalitetet kryesore:

  • MbĂ«shtetje pĂ«r familjet e kolonave (Column Families) — grupe tĂ« izoluara tĂ« tĂ« dhĂ«nave nĂ« formatin çelĂ«s/vlerĂ«. PĂ«r çdo familje kolone pĂ«rdoren memtable, SSTable dhe log WAL tĂ« veta.
  • Transaksionet ACID, tĂ« cilat pĂ«rfshijnĂ« disa operacione me familjet e kolonave.
  • Optimizimi pĂ«r qasjen paralel nĂ« tĂ« dhĂ«na.
  • MbĂ«shtetje pĂ«r iteratorĂ« dyanshĂ«m, duke lejuar kalimin e çelĂ«save/vlerave pĂ«rpara ose prapa nĂ« raport me pozitat e zgjedhura nĂ« ruajtje, duke pĂ«rdorur metodĂ«n e renditjes fillestare.
  • MbĂ«shtetje pĂ«r shtimin e funksioneve tĂ« krahasimit tĂ« çelĂ«save. Prania e funksioneve tĂ« brendshme tĂ« krahasimit memcmp, string dhe numeric.
  • PĂ«rmbajtja e logut tĂ« operacioneve (WAL, Write-Ahead Log) dhe rikuperimi automatik i memtable (ruajtja nĂ« RAM) nga ky log gjatĂ« nisjes.
  • PĂ«rdorimi i Bloom-filtrave pĂ«r minimizimin e kĂ«rkesave ndaj ruajtĂ«sit pĂ«rmes verifikimit tĂ« pranisĂ« sĂ« çelĂ«sit pĂ«rpara leximit nga SSTable (ruajtja e pĂ«rhershme).
  • MbĂ«shtetje pĂ«r algoritmat Snappy, LZ4 dhe ZSTD pĂ«r kompresimin e regjistrave nĂ« SSTable dhe logun WAL.
  • MundĂ«sia e pĂ«rcaktimit tĂ« kohĂ«s sĂ« jetĂ«s sĂ« regjistrave (TTL) dhe pĂ«rjashtimi automatik i regjistrave tĂ« skaduar.
  • Tre mĂ«nyra tĂ« sinkronizimit tĂ« tĂ« dhĂ«nave nĂ« RAM me ruajtjen e pĂ«rhershme: NONE (mĂ« e shpejtĂ«), BACKGROUND (e balancuar), FULL (mĂ« e besueshme).
  • MundĂ«sia e konfigurimit tĂ« madhĂ«sisĂ« sĂ« memtable, metodave tĂ« kompresimit, bloom-filtrave, mĂ«nyrĂ«s sĂ« sinkronizimit dhe parametrave tĂ« paketimit pĂ«r çdo familje kolone.
  • API i thjeshtĂ« C, qĂ« kthen 0 kur operacioni Ă«shtĂ« kryer me sukses dhe -1 kur ka ndodhur njĂ« gabim.
  • PĂ«rdorimi i SBHA (Sorted Binary Hash Array) pĂ«r kĂ«rkimin e shpejtĂ« tĂ« tĂ« dhĂ«nave nĂ« SSTable, duke lejuar pĂ«rcaktimin e offset-eve tĂ« blloqeve me çelĂ«sa pa bĂ«rĂ« skanime tĂ« plota.
  • Format kompakt dhe portativ tĂ« pĂ«rfaqĂ«simit tĂ« bazĂ«s, i cili mbĂ«shtet versionimin.
  • Mekanizma tĂ« brendshĂ«m pĂ«r kontrollin e integritetit, identifikimin e dĂ«mtimeve tĂ« tĂ« dhĂ«nave dhe rikuperimin.

Burimi: opennet.ru

Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Bleni hostim tĂ« besueshĂ«m pĂ«r faqe me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster