Lẹhin ọdun marun ti idagbasoke, oludije idasilẹ libmdbx 1.0 keji ti jẹ atẹjade

Wa fun igbeyewo awọn keji tani fun ìkàwé tu libmdbx pẹlu imuse iṣẹ-giga, ibi ipamọ data iye-bọtini ti a fi sinu iwapọ. Ẹya ti o wa lọwọlọwọ (0.5) jẹ itusilẹ imọ-ẹrọ, samisi ipari ti eyikeyi awọn ilọsiwaju ati iyipada si ipele ti idanwo ipari gbogbogbo ati imuduro, pẹlu ipilẹṣẹ atẹle ti itusilẹ kikun akọkọ ti ile-ikawe naa. libmdbx koodu pin nipasẹ iwe-aṣẹ labẹ Iwe-aṣẹ Awujọ OpenLDAP.

Ile-ikawe MDBX jẹ orita ti a tunwo ni pataki lati LMDB - idunadura ifibọ DBMS ti awọn "bọtini-iye" kilasi da lori igi B + laisi iwọle ti nṣiṣe lọwọ, eyi ti o fun laaye awọn ilana ti o pọju lati ṣiṣẹ ni ifigagbaga ati daradara pẹlu ibi ipamọ data ti a pin (kii ṣe nẹtiwọki). Ni ọna, MDBX yiyara ati igbẹkẹle diẹ sii ju LMDB, ati ni akoko kanna da duro gbogbo awọn ẹya bọtini ti baba rẹ, gẹgẹbi ACID ati ti kii-ìdènà kika pẹlu laini igbelosoke kọja Sipiyu inu ohun kohun.

Awọn iyatọ pataki julọ laarin MDBX ati LMDB:

  • 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 awọn iwọn didun 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 ipinnu ti a ṣe ni Oṣu Kẹjọ ọdun 2019 lati yapa awọn iṣẹ akanṣe MDBX ati MithrilDB. Ni akoko kanna, libmdbx pinnu lati yọkuro (onipin) gbese imọ-ẹrọ ti o pọju ati mu ile-ikawe duro. 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 macOS 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.
  • Iṣakojọpọ (idapọ) ti 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 pataki algorithm ti inu inu (to awọn akoko 2-3 yiyara ju “qsort ()” ati pe o 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 Apache 2.0 iwe-aṣẹ, kii ṣe OpenLDAP Public License).
  • Iyapa yago fun iporuru ti o pọju, ṣafihan idaniloju diẹ sii ati ṣe idaniloju ọna ominira fun awọn iṣẹ akanṣe.

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 oriṣiriṣi: 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 imudara iṣẹ ṣiṣe ni pataki ni awọn oju iṣẹlẹ kikọ-kikọ pẹlu awọn iṣeduro iduroṣinṣin data.
  • Apeja Ọlẹ ṣiṣe data si awọn disiki.

orisun: opennet.ru

Fi ọrọìwòye kun