Oludije itusilẹ keji fun libmdbx v1.0 lẹhin ọdun marun ti idagbasoke.

ìkàwé libmdbx jẹ arọmọdọmọ LMDB ti a tunṣe ni pataki – iṣẹ ṣiṣe giga ga julọ, ibi-ipamọ data iye-bọtini ti a fi sinu iwapọ.
Ẹya ti o wa lọwọlọwọ v0.5 jẹ itusilẹ imọ-ẹrọ, samisi ipari ti eyikeyi awọn ilọsiwaju ati iyipada si ipele ti idanwo ikẹhin gbogbogbo ati imuduro, pẹlu ipilẹṣẹ atẹle ti itusilẹ kikun akọkọ ti ile-ikawe naa.

LMDB jẹ iṣẹtọ daradara-mọ idunadura iṣẹtọ ifibọ bọtini-iye DBMS da lori igi B + laisi iwọle ti nṣiṣe lọwọ, eyiti ngbanilaaye ọpọlọpọ awọn ilana ila-ọpọlọpọ lati ṣiṣẹ ni ifigagbaga ati lalailopinpin pẹlu ibi ipamọ data ti o pin ni agbegbe (kii ṣe nẹtiwọọki). Ni ọna, MDBX yiyara ati igbẹkẹle diẹ sii ju LMDB, lakoko ti libmdbx ṣe idaduro gbogbo awọn ẹya pataki ti baba rẹ, gẹgẹbi ACID ati awọn kika ti kii ṣe idilọwọ pẹlu iwọn ila ila kọja awọn ohun kohun Sipiyu, ati tun ṣafikun ọpọlọpọ awọn tuntun.

Apejuwe ti awọn iyatọ ati awọn ilọsiwaju ti libmdbx ibatan si LMDB yẹ nkan lọtọ (ti a gbero lati ṣe atẹjade lori Habré ati Alabọde). Nibi o tọ lati darukọ pataki julọ ati akiyesi:

  • Ni ipilẹ, akiyesi diẹ sii ni a san si didara koodu, idanwo ati awọn sọwedowo adaṣe.
  • Ni pataki iṣakoso diẹ sii lakoko iṣẹ, lati ṣayẹwo awọn ayeraye si iṣayẹwo inu ti awọn ẹya data data.
  • Aifọwọyi-compactification ati ki o laifọwọyi database iwọn isakoso.
  • Ọna kika data kan ṣoṣo fun awọn apejọ 32-bit ati 64-bit.
  • Iṣiro iwọn ayẹwo nipasẹ awọn sakani (iṣiro ibeere ibiti).
  • Atilẹyin fun awọn bọtini lẹmeji bi o tobi bi pancakes ati iwọn oju-iwe data yiyan olumulo.

Oludije itusilẹ libmdbx jẹ abajade ti ipinnu (wo isalẹ) lati yapa awọn iṣẹ akanṣe MDBX ati MithrilDB ni Oṣu Kẹjọ ọdun 2019. Ni akoko kanna, libmdbx pinnu lati yọkuro gbese imọ-ẹrọ ti o pọju (onipin) ati iduroṣinṣin ile-ikawe naa. Ni otitọ, awọn akoko 2-3 diẹ sii ni a ti ṣe ni itọsọna ti a yan ju ti a ti pinnu lakoko ati gbero:

  • Atilẹyin fun Mac OS ati awọn iru ẹrọ ipele keji ti ni imuse: FreeBSD, Solaris, DragonFly BSD, OpenBSD, NetBSD. AIX ati atilẹyin HP-UX le ṣafikun bi o ṣe nilo.
  • Awọn koodu ti wa ni imototo nipa lilo Isọdi Ihuwasi Ailopin ati Sanitizer Adirẹsi, gbogbo awọn ikilọ nigbati o ba kọ pẹlu -Wpedantic, gbogbo awọn ikilọ Iṣeduro Coverity Static, ati bẹbẹ lọ ni a yọkuro.
  • Imudojuiwọn API awọn apejuwe.
  • Akopọ koodu orisun fun irọrun ti ifibọ.
  • C Ṣe atilẹyin.
  • Support fun iteeye lẹkọ.
  • Lilo bootid lati pinnu boya OS ti tun bẹrẹ (idaduro data idọti).
  • Ipari-si-opin kika ti awọn imudojuiwọn/atijọ ojúewé ati ki o gbooro sii idunadura alaye.
  • Aṣayan MDBX_ACCEDE fun sisopọ si aaye data ti o ṣii tẹlẹ ni ipo ibaramu.
  • Lo OFD ìdènà nigbati o wa.
  • Hot afẹyinti ni paipu.
  • Iṣepe iṣapeye iyasọtọ ti inu algorithm (to awọn akoko 2-3 yiyara ju qsort () ati to 30% yiyara ju std :: too ()).
  • Iwọn ipari bọtini ti o pọju ti pọ si.
  • Iṣakoso aifọwọyi ti kika siwaju (ọgbọn fifipamọ faili data ni iranti).
  • Diẹ ibinu ati ki o yiyara auto-compactification.
  • Ilana ti aipe diẹ sii fun sisọpọ awọn oju-iwe igi B +.
  • Iṣakoso ti kii-agbegbe faili awọn ọna šiše (NFS, Samba, ati be be lo) lati se database bibajẹ ti o ba ti lo ti ko tọ.
  • Eto ti awọn idanwo ti pọ si.

Idagbasoke ẹya “tókàn” ti libmdbx yoo tẹsiwaju bi iṣẹ akanṣe lọtọ MithrilDB, lakoko ti o jẹ ẹya idagbasoke ti ẹya “lọwọlọwọ” ti MDBX ni ifọkansi lati didi ẹya ti a ṣeto ati imuduro rẹ. A ṣe ipinnu yii fun awọn idi mẹta:

  • Ailabamu patapata: MithrilDB nilo ọna kika faili data oriṣiriṣi (ko ni ibamu) ati API ti o yatọ (ko ni ibamu) lati ṣe gbogbo awọn ẹya ti a pinnu.
  • Koodu orisun tuntun: koodu orisun MithrilDB ti ni iwe-aṣẹ ominira lati LMDB, ati pe iṣẹ akanṣe funrararẹ ti gbero lati ṣe atẹjade labẹ iwe-aṣẹ ti o yatọ (fọwọsi nipasẹ TABI IF iwe-aṣẹ Afun 2.0sugbon ko OpenLDAP Foundation).
  • Iyapa yago fun iporuru ti o pọju, pese idaniloju diẹ sii, ati idaniloju pe awọn iṣẹ akanṣe ni ọna ominira siwaju.

MithrilDB, bii MDBX, tun da lori igi B + ati pe yoo tun ṣe ẹya iṣẹ ṣiṣe giga gaan, lakoko imukuro nọmba kan ti awọn aila-nfani ipilẹ ti MDBX ati LMDB. Ni pato, iṣoro ti "kika gigun", eyi ti o fi ara rẹ han bi "wiwu" ti ibi ipamọ data nitori otitọ pe idọti ti dina nipasẹ awọn iṣowo kika kika pipẹ, yoo yọkuro. Awọn ẹya MithrilDB tuntun pẹlu:

  • atilẹyin fun gbigbe data lori ọpọlọpọ awọn media orisirisi: HDD, SSD ati iranti ti kii ṣe iyipada.
  • awọn ilana ti o dara julọ fun “iyele” ati “iye-kekere”, fun data “gbona”, “gbona” ati “tutu” data.
  • lilo Merkle igi lati bojuto awọn database iyege.
  • lilo yiyan ti WAL ati iṣẹ ṣiṣe ti o ga ni pataki ni awọn oju iṣẹlẹ kikọ ati awọn iṣeduro iduroṣinṣin data.
  • Apeja ọlẹ ti data lori awọn disiki.

orisun: linux.org.ru

Fi ọrọìwòye kun