Objavljen je kompaktni ugrađeni DBMS libmdbx 0.9.1

Objavljena verzija 0.9.1 biblioteke libmdbx (MDBX) s implementacijom visoko performantne, kompaktne ugrađene baze podataka ključno-vrijednost. Kod libmdbx distribuira se pod licencom OpenLDAP Public License.

Trenutna verzija je kompromis između namjere da se objavi dugoročno stabilna verzija 1.0 s punom podrškom za C++ i nevoljnosti da se odgode objave zbog nepripremljenosti za zamrzavanje novog C++ API-a. Predstavljena verzija rezultat je 9 mjeseci rada usmjerenog stabilizaciji biblioteke i povećanju udobnosti korištenja, a također uključuje preliminarnu verziju C++ API.

Biblioteka libmdbx nije samo „fork“, već radikalno prerađeni potomak LMDB — transakcijske ugrađene DBMS klase „ključ-vrijednost“ koja se temelji na B+ stablu bez prednostne evidencije, koja omogućuje višedretvenim procesima konkurentno i učinkovito raditi s lokalno dijeljenom (ne mrežnom) BDP bez dodijeljenog serverskog procesa. Libmdbx principijelno proširuje mogućnosti svog pretka, istovremeno uklanjajući ili ublažavajući nedostatke. Prema uvjerenju programera, libmdbx je malo brži i značajno pouzdaniji od LMDB-a.

libmdbx nudi ACID, strogu serializaciju promjena i neblokirajuće čitanje s linearno skaliranjem kroz CPU jezgre. Rezultati testiranja performansi (slanje paralelnih zahtjeva za čitanje/pretraživanje u 1-2-4-8 niti na CPU i7-4600U s 2 fizičke jezgre u režimu 4 niti HyperThread):

Objavljen je kompaktni ugrađeni DBMS libmdbx 0.9.1

Najvažnije razlike MDBX-a u odnosu na LMDB:

  • Na principijelno više pažnje posvećuje se kvaliteti koda, „nepadajućim“ API-ima, testiranju i automatskim provjerama.
  • Značajno više kontrole tijekom rada, od provjere parametara, do interne revizije struktura baze podataka.
  • Automatska kompakcija i automatsko upravljanje veličinom DB.
  • Jedinstveni format DB za 32-bitne i 64-bitne izrade.
  • Procjena volumena uzoraka po intervalima (procjena upita prema rasponu).
  • Podrška za ključeve dvostruko veće duljine i korisnički odabrana veličina stranice BDP-a.
  • Alat za provjeru integriteta strukture BDP-a s nekim mogućnostima oporavka.

Glavne novosti i dorade nakon prethodne vijesti s predstavljanjem verzije 0.5 u siječnju 2020:

  • Za brzu podršku i odgovore na pitanja stvorena je otvorena grupa na Telegramu.
  • Ispravljeno je više od desetak grešaka i nedostataka (vidi. dopis).
  • Ispravljene su mnoge tiskarske i pravopisne pogreške, višestruka kosmetička poboljšanja.
  • Prošireni testni scenariji.
  • Implementirana je podrška za iOS, Android, buildroot, Musl, uClibc, WSL1 i Wine.
  • Predstavljena je preliminarna verzija C++ API-a u jednom zaglavlju.
  • Uređena je ugrađena dokumentacija u Doxygen formatu i automatska generacija Online dokumentacije.
  • Osigurano automatsko stvaranje arhiva s amalgamiranim izvorim tekstovima.
  • Dodana podrška za pripremu transakcija i kursora, korisničkih konteksta za transakcije i kursore.
  • Implementirane dodatne metode kontrole povezanosti u MVCC snimkama B+stabla.
  • Dodana podrška za provjeru MVCC snimka Baze podataka, dostupnog putem bilo koje meta-stranice s mogućnošću prebacivanja za oporavak.
  • Implementirana podrška za ponovno otvaranje Baze podataka iz jednog procesa radi testiranja i sl.
  • Implementirana automatska obrada opcije MDBX_NOSUBDIR pri otvaranju Baze podataka.
  • Dodane funkcije za formiranje cjelobrojnih ključeva iz vrijednosti s pomičnim zarezom i „univerzalnih“ brojeva JavaScript.
  • Ukupno je izvršeno 430 promjena koje su se dotakle 93 datoteke, dodano je više od 25 tisuća redaka, više od 8.5 tisuća redaka je uklonjeno.

Daljnji razvoj libmdbx bit će usmjeren na formiranje finalnog C++ API-ja, daljnju stabilizaciju osnovnog koda, povećanje jednostavnosti korištenja biblioteke, kao i formiranje paketa za popularne distribucije Linuxa. Među planiranim poboljšanjima treba istaknuti podršku za ključeve u formatu. MessagePack.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster