Kompaktne sisseehitatud andmebaasi sĂŒsteem libmdbx 0.9.1

VÀlja antud versioon 0.9.1 raamatukogust libmdbx (MDBX), mis sisaldab kÔrge jÔudluse ja kompaktsusega sisseehitatud vÔtme-vÀÀrtuse andmebaasi. Raamatukood libmdbx levitatakse litsentsi alusel OpenLDAP Public License.

Praegune versioon on kompromiss sooviga vĂ€lja anda pikaajaline stabiilne versioon 1.0, millel on tĂ€ielik C++ tugi, ja soovimatus edasi lĂŒkata vĂ€ljalaskeid uue C++ API valmiduse puudumise tĂ”ttu. Esitatud vĂ€ljaanne on 9 kuu töö tulemus, mille eesmĂ€rk on raamatukogu stabiliseerimine ja selle kasutamise mugavuse suurendamine ning sisaldab esialgset versiooni C++ API.

Raamatukogu libmdbx ei ole lihtsalt 'fork', vaid kardinaalselt ĂŒmber töödatud jĂ€reltulija LMDB — tehingupsĂŒsteem, mis on sisseehitatud vĂ”tme-vÀÀrtuse andmebaasis, pĂ”hinedes B+ puul ilma eelregistreerimise logimisega, mis vĂ”imaldab mitme lĂ”ime protsessidel konkurentsituks ja efektiivseks töötamiseks kohaliku jagatud (mitte vĂ”rgus) andmebaasiga ilma eraldiseisva serveri protsessita. Libmdbx on pĂ”himĂ”tteliselt laiendab oma esivanema vĂ”imeid, samas kĂ”rvaldades vĂ”i leevendades puudusi. Samuti usuvad arendajad, et libmdbx on veidi kiiremini ja oluliselt usaldusvÀÀrsem kui LMDB.

libmdbx pakub ACID, ranget muudatuste serialiseerimist ja mitteblokeerivat lugemist, mis skaleerub lineaarselt CPU tuumadele. JĂ”udluse testimise tulemused (paralleelse lugemisotsingute saatmine 1-2-4-8 lĂ”imes CPU i7-4600U 2 fĂŒĂŒsilise tuumaga 4 lĂ”ime HyperThread reĆŸiimis):

Kompaktne sisseehitatud andmebaasi sĂŒsteem libmdbx 0.9.1

Olulised erinevused MDBX-i ja LMDB vahel:

  • PĂ”himĂ”tteliselt pööratakse rohkem tĂ€helepanu koodikvaliteedile, API 'katkestamatusele', testimisele ja automaatsetele kontrollidele.
  • Oluliselt rohkem kontrolli töö kĂ€igus, alustades parameetrite kontrollimisest kuni andmebaasi struktuuride sisemiste audititeni.
  • Automaatne kompaktimine ja automaatne andmebaasi suuruse haldamine.
  • Üksne andmebaasi formaat 32-bitiste ja 64-bitiste kogumite jaoks.
  • KĂŒsimuste osas on vahemiku pĂ€ringute hindamine.
  • Toetatakse kahe korda pikemaid vĂ”tmeid ja kasutajate valida andmebaasi lehe suurust.
  • Andmebaasi struktuuri terviklikkuse kontrollimise tööriist koos mĂ”ningate taastamisvĂ”imalustega.

Peamised uuendused ja parandused pÀrast eelmist teadet versiooni 0.5 esitlemine jaanuaris 2020:

  • Kiireks toeks ja kĂŒsimustele vastamiseks on loodud avatud grupp Telegramis.
  • Eemaldatud rohkem kui tosin viga ja puudust (vt. muudatuste logi).
  • Parandatud hulgaliselt trĂŒkivigu ja Ă”igekirja vigu, mitmeid kosmeetilisi tĂ€iustusi.
  • Teststsenaariume on laiendatud.
  • Toetatakse iOS-i, Androidi, buildroot, Musl, uClibc, WSL1 ja Vein.
  • C++ API eelnĂ”u on esitatud ĂŒhes pĂ€ises failis.
  • Sisseehitatud dokumentatsioon on vormindatud Doxygensi ja automaatse genereerimisega veebidokumentatsioon.
  • Automaatne arhiivide loomine on tagatud kompaktselt koondatud allikatekstidega.
  • Lisatud on tugi tehingute ja kursorite ettevalmistamiseks, kasutaja kontekstide jaoks tehingutes ja kursorites.
  • Lisa meetodid viidete terviklikkuse kontrollimiseks on rakendatud MVCC-piltides B+puus.
  • MVCC-pildi DB kontrollimise tugi on lisatud, mis on saadaval igas meta-lehes taastamise lĂŒliti vĂ”imalusega.
  • Toetatakse DB uuesti avamist ĂŒhest protsessist testimise ja sarnaste eesmĂ€rkide jaoks.
  • MDBX_NOSUBDIR valiku automaatne töötlemine on rakendatud DB avamisel.
  • TĂ€iendavad funktsioonid tĂ€isarvuliste vĂ”tmete genereerimiseks ujukpunktide vÀÀrtustest ja JavaScripti 'ĂŒldsest' numbrist on lisatud.
  • Kokku on tehtud 430 muudatust, mis on mĂ”jutanud 93 faili, lisatud on ĂŒle 25 000 rida, kustutatud on ĂŒle 8,5 tuhande rida.

Edasine libmdbx arendamine keskendub lÔpliku C++ API kujundamisele, pÔhikoode stabiliseerimisele, raamatukogu kasutusmugavuse tÔstmisele ning pakettide koostamisele populaarsetele Linuxi distributsioonidele. Eeldatavatest tÀiustustest tasub mÀrkida vÔtmete toe lisamist formaadis MessagePack.

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster