kapsulatutako DBMS trinkoaren libmdbx 0.9.1

Askatuta liburutegiko bertsioa 0.9.1 libmdbx (MDBX) kapsulatutako gako-balioen datu-base trinko eta errendimendu handiko baten ezarpena. libmdbx kodea lizentzia baten arabera banatzen da OpenLDAP Lizentzia Publikoa.

Egungo bertsioa epe luzerako 1.0 bertsio egonkorra C++ euskarria duen eta C++ API berria izozteko prestatzerik ez izatearen argitalpenak atzeratzeko errezeloaren arteko konpromisoa da. Aurkeztutako bertsioa liburutegia egonkortzeko eta bere erabilgarritasuna hobetzeko 9 hilabeteko lanaren emaitza da, eta aurretiazko bertsioa ere badakar. C++ APIa.

libmdbx liburutegia ez da "sardexka" bat, errotik birmoldatutako ondorengoa baizik LMDB β€” "gako-balioa" klaseko DBMS transakzionalak oinarrituta zuhaitza B+ gabe erregistro proaktiboa, hari anitzeko prozesuei tokikoki partekatutako (sarekoa ez den) datu-base batekin lehiakor eta eraginkortasunez lan egiteko aukera ematen die zerbitzari prozesu dedikaturik gabe. libmdbx funtsean zabaltzen da bere arbasoaren gaitasunak, aldi berean desabantailak ezabatuz edo arinduz. Aldi berean, garatzaileen arabera, libmdbx LMDB baino apur bat azkarragoa eta nabarmen fidagarriagoa da.

libmdbx-ek iradokitzen du ACID, aldaketen serializazio zorrotza eta blokeatu gabeko irakurketa PUZaren nukleoetan eskalatze linealarekin. Errendimendu proben emaitzak (irakurketa/bilaketa eskaera paraleloak 1-2-4-8 harietan bidaltzea CPU i7-4600U batean 2 nukleo fisikoekin 4 hari HyperThread moduan):

kapsulatutako DBMS trinkoaren libmdbx 0.9.1

MDBX eta LMDB arteko desberdintasun garrantzitsuenak:

  • Funtsean, arreta handiagoa ematen zaio kodearen kalitateari, APIaren koherentziari, probei eta egiaztapen automatikoei.
  • Funtzionamenduan zehar kontrol nabarmen handiagoa, parametroak egiaztatzetik datu-baseen egituren barne auditoretzaraino.
  • Automatikoki trinkotzea eta datu-basearen tamaina automatikoa kudeatzea.
  • Datu-base formatu bakarra 32 biteko eta 64 biteko muntaketetarako.
  • Lagin-bolumenak tarteen arabera kalkulatzea (barrutiaren kontsultaren estimazioa).
  • Teklak bi aldiz luzeagoak eta erabiltzaileak hauta daitezkeen datu-basearen orriaren tamaina onartzen ditu.
  • Datu-basearen egituraren osotasuna egiaztatzeko erabilgarritasuna berreskuratzeko gaitasun batzuekin.

Berrikuntza eta hobekuntza nagusiak ondoren aurreko berriak 0.5ko urtarrilean 2020 bertsioa sartuta:

  • Sistema ireki bat sortu da berehalako laguntza eta galderei erantzuteko. Telegram taldea.
  • Dozena bat akats eta gabezi baino gehiago ezabatu dira (ikus. aldaketen erregistroa).
  • Akats ortografiko eta ortografia asko konpondu dira, eta hobekuntza kosmetiko ugari egin dira.
  • Proba eszenatokiak zabaldu dira.
  • Laguntza iOS, Android, buildroot, musl, uClibc, WSL1 ΠΈ Wine.
  • C++ APIaren aurrebista urtean kaleratu zen goiburuko fitxategi bat.
  • Dokumentazio integratua Doxygen formatuan eta sorkuntza automatikoan Sareko dokumentazioa.
  • Iturburu-testu bateratuekin artxiboen sorkuntza automatikoa eskaintzen da.
  • Transakzioak eta kurtsoreak, transakzioetarako eta kurtsoreetarako erabiltzaile testuinguruak prestatzeko laguntza gehitu da.
  • Metodo gehigarriak inplementatu dira B+tree MVCC argazkietan erreferentziazko osotasuna kontrolatzeko.
  • Datu-basearen MVCC argazki bat egiaztatzeko euskarria gehitu da, berreskuratzeko aldatzeko gaitasuna duen edozein meta-orritik eskura daitekeena.
  • Prozesu helburuetarako datu-basea berriro irekitzeko euskarria ezarri da, etab.
  • Datu-base bat irekitzean MDBX_NOSUBDIR aukeraren prozesamendu automatikoa ezarri da.
  • Gehitu dira gako osoak sortzeko funtzioak koma mugikorreko balioetatik eta JavaScript zenbaki "unibertsaletatik".
  • Guztira, 430 aldaketa egin dira 93 fitxategiri eraginez, 25 mila lerro baino gehiago gehitu dira, 8.5 mila lerro baino gehiago ezabatu.

libmdbx-en ondorengo garapenak azken C++ APIa, oinarrizko kodea egonkortzea, liburutegiaren erabilgarritasuna hobetzea eta Linux banaketa ezagunetarako paketea izango ditu. Proposatutako hobekuntzen artean, azpimarratzekoa da formatuan gakoen laguntza Mezu paketea.

Iturria: opennet.ru

Gehitu iruzkin berria