Às deidh còig bliadhna de leasachadh, chaidh an dàrna tagraiche fuasglaidh libmdbx 1.0 fhoillseachadh

Ri fhaighinn airson deuchainn a dhèanamh air an dàrna tagraiche airson fiosan leabharlainn libmdbx le bhith a’ cur an gnìomh stòr-dàta àrd-choileanaidh, teann stèidhichte air luach iuchrach. Tha an dreach làithreach (0.5) na fhoillseachadh teignigeach, a’ comharrachadh crìochnachadh leasachaidhean sam bith agus an gluasad chun ìre de dheuchainnean deireannach poblach agus seasmhachd, le cruthachadh a’ chiad fhoillseachadh iomlan den leabharlann às deidh sin. Còd libmdbx air a sgaoileadh le le cead fo Chead Poblach OpenLDAP.

Tha an leabharlann MDBX na forc ath-sgrùdaichte gu mòr bho LMDB - DBMS freumhaichte gnìomhachd den chlas “prìomh luach” stèidhichte air craobh B+ gun logadh for-ghnìomhach, a leigeas le pròiseasan ioma-snàthainn obrachadh gu farpaiseach agus gu h-èifeachdach le stòr-dàta a tha air a cho-roinn gu h-ionadail (chan e lìonra). Ann an tionndadh, tha MDBX nas luaithe agus nas earbsaiche na LMDB, agus aig an aon àm a 'gleidheadh ​​​​a h-uile prìomh fheartan a sinnsear, leithid ACID agus leughaidhean neo-bhacadh le sgèileadh sreathach thairis air coraichean CPU.

Na h-eadar-dhealachaidhean as cudromaiche eadar MDBX agus LMDB:

  • Gu bunaiteach, thathas a’ toirt barrachd aire do chàileachd còd, deuchainn agus sgrùdaidhean fèin-ghluasadach.
  • Mòran a bharrachd smachd rè obrachadh, bho bhith a’ sgrùdadh pharamadairean gu sgrùdadh in-staigh air structaran stòr-dàta.
  • Auto-compacification agus riaghladh meud stòr-dàta fèin-ghluasadach.
  • Cruth stòr-dàta singilte airson co-chruinneachaidhean 32-bit agus 64-bit.
  • Tomhais meud sampall a rèir raointean (measadh ceist raon).
  • Taic airson iuchraichean a dhà uimhir cho mòr ri pancagan agus meud duilleag stòr-dàta a ghabhas taghadh leis an neach-cleachdaidh.

Tha an tagraiche fuasglaidh libmdbx mar thoradh air co-dhùnadh a chaidh a dhèanamh san Lùnastal 2019 na pròiseactan MDBX agus MithrilDB a sgaradh. Aig an aon àm, cho-dhùin libmdbx cuir às do na fiachan teicnigeach as àirde (reusanta) agus an leabharlann a dhèanamh seasmhach. Gu dearbh, chaidh 2-3 tursan a bharrachd a dhèanamh anns an stiùireadh ainmichte na chaidh a mheasadh agus a phlanadh an toiseach:

  • Chaidh taic airson àrd-ùrlaran macOS agus dàrna ìre a chuir an gnìomh: FreeBSD, Solaris, DragonFly BSD, OpenBSD, NetBSD. Faodar taic AIX agus HP-UX a chuir ris mar a dh ’fheumar.
  • Chaidh an còd a ghlanadh le bhith a’ cleachdadh Sanitizer Giùlan Neo-mhìnichte agus Sanitizer Seòladh, chaidh a h-uile rabhadh nuair a bhathas a’ togail le “-Wpedantic”, a h-uile rabhadh Coverity Static Analyzer, msaa, a chuir às.
  • Ùraich Tuairisgeul API.
  • A 'tighinn còmhla (aonachadh) de chòd stòr airson a bhith furasta a stèidheachadh.
  • Taic CMake.
  • Taic airson gnothaichean neadachaidh.
  • A’ cleachdadh bootid gus faighinn a-mach a bheil an OS air ath-thòiseachadh (stad stòr-dàta salach).
  • Cunntadh deireadh-gu-deireadh de dhuilleagan ùraichte/seann agus fiosrachadh malairt leudaichte.
  • Roghainn MDBX_ACCEDE airson ceangal ri stòr-dàta a tha fosgailte mar-thà ann am modh co-fhreagarrach.
  • Cleachd bacadh OFD nuair a bhios e ri fhaighinn.
  • Cùl-taic teth sa phìob.
  • Algorithm seòrsachaidh taobh a-staigh sònraichte làn-leasaichte (suas ri 2-3 tursan nas luaithe na “qsort()” agus suas ri 30% nas luaithe na “std:: sort()”).
  • Chaidh an fhad iuchair as àirde a mheudachadh.
  • Smachd fèin-ghluasadach air leughadh air adhart (ro-innleachd tasgadan faidhle stòr-dàta mar chuimhneachan).
  • Auto-compacification nas ionnsaigheach agus nas luaithe.
  • Ro-innleachd nas fheàrr airson duilleagan craoibhe B+ a thoirt còmhla.
  • Smachd air siostaman faidhle neo-ionadail (NFS, Samba, msaa) gus casg a chuir air milleadh stòr-dàta ma thèid a chleachdadh gu ceàrr.
  • Chaidh an seata de dheuchainnean a leudachadh.

Leanaidh leasachadh air an dreach “ath” de libmdbx mar phròiseact air leth MithrilDB, fhad ‘s a tha an vectar leasachaidh den dreach“ gnàthach ”de MDBX ag amas air an seata feart a reothadh agus a dhèanamh seasmhach. Chaidh an co-dhùnadh seo a dhèanamh airson trì adhbharan:

  • Gu tur neo-fhreagarrach: feumaidh MithrilDB cruth faidhle stòr-dàta eadar-dhealaichte (neo-fhreagarrach) agus API eadar-dhealaichte (neo-fhreagarrach) gus a h-uile feart dealbhaichte a bhuileachadh.
  • Còd stòr ùr: Chaidh còd stòr MithrilDB a dhèanamh neo-eisimeileach bho LMDB, agus thathas an dùil am pròiseact fhèin fhoillseachadh fo chead eadar-dhealaichte (aontaichte le NO IF Cead Apache 2.0, chan eil Cead Poblach OpenLDAP).
  • Bidh an dealachadh a’ seachnadh troimh-chèile a dh’ fhaodadh a bhith ann, a’ toirt a-steach barrachd cinnt agus a’ dèanamh cinnteach à slighe neo-eisimeileach airson pròiseactan.

Tha MithrilDB, mar MDBX, cuideachd stèidhichte air craobh B+ agus bidh e cuideachd a’ nochdadh coileanadh fìor àrd, agus aig an aon àm a’ cur às do ghrunn eas-bhuannachdan bunaiteach de MDBX agus LMDB. Gu sònraichte, thèid cuir às don duilgheadas “leugh fada”, a tha ga nochdadh fhèin mar “sèid” san stòr-dàta leis gu bheil làimhseachadh sgudail air a bhacadh le gnothaichean leughaidh fada. Am measg nam feartan ùra MithrilDB tha:

  • Taic airson an stòr-dàta a chuir air grunn mheadhanan ioma-ghnèitheach: HDD, SSD agus cuimhne neo-luaineach.
  • Ro-innleachdan as fheàrr airson “luachmhor” agus “luach ìosal”, airson dàta “teth”, “blàth” agus “fuar”.
  • A’ cleachdadh craobh Merkle gus sùil a chumail air ionracas stòr-dàta.
  • Cleachdadh roghainneil de WAL agus coileanadh mòran nas fheàrr ann an suidheachaidhean sgrìobhaidh dian le barrantasan iomlanachd dàta.
  • Glacadh leisg a’ gealltainn dàta gu diosgan.

Source: fosgailtenet.ru

Cuir beachd ann