ከአምስት ዓመታት እድገት በኋላ፣ ሁለተኛው libmdbx 1.0 የመልቀቂያ እጩ ታትሟል

ይገኛል ለቤተ-መጽሐፍት ልቀቶች ሁለተኛውን እጩ ለመፈተሽ libmdbx ከፍተኛ አፈጻጸም ያለው፣ የታመቀ የተከተተ ቁልፍ እሴት ዳታቤዝ በመተግበር። የአሁኑ ስሪት (0.5) ቴክኒካዊ ልቀት ነው, ማንኛውም ማሻሻያዎች መጠናቀቅ እና ይፋዊ የመጨረሻ ሙከራ እና ማረጋጊያ ደረጃ ያለውን ሽግግር, በቀጣይነትም ቤተ-መጽሐፍት የመጀመሪያ ሙሉ መለቀቅ ምስረታ ጋር. libmdbx ኮድ የተሰራጨው በ በOpenLDAP ህዝባዊ ፍቃድ ስር ፍቃድ ያለው።

የኤምዲቢኤክስ ቤተ-መጽሐፍት በከፍተኛ ሁኔታ የተሻሻለ ሹካ ነው። LMDB - በገንዘብ ላይ የተመሰረተ የ"ቁልፍ እሴት" ክፍል ግብይት የተካተተ DBMS ዛፍ B+ ያለ ንቁ ምዝግብ ማስታወሻ, ይህም ባለብዙ-ክር ሂደቶች በውድድር እና በብቃት ከአካባቢው የጋራ (ኔትወርክ ሳይሆን) የውሂብ ጎታ ጋር እንዲሰሩ ያስችላቸዋል። በተራው፣ ኤምዲቢኤክስ ከኤልኤምዲቢ የበለጠ ፈጣን እና አስተማማኝ ነው፣ እና በተመሳሳይ ጊዜ የቅድመ አያቱን ዋና ዋና ባህሪያትን እንደያዘ ይቆያል። አሲድ እና የማያግድ ንባብ በሲፒዩ ኮሮች ላይ በመስመራዊ ልኬት።

በ MDBX እና LMDB መካከል በጣም አስፈላጊዎቹ ልዩነቶች፡-

  • በመሠረቱ ለኮድ ጥራት፣ ለሙከራ እና አውቶማቲክ ፍተሻዎች የበለጠ ትኩረት ተሰጥቷል።
  • በሚሠራበት ጊዜ የበለጠ ቁጥጥር ፣ መለኪያዎችን ከመፈተሽ እስከ የውሂብ ጎታ መዋቅሮች ውስጣዊ ኦዲት ድረስ።
  • ራስ-መጠቅለል እና ራስ-ሰር የውሂብ ጎታ መጠን አስተዳደር.
  • ነጠላ የውሂብ ጎታ ቅርጸት ለ 32-ቢት እና 64-ቢት ስብሰባዎች።
  • የናሙና ጥራዞች በየክልሎች ግምት (የክልል መጠይቅ ግምት)።
  • ለቁልፎች ድጋፍ ከፓንኬኮች በእጥፍ ይበልጣል እና በተጠቃሚ ሊመረጥ የሚችል የውሂብ ጎታ ገጽ መጠን።

የlibmdbx ልቀት እጩ MDBX እና MithrilDB ፕሮጀክቶችን ለመለየት በኦገስት 2019 የተደረገ ውሳኔ ውጤት ነው። በተመሳሳይ ጊዜ, libmdbx (ምክንያታዊ) ከፍተኛውን የቴክኒክ ዕዳ ለማስወገድ እና ቤተ መፃህፍትን ለማረጋጋት ወሰነ. በእርግጥ በመጀመሪያ ከተገመተው እና ከታቀደው 2-3 ጊዜ የበለጠ በተዘጋጀው አቅጣጫ ተከናውኗል።

  • የማክኦኤስ እና የሁለተኛ ደረጃ መድረኮች ድጋፍ ተተግብሯል፡FreeBSD፣ Solaris፣ DragonFly BSD፣ OpenBSD፣ NetBSD። AIX እና HP-UX ድጋፍ እንደ አስፈላጊነቱ ሊታከል ይችላል.
  • ኮዱ ያልተገለጸ ባህሪ ሳኒታይዘር እና አድራሻ ሳኒታይዘር በመጠቀም ጸድቷል፣ ሁሉም በ"-Wpedantic" ሲገነቡ ማስጠንቀቂያዎች፣ ሁሉም የሽፋን የማይንቀሳቀስ ተንታኝ ማስጠንቀቂያዎች፣ ወዘተ. ተወግደዋል።
  • አዘምን የኤፒአይ መግለጫዎች.
  • ለመክተት ቀላልነት የምንጭ ኮድ ማዋሃድ (ማዋሃድ)።
  • ድጋፍ ያድርጉ።
  • ለታሸጉ ግብይቶች ድጋፍ።
  • ስርዓተ ክወናው ዳግም መጀመሩን (የቆሸሸ የውሂብ ጎታ ማቆሚያ) ለማወቅ bootidን በመጠቀም።
  • የተዘመኑ/የቆዩ ገፆች እና የተራዘመ የግብይት መረጃ ከጫፍ እስከ ጫፍ ቆጠራ።
  • አማራጭ MDBX_ACCDE በተኳሃኝ ሁነታ ከተከፈተ የውሂብ ጎታ ጋር ለመገናኘት።
  • ተጠቀም OFD ማገድ ሲገኝ.
  • በቧንቧ ውስጥ ትኩስ ምትኬ.
  • ልዩ የተመቻቸ የውስጥ መደርደር ስልተ-ቀመር (እስከ 2-3 ጊዜ ከ"qsort()" እና ከ"std:: ዓይነት()" እስከ 30% ፈጣን።
  • ከፍተኛው የቁልፍ ርዝመት ጨምሯል።
  • ወደፊት የማንበብ ራስ-ሰር ቁጥጥር (የውሂብ ጎታ ፋይል መሸጎጫ ስልት በማህደረ ትውስታ ውስጥ)።
  • የበለጠ ጠበኛ እና ፈጣን ራስ-መጠቅለል።
  • የ B+ ዛፍ ገጾችን ለማዋሃድ የበለጠ ጥሩ ስልት።
  • በስህተት ጥቅም ላይ ከዋለ የውሂብ ጎታ ጉዳትን ለመከላከል የአካባቢ ያልሆኑ የፋይል ስርዓቶችን (NFS, Samba, ወዘተ) መቆጣጠር.
  • የፈተናዎች ስብስብ ተዘርግቷል.

የ “ቀጣይ” የlibmdbx ስሪት ልማት እንደ የተለየ ፕሮጀክት ይቀጥላል MithrilDBየ MDBX "የአሁኑ" ስሪት ልማት ቬክተር የባህሪ ስብስቡን ለማቀዝቀዝ እና ለማረጋጋት ያለመ ነው። ይህ ውሳኔ የተደረገው በሦስት ምክንያቶች ነው።

  • ሙሉ በሙሉ ተኳሃኝ ያልሆነ፡ MithrilDB ሁሉንም የታቀዱ ባህሪያትን ለመተግበር የተለየ (ተኳሃኝ ያልሆነ) የውሂብ ጎታ ፋይል ቅርጸት እና የተለየ (ተኳሃኝ ያልሆነ) ኤፒአይ ይፈልጋል።
  • አዲስ ምንጭ ኮድ፡ የሚትሪልዲቢ ምንጭ ኮድ ከኤልኤምዲቢ ነፃ ፈቃድ ተሰጥቶታል፣ እና ፕሮጀክቱ ራሱ በተለየ ፍቃድ ለመታተም ታቅዷል (በጸደቀ ኦ.ሲ.አይ. Apache 2.0 ፍቃድ እንጂ ክፍት LDAP የህዝብ ፈቃድ).
  • መለያየቱ ሊፈጠር የሚችል ግራ መጋባትን ያስወግዳል, የበለጠ እርግጠኛነትን ያስተዋውቃል እና ለፕሮጀክቶች ገለልተኛ መንገድን ያረጋግጣል.

MithrilDB፣ ልክ እንደ MDBX፣ እንዲሁ የተመሰረተ ነው። ዛፍ B+ እና የ MDBX እና LMDB በርካታ መሰረታዊ ጉዳቶችን በሚያስወግድበት ጊዜ እጅግ በጣም ከፍተኛ አፈፃፀም ይኖረዋል። በተለይም የቆሻሻ መጣያ ሂደት በረጅም የንባብ ግብይቶች በመታገዱ እራሱን እንደ የመረጃ ቋቱ "እብጠት" የሚገለጠው "ረጅም ንባብ" ችግር ይወገዳል. አዲስ MithrilDB ባህሪያት የሚከተሉትን ያካትታሉ:

  • የውሂብ ጎታውን በተለያዩ የተለያዩ ሚዲያዎች ላይ ለማስቀመጥ ድጋፍ፡ ኤችዲዲ፣ ኤስኤስዲ እና የማይለዋወጥ ማህደረ ትውስታ።
  • ለ"ዋጋ ያለው" እና "ዝቅተኛ ዋጋ"፣ ለ"ሞቃት"፣ "ሞቅ ያለ" እና "ቀዝቃዛ" ውሂብ ምርጥ ስልቶች።
  • የመረጃ ቋቱን ትክክለኛነት ለመቆጣጠር Merkle ዛፍን መጠቀም።
  • የWALን አማራጭ መጠቀም እና በከፍተኛ ሁኔታ የተሻሻለ አፈጻጸም ከውሂብ ታማኝነት ዋስትናዎች ጋር በመጻፍ ላይ ባሉ ሁኔታዎች።
  • መረጃን ወደ ዲስኮች መፈጸም ሰነፍ መያዝ።

ምንጭ: opennet.ru

አስተያየት ያክሉ