Dan takarar saki na biyu libmdbx v1.0 bayan shekaru biyar na ci gaba.

Laburare libmdbx zuriyar LMDB ce mai mahimmanci da aka sake tsarawa - babban aiki mai girma, ƙaƙƙarfan bayanan ƙima mai mahimmanci.
Siffar v0.5 na yanzu shine sakin fasaha, alama ce ta kammala duk wani haɓakawa da canzawa zuwa matakin gwaji na ƙarshe na jama'a da daidaitawa, tare da samuwar cikakken sakin ɗakin karatu na farko.

LMDB sanannen sanannen ma'amala ne DBMS maɓalli mai ƙima bisa ga itace B+ ba tare da shigar da hankali, wanda ke ba da damar gungun matakai masu zare da yawa don yin aiki da gasa da inganci tare da bayanan da aka raba a gida (ba cibiyar sadarwa ba). Bi da bi, MDBX ya fi LMDB sauri da aminci, yayin da libmdbx ke riƙe da duk mahimman abubuwan kakansa, kamar su. ACID kuma ba tare da toshewa yana karantawa tare da sikeli na linzamin kwamfuta a fadin CPU, kuma yana ƙara sababbi da yawa.

Bayanin bambance-bambance da haɓakawa na libmdbx dangane da LMDB ya cancanci labarin daban (wanda aka tsara za a buga akan Habré da Matsakaici). A nan ya dace a ambaci mafi mahimmanci kuma abin lura:

  • Ainihin, ana biyan ƙarin hankali ga ingancin lambar, gwaji da cak ɗin atomatik.
  • Mahimmanci ƙarin iko yayin aiki, daga duba sigogi zuwa duba na ciki na tsarin bayanai.
  • Ƙarfafawa ta atomatik da sarrafa girman bayanai ta atomatik.
  • Tsarin bayanai guda ɗaya don 32-bit da 64-bit majalisai.
  • Ƙimar girman samfurin ta jeri (ƙididdigar tambaya ta iyaka).
  • Taimako don maɓalli sau biyu girma kamar pancakes da girman shafin bayanan zaɓaɓɓen mai amfani.

Dan takarar saki na libmdbx shine sakamakon yanke shawara (duba ƙasa) don raba ayyukan MDBX da MithrilDB a cikin watan Agusta 2019. A lokaci guda, libmdbx ya yanke shawarar kawar da bashin fasaha na (ma'ana) da kuma daidaita ɗakin karatu. A gaskiya ma, sau 2-3 an yi fiye da yadda aka tsara fiye da yadda aka tsara da farko:

  • An aiwatar da tallafi ga Mac OS da dandamali na biyu: FreeBSD, Solaris, DragonFly BSD, OpenBSD, NetBSD. Ana iya ƙara tallafin AIX da HP-UX kamar yadda ake buƙata.
  • An tsaftace lambar ta hanyar amfani da Sanitizer na Halayyar da ba a bayyana ba da Adireshin Sanitizer, duk gargadin lokacin gini da -Wpedantic, duk gargadin Static Analyzer na Coverity Static, da sauransu an kawar da su.
  • Sabuntawa Bayanin API.
  • Haɗin lambar tushe don sauƙi na haɗawa.
  • CSake tallafi.
  • Taimako don ma'amaloli masu ƙayatarwa.
  • Yin amfani da bootid don sanin ko OS ya sake kunnawa (tsayawar bayanai).
  • Ƙarshe zuwa ƙarshe na sabunta/tsofaffin shafuka da ƙarin bayanan ciniki.
  • Zaɓi MDBX_ACCDE don haɗawa zuwa bayanan da aka riga aka buɗe a cikin yanayin da ya dace.
  • Amfani OFD yana tarewa idan akwai.
  • Hot madadin a cikin bututu.
  • Ingantattun ingantattun algorithm na rarrabuwa na ciki (har zuwa sau 2-3 cikin sauri fiye da qsort() kuma har zuwa 30% cikin sauri fiye da std:: nau'in()).
  • An ƙara matsakaicin tsayin maɓalli.
  • Ikon karanta gaba ta atomatik (dabarun caching fayil ɗin bayanai a cikin ƙwaƙwalwar ajiya).
  • Ƙarin m da sauri auto-compactification.
  • Mafi kyawun dabara don haɗa shafukan bishiyar B+.
  • Sarrafa tsarin fayilolin da ba na gida ba (NFS, Samba, da sauransu) don hana lalacewar bayanai idan aka yi amfani da su ba daidai ba.
  • An fadada saitin gwaje-gwaje.

Haɓaka sigar "na gaba" na libmdbx zai ci gaba a matsayin wani aiki na daban MithrilDB, yayin da ci gaban vector na sigar "yanzu" na MDBX yana da nufin daskarewa fasalin fasalin da kuma daidaita shi. An yanke wannan shawarar ne saboda dalilai guda uku:

  • Gabaɗaya mara jituwa: MithrilDB yana buƙatar tsarin fayil ɗin bayanai daban (marasa jituwa) da API daban (marasa jituwa) don aiwatar da duk abubuwan da aka tsara.
  • Sabuwar lambar tushe: Lambar tushe ta MithrilDB an yi lasisi mai zaman kanta daga LMDB, kuma aikin da kansa an shirya buga shi ƙarƙashin wani lasisi na daban (an yarda da shi KO IDAN lasisi Apache 2.0, kuma ba OpenLDAP Foundation).
  • Rabuwa yana guje wa rudani mai yuwuwa, yana ba da ƙarin tabbaci, kuma yana tabbatar da cewa ayyukan suna da hanya mai zaman kanta ta gaba.

MithrilDB, kamar MDBX, yana dogara ne akan itace B+ kuma za ta ƙunshi babban aiki sosai, yayin da za ta kawar da yawan rashin amfanin MDBX da LMDB. Musamman ma, matsalar “karanta dogon karatu”, wacce ke bayyana kanta a matsayin “kumburi” na ma’adanar bayanai saboda yadda sarrafa shara ke toshe ta hanyar dogon karatu, za a kawar da ita. Sabbin fasalulluka na MithrilDB sun haɗa da:

  • goyan bayan sanya bayanan akan kafofin watsa labarai iri-iri: HDD, SSD da ƙwaƙwalwar mara mara ƙarfi.
  • ingantattun dabarun don "daraja" da "ƙananan darajar", don "zafi", "dumi" da "sanyi" bayanai.
  • amfani da itacen Merkle don saka idanu kan amincin bayanan bayanai.
  • amfani na zaɓi na WAL da gagarumin aiki mafi girma a cikin yanayin rubutu mai zurfi da garantin amincin bayanai.
  • Lazy kama-up gyara na bayanai a kan faifai.

source: linux.org.ru

Add a comment