ከፍተኛ አፈጻጸም የተካተተ DBMS libmdbx 0.11.3 መልቀቅ

የlibmdbx 0.11.3 (MDBX) ቤተ-መጽሐፍት ከፍተኛ አፈጻጸም ያለው የታመቀ ቁልፍ እሴት ዳታቤዝ በመተግበር ተለቀቀ። የlibmdbx ኮድ በOpenLDAP የህዝብ ፍቃድ ስር ፍቃድ ተሰጥቶታል። ሁሉም የአሁን ስርዓተ ክወናዎች እና አርክቴክቸር ይደገፋሉ, እንዲሁም የሩሲያ Elbrus 2000. በ 2021 መገባደጃ ላይ, libmdbx በሁለቱ ፈጣን የኢቴሬም ደንበኞች - Erigon እና አዲሱ "ሻርክ" ውስጥ እንደ ማከማቻ ድጋፍ ሆኖ ያገለግላል. መረጃ, ከፍተኛ አፈጻጸም ያለው Ethereum ደንበኛ ነው.

በታሪክ፣ libmdbx የLMDB ዲቢኤምኤስ ጥልቅ ድጋሚ ንድፍ ነው እና ቅድመ አያቱን በአስተማማኝነት፣ በባህሪ ቅንብር እና በአፈጻጸም ይበልጣል። ከኤልኤምዲቢ ጋር ሲነጻጸር libmdbx በኮድ ጥራት፣ በኤፒአይ መረጋጋት፣ በሙከራ እና በራስ ሰር ቼኮች ላይ ትልቅ ትኩረት ይሰጣል። የውሂብ ጎታውን መዋቅር ትክክለኛነት ለመፈተሽ መገልገያ ከአንዳንድ የመልሶ ማግኛ አማራጮች ጋር ቀርቧል።

በቴክኖሎጂ ጥበበኛ፣ libmdbx ACIDን፣ ጠንካራ የለውጥ ተከታታይነትን እና የማያግድ ንባቦችን በሲፒዩ ኮሮች ላይ በመስመራዊ ልኬት ያቀርባል። ራስ-መጠቅለል፣ ራስ-ሰር የውሂብ ጎታ መጠን አስተዳደር እና የክልል መጠይቅ ግምት ይደገፋሉ። ከ 2016 ጀምሮ ፕሮጀክቱ በፖዚቲቭ ቴክኖሎጂዎች የተደገፈ እና ከ 2017 ጀምሮ በምርቶቹ ውስጥ ጥቅም ላይ ውሏል.

libmdbx የC++ ኤፒአይን ያቀርባል፣ እንዲሁም ለRust፣ Haskell፣ Python፣ NodeJS፣ Ruby፣ Go እና Nim በጋለ ስሜት የሚደገፍ የቋንቋ ማሰሪያዎችን ያቀርባል።

ከቀዳሚው ዜና ኦክቶበር 11 ጀምሮ የታከሉ ዋና ዋና ፈጠራዎች፣ ማሻሻያዎች እና እርማቶች፡-

  • የC++ ኤፒአይ ለአገልግሎት ዝግጁ እንደሆነ ይቆጠራል።
  • ግዙፍ ግብይቶችን በሚፈጽሙበት ጊዜ የጂሲ መረጃ ማሻሻያ በከፍተኛ ደረጃ ጨምሯል፣ ይህም በተለይ በ Ethereum ምህዳር ውስጥ libmdbx ሲጠቀሙ በጣም አስፈላጊ ነው።
  • የውሂብ ጎታ ቅርፀቱ ውስጣዊ ፊርማ ለተጠቃሚዎች ሙሉ በሙሉ ግልጽ የሆነ አውቶማቲክ ማዘመንን ለመደገፍ ተለውጧል። ይህ ጊዜ ያለፈባቸው የቤተ-መጻህፍት ስሪቶች በአሁኑ ስሪቶች የተመዘገቡ ግብይቶችን ለማንበብ በሚጠቀሙበት ጊዜ ስለ የውሂብ ጎታ ብልሹነት የውሸት አወንታዊ መልዕክቶችን እንዲያስወግዱ ያስችልዎታል።
  • የታከሉ ተግባራት mdbx_env_get_syncbytes()፣ mdbx_env_get_syncperiod() እና mdbx_env_get_syncbytes()። ለMDBX_SET_UPPERBOUND ስራ ድጋፍ ታክሏል።
  • በC++ 11/14/17/20 ሁነታዎች ከሁሉም የሚደገፉ ኮምፕሌተሮች ጋር ሲገነቡ ሁሉም ማስጠንቀቂያዎች ጠፍተዋል። ከውርስ አቀናባሪዎች ጋር ተኳሃኝነት የተረጋገጠ ነው፡- ከ3.9 ጀምሮ፣ gcc ከ4.8 ጀምሮ፣ cdevtoolset-9ን ለ CentOS/RHEL 7 መጠቀምን ጨምሮ።
  • mdbx_chk መገልገያውን ተጠቅሞ ወደ አንድ የተወሰነ የሜታ ገጽ በእጅ ከተቀየረ በኋላ የሜታ ገጽ ግጭት የመከሰቱ አጋጣሚ ተስተካክሏል።
  • ቋሚ ያልተጠበቀ MDBX_PROBLEM ስህተት የቆዩ ሜታ ገጾችን ሲጽፍ እየተመለሰ ነው።
  • የMDBX_GET_BOTH ጥያቄን ሲሰራ ትክክለኛ ያልሆነ ተዛማጅ MDBX_NOTFOUND መመለስ።
  • የከርነል የበይነገጽ መግለጫዎች የራስጌ ፋይሎች በሌሉበት በሊኑክስ ላይ የማጠናቀር ስህተት ተጠግኗል።
  • በMDBX_SHRINK_ALLOWED የውስጥ ባንዲራ እና በ MDBX_ACCDE አማራጭ መካከል ያለ ግጭት ተስተካክሏል።
  • በርካታ አላስፈላጊ የማረጋገጫ ቼኮች ተወግደዋል።
  • ቋሚ ያልተጠበቀ የMDBX_RESULT_TRUE ከmdbx_env_set_option() ተግባር መመለስ።
  • በጠቅላላው ከ 90 በላይ ለውጦች በ 25 ፋይሎች ላይ ተደርገዋል, ~ 1300 መስመሮች ተጨምረዋል, ~ 600 ተሰርዘዋል.

ምንጭ: opennet.ru

አስተያየት ያክሉ