ProHoster > Blog > litaba tsa inthanete > Kamora lilemo tse hlano tsa nts'etsopele, mokhethoa oa bobeli oa tokollo ea libmdbx 1.0 o phatlalalitsoe
Kamora lilemo tse hlano tsa nts'etsopele, mokhethoa oa bobeli oa tokollo ea libmdbx 1.0 o phatlalalitsoe
Fumaneha bakeng sa ho leka mokhethoa oa bobeli bakeng sa tokollo ea laeborari libmdbx ka ho kenngwa tshebetsong ha polokelongtshedimosetso ya tshebetso e phahameng, e kentsweng ka kopanelo ya boleng ba bohlokwa. Phetolelo ea hajoale (0.5) ke tokollo ea botekgeniki, e tšoaeang ho phethoa ha lintlafatso life kapa life le ho fetela mokhahlelong oa tlhahlobo ea ho qetela ea sechaba le botsitso, ka mokhoa o latelang oa ho theha tokollo ea pele e felletseng ea laeborari. libmdbx khoutu ajoa ke e nang le laesense tlas'a OpenLDAP Public License.
Laeborari ea MDBX ke fereko e ntlafalitsoeng haholo ho tloha ho LMDB - DBMS e kentsoeng ea transaction ea sehlopha sa "key-value" e thehiloeng ho sefate B+ ntle le ho rema lifate ka potlako, e lumellang lits'ebetso tse nang le likhoele tse ngata ho sebetsa ka tlholisano le ka mokhoa o atlehileng le database e arolelanoang sebakeng sa heno (eseng marang-rang). Ka lehlakoreng le leng, MDBX e potlakile ebile e tšepahala ho feta LMDB, 'me ka nako e ts'oanang e boloka likarolo tsohle tsa bohlokoa tsa moholo-holo oa eona, joalo ka. ACID le ho bala ho sa thibeleng ho nang le linear scaling ho pholletsa le li-cores tsa CPU.
Phapang ea bohlokoahali lipakeng tsa MDBX le LMDB:
Ha e le hantle, ho lebisoa tlhokomelo e eketsehileng ho boleng ba khoutu, liteko le ho hlahloba ka mokhoa o itekanetseng.
Taolo e kholo nakong ea ts'ebetso, ho tloha ho li-parameter ho ea ho tlhahlobo ea kahare ea meaho ea database.
Boikemisetso bo ikemetseng le taolo ea boholo ba database.
Foromo e le 'ngoe ea database bakeng sa likopano tsa 32-bit le 64-bit.
Khakanyo ea melumo ea sampuli ho ea ka mefuta (khakanyo ea lipotso tse fapaneng).
Ts'ehetso ea linotlolo tse kholo ka makhetlo a mabeli ho feta li-pancakes le boholo ba leqephe la database le khethiloeng ke mosebelisi.
Mokhethoa oa tokollo ea libmdbx ke litholoana tsa qeto e entsoeng ka Phato 2019 ea ho arola merero ea MDBX le MithrilDB. Ka nako e ts'oanang, libmdbx e nkile qeto ea ho felisa (bohlale) mokoloto o moholo oa tekheniki le ho tsitsisa laeborari. Ebile, ho entsoe makhetlo a 2-3 ho feta moo ho neng ho hakanngoa le ho reriloe qalong:
Ts'ehetso ea li-platform tsa macOS le tsa boemo ba bobeli e kentsoe tšebetsong: FreeBSD, Solaris, DragonFly BSD, OpenBSD, NetBSD. Tšehetso ea AIX le HP-UX e ka eketsoa ha ho hlokahala.
Khoutu e ile ea hloekisoa ho sebelisoa Undefined Behavior Sanitizer le Address Sanitizer, litemoso tsohle ha u haha ka "-Wpedantic", litemoso tsohle tsa Coverity Static Analyzer, joalo-joalo li ile tsa tlosoa.
Algorithm e ikhethileng ea ho hlopha ka hare (ho fihla ho makhetlo a 2-3 ka potlako ho feta "qsort()" le ho fihla ho 30% ka potlako ho feta "std::sort()").
Boholo ba bolelele ba senotlolo bo ekelitsoe.
Taolo ea othomathike ea ho bala pele (leano la ho boloka lifaele tsa database mohopolong).
Boikemisetso bo matla le bo potlakileng ho feta ba boiketsetso.
Leano le nepahetseng haholoanyane la ho kopanya maqephe a lifate tsa B+.
Taolo ea litsamaiso tsa lifaele tseo e seng tsa lehae (NFS, Samba, joalo-joalo) ho thibela tšenyo ea database haeba e sebelisoa hampe.
Sehlopha sa liteko se atolositsoe.
Ntlafatso ea mofuta oa "e latelang" oa libmdbx e tla tsoelapele joalo ka projeke e fapaneng MithrilDB, athe vector ea nts'etsopele ea mofuta oa "hajoale" oa MDBX e reretsoe ho homisa sete ea likarolo le ho e tsitsisa. Qeto ena e entsoe ka mabaka a mararo:
Ha e lumellane ho hang: MithrilDB e hloka mofuta o fapaneng (o sa lumellaneng) oa faele ea database le API e fapaneng (e sa lumellaneng) ho kenya tšebetsong likarolo tsohle tse reriloeng.
Khoutu e ncha ea mohloli: Khoutu ea mohloli oa MithrilDB e entsoe ka laesense e ikemetseng ho tsoa ho LMDB, mme projeke ka boeona e reriloe ho phatlalatsoa tlasa laesense e fapaneng (e amohetsoeng ke KAPA HAEBA Laesense ea Apache 2.0, che OpenLDAP Public License).
Karohano e qoba pherekano e ka bang teng, e hlahisa bonnete bo eketsehileng mme e tiisa tsela e ikemetseng bakeng sa merero.
MithrilDB, joalo ka MDBX, e boetse e thehiloe ho sefate B+ hape e tla ba le ts'ebetso e phahameng haholo, ha e ntse e tlosa mefokolo e mengata ea mantlha ea MDBX le LMDB. Haholo-holo, bothata ba "ho bala nako e telele", bo iponahatsang e le "ho ruruha" ha database ka lebaka la hore ts'ebetso ea lithōle e thibetsoe ke ho bala nako e telele, e tla felisoa. Likarolo tse ncha tsa MithrilDB li kenyelletsa:
Ts'ehetso ea ho beha database mecheng ea litaba tse fapaneng tse fapaneng: HDD, SSD le memori e sa fetoheng.
Mekhoa e nepahetseng ea "boleng" le "boleng bo tlaase", bakeng sa "hot", "mofuthu" le "bata" data.
Ho sebelisa sefate sa Merkle ho lekola botšepehi ba database.
Tšebeliso ea boikhethelo ea WAL le ts'ebetso e ntlafetseng haholo maemong a ngolang haholo a nang le tiisetso ea botšepehi ba data.