Bayan shekaru biyar na haɓaka, an buga ɗan takarar sakin libmdbx 1.0 na biyu

Akwai don gwada ɗan takara na biyu don sakin laburare libmdbx tare da aiwatar da babban aiki, ƙaƙƙarfan bayanan ƙima mai mahimmanci. Sigar na yanzu (0.5) sigar fasaha ce, alama ce ta kammala duk wani haɓakawa da sauyawa zuwa matakin gwaji na ƙarshe na jama'a da daidaitawa, tare da samuwar cikakken sakin ɗakin karatu na farko. libmdbx code rarraba ta mai lasisi a ƙarƙashin Lasisin Jama'a na OpenLDAP.

Laburaren MDBX babban cokali mai yatsu ne da aka sake dubawa daga LMDB - DBMS na ma'amala da aka haɗa na ajin "key-darajar" bisa ga itace B+ ba tare da shigar da hankali, wanda ke ba da damar matakai masu yawa don yin aiki da gasa da inganci tare da bayanan da aka raba (ba cibiyar sadarwa) ba. Hakanan, MDBX yana da sauri da aminci fiye da LMDB, kuma a lokaci guda yana riƙe dukkan mahimman abubuwan kakansa, kamar su. ACID kuma ba tare da toshewa ba yana karantawa tare da sikeli na linzamin kwamfuta a fadin CPU.

Mafi mahimmanci bambance-bambance tsakanin MDBX da LMDB:

  • 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 ƙididdiga na samfurin ta jeri (ƙimar tambaya ta iyaka).
  • Taimako don maɓalli sau biyu girma kamar pancakes da girman shafin bayanan zaɓaɓɓen mai amfani.

Dan takarar sakin libmdbx shine sakamakon shawarar da aka yanke a watan Agusta 2019 don raba ayyukan MDBX da MithrilDB. A lokaci guda, libmdbx ya yanke shawarar kawar da mafi girman bashin fasaha (na hankali) 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 macOS 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 amfani da Sanitizer na Halayyar da ba a bayyana ba da Adireshin Sanitizer, duk gargadi lokacin da aka gina tare da "-Wpedantic", duk gargadin Static Analyzer na Coverity Static, da sauransu an kawar da su.
  • Sabuntawa Bayanin API.
  • Haɗa (haɗin kai) 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:: iri()”).
  • 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 Apache 2.0 lasisi, ba Buɗe Lasisin Jama'a).
  • Rabuwa yana guje wa rudani mai yuwuwa, yana gabatar da ƙarin tabbaci kuma yana tabbatar da hanya mai zaman kanta don ayyukan.

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:

  • Taimako don sanya bayanan akan kafofin watsa labarai iri-iri: HDD, SSD da ƙwaƙwalwar mara mara ƙarfi.
  • Mafi kyawun dabarun don "daraja" da "ƙananan ƙima", don bayanan "zafi", "dumi" da "sanyi".
  • Yin amfani da bishiyar Merkle don saka idanu kan amincin bayanan bayanai.
  • Yin amfani da zaɓi na WAL da ingantacciyar ingantacciyar aiki a cikin yanayin rubutu mai zurfi tare da garantin amincin bayanai.
  • Rage kama-karya aikata bayanai zuwa faifai.

source: budenet.ru

Add a comment