Välja antud kompaktne sisseehitatud andmebaas libmdbx 0.9.1.

Välja antud versioon 0.9.1 raamatukogust libmdbx (MDBX) rakenduses, mis sisaldab kõrge jõudlusega, kompaktset, sisselogitavat võtme-väärtuse andmebaasi. Kood libmdbx on litsentseeritud OpenLDAPi avaliku litsentsi alusel.

Praegune versioon on kompromiss kava vahel vabastada pikaajaline stabiilne versioon 1.0, mida toetab täielikult C++, ja soovimatu lükata release edasi uue C++ API külmutamise valmiduse puudumise tõttu. Esitatud väljaanne on 9-kuulise töö tulemus, mille eesmärk on stabiliseerida raamatukogu ja suurendada selle kasutusmugavust, ning sisaldab ka eelversiooni C++ API.

Raamatukogu libmdbx ei ole lihtsalt 'fork', vaid radikaalselt ümber disainitud järeltulija LMDB — tehinguline sisselogitav andmebaasi haldussüsteem, mis põhineb B+ puul ilma ennustaval logimisel, mis võimaldab mitme lõime protsessidel samaaegselt ja efektiivselt töötada kohalikult jagatud (mitte võrgu) andmebaasi ilma pühendatud serveriprotsessita. Libmdbx põhimõtteliselt laiendab eemaldades ta puudusi või leevendades neid, usuvad arendajad, et libmdbx on veidi kiirem ja oluliselt usaldusväärsem kui LMDB.

libmdbx pakub ACID, ranget muudatuste seriaalimist ja mittesulgevust lugemist, mis skaleerub lineaarselt CPU tuumade kaupa. Tulemuslikkuse testimise tulemused (paralleelsete lugemisotsingute saatmine 1-2-4-8 voogudes CPU i7-4600U puhul koos 2 füüsilise tuumaga nelja juhi HyperThread režiimis):

Välja antud kompaktne sisseehitatud andmebaas libmdbx 0.9.1.

Kõige olulisemad erinevused MDBX ja LMDB vahel:

  • Pööratakse põhjalikult rohkem tähelepanu koodi kvaliteedile, API 'langemiskindlusele', testimisele ja automaatsetele kontrollidele.
  • Oluliselt rohkem kontrolli töö käigus, alates parameetrite kontrollimisest kuni andmebaasi struktuuride sisemise auditini.
  • Automaatne kompaktimine ja automaatne andmebaasi suuruse juhtimine.
  • Ühtne andmebaasi formaat 32-bitiste ja 64-bitiste kogumiks.
  • Valimite mahtude hindamine vahemike järgi (range query estimation).
  • Kaks korda pikemate võtmete tugi ja kasutaja määratud andmebaasi lehe suurus.
  • Andmebaasi struktuuri terviklikkuse kontrollimise utiliit, millel on mõned taastamisvõimalused.

Peamised uuendused ja täiustused pärast eelmist uudist versiooni 0.5 esitlemisega jaanuaris 2020:

  • Kiireks toeks ja küsimustele vastamiseks on loodud avatud grupp Telegramis.
  • On kõrvaldatud rohkem kui kümme viga ja puudust (vt. väljaandmiste ajalugu).
  • Parandatud hulk trükivigu ja õigekirjavigu, mitmeid kosmeetilisi täiustusi.
  • Teststsenaariumid on laienenud.
  • On rakendatud toetus iOS-i, Androidi, buildroot, Musl,, uClibc, WSL1 ja Vein.
  • Esitleti C++ API eelversiooni ühes pealkirjafailis.
  • Sisseehitatud dokumentatsioon on vormindatud Doxygeni formaadis ja automaatne genereerimine Veebidokumentatsioon.
  • On tagatud automaatne arhiivide loomine amalgameeritud lähtekoodidega.
  • Lisatud on tugi tehingute ja kursorite ettevalmistamiseks, kasutaja kontekstide jaoks tehingute ja kursorite puhul.
  • Rakendatud on täiendavad meetodid seoste terviklikkuse kontrollimiseks MVCC-piltides B+tree.
  • Lisatud on toetus MVCC-db pildi kontrollimiseks, mis on saadaval igasuguse meta-lehe kaudu taastamise võimalusega.
  • On rakendatud toetus andmebaasi korduva avamise toetamiseks ühest protsessist testimise eesmärkidel jne.
  • MDBX_NOSUBDIR valiku automaatne töötlemine on andmebaasi avamisel rakendatud.
  • Lisatud funktsioonid täisarvuliste võtmete genereerimiseks ujukomaarvudest ja JavaScripti "universaalsetest" numbritest.
  • Kokku on tehtud 430 muudatust, mis hõlmavad 93 faili, lisatud üle 25 000 rea, kustutatud üle 8 500 rea.

Libmdbx edasine arendus keskendub lõpliku C++ API loomisele, baaskoodi stabiliseerimisele, raamatukogu kasutusmugavuse parandamisele ning pakettide koostamisele tuntud Linuxi distributsioonide jaoks. Eeldatavate täiustuste hulgas on võtmete toetamine vormingus. MessagePack.

Allikas: opennet.ru

Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid 🔥 Osta usaldusväärne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster