Liberasyon kontra enfòmèl ant DBMS libmdbx 0.9.1

Lage vèsyon bibliyotèk 0.9.1 libmdbx (MDBX) egzekisyon yon baz done kle-valè ki wo-pèfòmans ak kontra. Kòd libmdbx distribye anba yon lisans OpenLDAP Lisans Piblik.

Vèsyon aktyèl la se yon konpwomi ant entansyon pou lage yon vèsyon ki estab alontèm 1.0 ak sipò konplè C++ ak repiyans pou retade lage akòz preparasyon pou konjelasyon nouvo API C++ la. Version prezante a se rezilta 9 mwa travay ki vize pou estabilize bibliyotèk la ak amelyore itilizasyon li, epi li gen ladan tou yon vèsyon preliminè. C++ API.

Bibliyotèk libmdbx la se pa sèlman yon "fouchèt", men se yon desandan radikalman reamenaje LMDB — tranzaksyon entegre DBMS nan klas "kle-valè" ki baze sou pye bwa B+ san yo pa antre aktif, ki pèmèt pwosesis milti-threaded yo travay konpetitif ak efikasite ak yon baz done lokalman pataje (ki pa rezo) san yo pa yon pwosesis sèvè dedye. libmdbx fondamantalman elaji kapasite zansèt li yo, pandan y ap elimine oswa diminye dezavantaj yo. An menm tan an, dapre devlopè yo, libmdbx se yon ti kras pi vit ak siyifikativman plis serye pase LMDB.

libmdbx sijere ASID, serializasyon strik nan chanjman ak lekti ki pa bloke ak dekale lineyè atravè nwayo CPU. Rezilta tès pèfòmans (voye demann paralèl lekti/rechèch nan 1-2-4-8 fil sou yon CPU i7-4600U ak 2 nwayo fizik nan mòd HyperThread 4-fil):

Liberasyon kontra enfòmèl ant DBMS libmdbx 0.9.1

Diferans ki pi enpòtan ant MDBX ak LMDB:

  • Fondamantalman, yo peye plis atansyon sou bon jan kalite kòd, konsistans API, tès ak chèk otomatik yo.
  • Siyifikativman plis kontwòl pandan operasyon an, soti nan tcheke paramèt nan kontwòl kontab entèn nan estrikti baz done.
  • Oto-konpaktifikasyon ak jesyon otomatik gwosè baz done.
  • Yon fòma baz done sèl pou asanble 32-bit ak 64-bit.
  • Estimasyon volim echantiyon pa chenn (estimasyon rechèch ranje).
  • Sipò pou kle de fwa pi long ak gwosè paj baz done itilizatè a ka chwazi.
  • Yon sèvis piblik pou tcheke entegrite estrikti baz done a ak kèk kapasite rekiperasyon.

Inovasyon prensipal ak amelyorasyon apre nouvèl anvan yo ak entwodiksyon vèsyon 0.5 an janvye 2020:

  • Yo te kreye yon sistèm louvri pou sipò rapid ak repons pou kesyon yo. Gwoup Telegram.
  • Plis pase yon douzèn erè ak enpèfeksyon yo te elimine (gade. journal chanjman).
  • Yo te ranje yon anpil nan erè tipografi ak erè òtograf, ak anpil amelyorasyon kosmetik yo te fè.
  • Senaryo tès yo te elaji.
  • Sipò iOS la te aplike, Android, buildroot, musl, uClibc, WSL1 и Diven.
  • C++ API preview lage nan yon sèl dosye header.
  • Dokiman entegre nan fòma Doxygen ak jenerasyon otomatik Dokiman sou entènèt.
  • Yo bay jenerasyon otomatik achiv ak tèks sous amalgam.
  • Te ajoute sipò pou prepare tranzaksyon ak kurseur, kontèks itilizatè pou tranzaksyon ak kurseur.
  • Lòt metòd yo te aplike pou kontwole entegrite referans nan snapshots MVCC B+tree.
  • Te ajoute sipò pou tcheke yon snapshot MVCC nan baz done a, aksesib nan nenpòt paj meta ak kapasite nan chanje pou rekiperasyon.
  • Aplike sipò pou relouvri baz done a soti nan yon pwosesis pou rezon tès, elatriye.
  • Aplike pwosesis otomatik nan opsyon MDBX_NOSUBDIR lè ouvè yon baz done.
  • Te ajoute fonksyon pou jenere kle nonb antye relatif nan valè pwen k ap flote ak nimewo "inivèsèl" JavaScript.
  • An total, yo te fè 430 chanjman ki afekte 93 dosye, plis pase 25 mil liy yo te ajoute, plis pase 8.5 mil liy yo te efase.

Devlopman libmdbx nan lavni an pral konsantre sou finalizasyon API C++ la, plis estabilize kòd debaz la, amelyore itilite bibliyotèk la, epi kreye pakè pou distribisyon popilè yo. LinuxPami amelyorasyon yo pwopoze yo, li enpòtan pou note sipò pou kle nan fòma a MessagePack.

Sous: opennet.ru

Achte hosting serye pou sit ki gen pwoteksyon DDoS, sèvè VPS VDS 🔥 Achte yon hébergement sit entènèt serye ak pwoteksyon DDoS, sèvè VPS VDS | ProHoster