Disponueshëm motorin e integruar të magazinimit TidesDB 1.0, i cili 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 pavarur ose pĂ«r integrim nĂ« aplikacione. Nga funksionalitetet kyçe pĂ«rmendet mbĂ«shtetje pĂ«r transaksionet ACID dhe optimizim pĂ«r ruajtjen efektive tĂ« tĂ« dhĂ«nave nĂ« tĂ« dhĂ«nat Flash dhe nĂ« memorie. Kodi Ă«shtĂ« shkruar nĂ« gjuhĂ«n C dhe shpĂ«rndahet nĂ«n licencĂ«n MPL 2.0. Kyçjet 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 (pema e strukturuar me regjistrim dhe bashkimin), e cila siguron performancë të lartë jo vetëm gjatë leximit, por edhe gjatë kryerjes së operacioneve të shkruajtur dhe ndryshimit të të dhënave. Operacionet e leximit nuk bllokojnë shkrimin dhe leximin e të dhënave, ndërsa operacionet e shkrimit bllokojnë vetëm familjen e kolonave në të cilën kryhet shkrimi. Për përshpejtimin e leximit, mbështeten indekset dhe memorizimi në bazë të filtreve bloom (të cilat lejojnë verifikimin e përfshirjes në një grup, duke lejuar përcaktimin e gabuar të një elementi jo-ekzistues, por duke përjashtuar humbjen e një elementi ekzistues).

Ka mbĂ«shtetje tĂ« plotĂ« pĂ«r transaksionet ACID, tĂ« cilat lejojnĂ« ndryshime atomike qĂ« pĂ«rfshijnĂ« familjet e kolonave, dhe nĂ« rast nevoje, kthimin atomik tĂ« operacioneve. TĂ« dhĂ«nat mund tĂ« ruhen nĂ« njĂ« format tĂ« kompresuar duke zgjedhur algoritmin e kompresimit nĂ« lidhje me familjen e kolonave. ËshtĂ« e mundur qĂ« tĂ« vendosen bllokime nĂ« nivelin e familjeve tĂ« kolonave tĂ« veçanta dhe paketimi i magazinimit nĂ« mod paralel pa bllokuar kryerjen e operacioneve me DB.

Karakteristikat kryesore:

  • MbĂ«shtetje pĂ«r familjet e kolonave (Column Families) — grupe tĂ« izoluara tĂ« tĂ« dhĂ«nave nĂ« formatin çelĂ«s/vlerĂ«. PĂ«r secilĂ«n familje kolonash pĂ«rdoren Memtable, SSTable dhe WAL-log tĂ« veçanta.
  • Transaksionet ACID, duke pĂ«rfshirĂ« disa operacione me familjet e kolonave.
  • Optimizim pĂ«r qasje paralele nĂ« tĂ« dhĂ«na.
  • MbĂ«shtetje pĂ«r iteraatorĂ« tĂ« dyanshĂ«m, tĂ« cilĂ«t lejojnĂ« kalimin pĂ«rpara ose prapa tĂ« çifteve çelĂ«s/vlerĂ« nĂ« raport me pozitĂ«n e zgjedhur nĂ« magazinĂ«, duke pĂ«rdorur metodĂ«n e renditjes tĂ« vendosur fillimisht.
  • MbĂ«shtetje pĂ«r shtimin e funksioneve tĂ« veta tĂ« krahasimit tĂ« çelĂ«sve. Prania e funksioneve tĂ« builtin tĂ« krahasimit memcmp, string dhe numeric.
  • PĂ«rmbajtja e logut tĂ« operacioneve (WAL, Write-Ahead Log) dhe ringjallja automatike e memtable (ruajtja nĂ« memorien e pĂ«rkohshme) nga ky log gjatĂ« nisjes.
  • PĂ«rdorimi i Bloom-filtĂ«rve pĂ«r tĂ« minimizuar akseset nĂ« ruajtĂ«sin duke kontrolluar praninĂ« e çelĂ«sit para leximit nga SSTable (ruajtja e pĂ«rhershme).
  • MbĂ«shtetje pĂ«r algoritmet Snappy, LZ4 dhe ZSTD pĂ«r kompresimin e rekordĂ«ve nĂ« ruajtjen SSTable dhe WAL-log.
  • MundĂ«sia pĂ«r tĂ« pĂ«rcaktuar kohĂ«zgjatjen e jetĂ«s sĂ« rekordĂ«ve (TTL) dhe pĂ«rjashtimin automatik tĂ« rekordĂ«ve tĂ« skaduar.
  • TĂ« treja modet e sinkronizimit tĂ« tĂ« dhĂ«nave nĂ« RAM me ruajtjen pĂ«rhershme: NONE (mĂ« i shpejti), BACKGROUND (i balancuar), FULL (mĂ« i besueshĂ«m).
  • MundĂ«sia pĂ«r tĂ« konfiguruar madhĂ«sinĂ« e memtable, metodologjitĂ« e kompresimit, Bloom-filtĂ«rat, modin e sinkronizimit dhe parametrat e paketimit pĂ«r çdo familje kolonash.
  • NjĂ« API e thjeshtĂ« C qĂ« kthen 0 pĂ«r ekzekutimin e suksesshĂ«m tĂ« operacionit dhe -1 pĂ«r 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 zhvendosjeve tĂ« bllok-ve me çelĂ«sa pa skanimin e plotĂ«.
  • NjĂ« format binar kompakt dhe portativ pĂ«r paraqitjen e bazĂ«s, qĂ« mbĂ«shtet versionimin.
  • Mekanizmat e ndĂ«rtuar pĂ«r kontrollin e integritetit, pĂ«rcaktimin e dĂ«mtimeve tĂ« tĂ« dhĂ«nave dhe rivendosjen.

Burimi: opennet.ru

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