vèsyon bibliyotèk 0.9.1 (MDBX) egzekisyon yon baz done kle-valè ki wo-pèfòmans ak kontra. Kòd libmdbx distribye anba yon lisans .
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è. .
Bibliyotèk libmdbx la se pa sèlman yon "fouchèt", men se yon desandan radikalman reamenaje â tranzaksyon entegre DBMS nan klas "kle-valè" ki baze sou san yo pa , 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 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 , 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):
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 ak entwodiksyon vèsyon 0.5 an janvye 2020:
- Yo te kreye yon sistèm louvri pou sipò rapid ak repons pou kesyon yo. .
- Plis pase yon douzèn erè ak enpèfeksyon yo te elimine (gade. ).
- 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, , , , и .
- C++ API preview lage nan .
- Dokiman entegre nan fòma Doxygen ak jenerasyon otomatik .
- 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 .
Sous: opennet.ru
