ሁለተኛ libmdbx v1.0 እጩ ከአምስት ዓመት እድገት በኋላ ይለቀቃል።

ቤተ መጻሕፍት libmdbx ጉልህ በሆነ መልኩ እንደገና የተነደፈ የኤልኤምዲቢ ዘር ነው - እጅግ በጣም ከፍተኛ አፈጻጸም ያለው፣ የታመቀ የተካተተ ቁልፍ እሴት ዳታቤዝ።
የአሁኑ ስሪት v0.5 ቴክኒካዊ ልቀት ነው, ማንኛውም ማሻሻያዎች መጠናቀቅ እና ይፋዊ የመጨረሻ ሙከራ እና ማረጋጊያ ደረጃ ያለውን ሽግግር, በቀጣይነትም ቤተ-መጽሐፍት የመጀመሪያ ሙሉ መለቀቅ ምስረታ ጋር.

LMDB ላይ የተመሰረተ በጣም የታወቀ የግብይት ቁልፍ-ዋጋ DBMS ነው። ዛፍ B+ ያለ ንቁ ምዝግብ ማስታወሻ, ይህም የብዙ-ክር ሂደቶች መንጋ በተወዳዳሪነት እና እጅግ በጣም ውጤታማ በሆነ መልኩ በአካባቢያዊ የጋራ (ኔትወርክ ሳይሆን) የውሂብ ጎታ እንዲሰሩ ያስችላል። በተራው፣ ኤምዲቢኤክስ ከኤልኤምዲቢ የበለጠ ፈጣን እና አስተማማኝ ነው፣ libmdbx ግን እንደ ቅድመ አያቱ ያሉትን ሁሉንም ዋና ዋና ባህሪያት ይይዛል። አሲድ እና አለማገድ በሲፒዩ ኮሮች ላይ በመስመራዊ ልኬት ያነባል፣ እና እንዲሁም በርካታ አዳዲስ ነገሮችን ይጨምራል።

ከኤልኤምዲቢ አንጻር የlibmdbx ልዩነቶች እና ማሻሻያዎች መግለጫ የተለየ መጣጥፍ ይገባዋል (በሀበሬ እና መካከለኛ ላይ ለመታተም የታቀደ)። እዚህ በጣም አስፈላጊ እና ትኩረትን መጥቀስ ተገቢ ነው-

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

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

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

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

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

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

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

ምንጭ: linux.org.ru

አስተያየት ያክሉ