වසර පහක සංවර්ධනයෙන් පසු, දෙවන libmdbx 1.0 නිකුතු අපේක්ෂකයා ප්‍රකාශයට පත් කර ඇත

ඇත පුස්තකාල නිකුතු සඳහා දෙවන අපේක්ෂකයා පරීක්ෂා කිරීම සඳහා libmdbx ඉහළ කාර්ය සාධනයක් සහිත, සංයුක්ත කාවැද්දූ යතුරු-අගය දත්ත ගබඩාවක් ක්‍රියාත්මක කිරීමත් සමඟ. වත්මන් අනුවාදය (0.5) තාක්ෂණික නිකුතුවක් වන අතර, පුස්තකාලයේ පළමු සම්පූර්ණ නිකුතුව පසුව පිහිටුවීමත් සමඟ, ඕනෑම වැඩිදියුණු කිරීම් සම්පූර්ණ කිරීම සහ පොදු අවසාන පරීක්ෂණ සහ ස්ථායීකරණයේ අදියර වෙත මාරුවීම සලකුණු කරයි. libmdbx කේතය විසින් බෙදා හරිනු ලැබේ OpenLDAP පොදු බලපත්‍රය යටතේ බලපත්‍ර ලබා ඇත.

MDBX පුස්තකාලය සැලකිය යුතු ලෙස සංශෝධිත දෙබලකි LMDB — පදනම් වූ "ප්‍රධාන අගය" පන්තියේ ගනුදෙනු කාවැද්දූ DBMS ගස B+ තොරව ක්රියාකාරී ලොග් කිරීම, බහු-නූල් ක්‍රියාවලීන්ට දේශීයව බෙදාගත් (ජාල නොවන) දත්ත සමුදායක් සමඟ තරඟකාරීව සහ කාර්යක්ෂමව ක්‍රියා කිරීමට ඉඩ සලසයි. අනෙක් අතට, MDBX LMDB වලට වඩා වේගවත් සහ විශ්වාසදායක වන අතර, ඒ සමඟම එහි මුතුන් මිත්තන්ගේ සියලුම ප්‍රධාන ලක්ෂණ රඳවා තබා ගනී. අම්ලය සහ CPU හරය හරහා රේඛීය පරිමාණය සමඟින් අවහිර නොවන කියවීම්.

MDBX සහ LMDB අතර වඩාත්ම වැදගත් වෙනස්කම්:

  • මූලික වශයෙන්, කේතයේ ගුණාත්මකභාවය, පරීක්ෂා කිරීම සහ ස්වයංක්‍රීය චෙක්පත් කෙරෙහි වැඩි අවධානයක් යොමු කෙරේ.
  • පරාමිති පරීක්ෂා කිරීමේ සිට දත්ත සමුදා ව්‍යුහයන්ගේ අභ්‍යන්තර විගණනය දක්වා ක්‍රියාත්මක වන විට සැලකිය යුතු ලෙස වැඩි පාලනයක්.
  • ස්වයංක්‍රීය සංයුක්තකරණය සහ ස්වයංක්‍රීය දත්ත සමුදා ප්‍රමාණය කළමනාකරණය.
  • 32-bit සහ 64-bit එකලස් කිරීම් සඳහා තනි දත්ත සමුදා ආකෘතියක්.
  • පරාසයන් අනුව නියැදි වෙළුම් ඇස්තමේන්තු කිරීම (පරාස විමසුම් ඇස්තමේන්තුව).
  • පෑන්කේක් මෙන් දෙගුණයක් විශාල යතුරු සඳහා සහය සහ පරිශීලක-තෝරාගත හැකි දත්ත සමුදා පිටු ප්‍රමාණය.

libmdbx නිකුතු අපේක්ෂකයා MDBX සහ MithrilDB ව්‍යාපෘති වෙන් කිරීමට 2019 අගෝස්තු මාසයේ ගත් තීරණයක ප්‍රතිඵලයකි. ඒ සමගම, libmdbx (තාර්කික) උපරිම තාක්ෂණික ණය ඉවත් කිරීමට සහ පුස්තකාලය ස්ථාවර කිරීමට තීරණය කළේය. ඇත්ත වශයෙන්ම, මුලින් ඇස්තමේන්තු කර සැලසුම් කරන ලද ප්‍රමාණයට වඩා 2-3 ගුණයක් නම් කරන ලද දිශාවට සිදු කර ඇත:

  • MacOS සහ දෙවන පෙළ වේදිකා සඳහා සහය ක්‍රියාත්මක කර ඇත: FreeBSD, Solaris, DragonFly BSD, OpenBSD, NetBSD. AIX සහ HP-UX සහාය අවශ්‍ය පරිදි එකතු කළ හැක.
  • මෙම කේතය නිර්වචනය නොකළ චර්යා සනීපාරක්ෂාව සහ ලිපින සනීපාරක්ෂක භාවිතයෙන් විෂබීජහරණය කරන ලදී, "-Wpedantic" සමඟ ගොඩනඟන විට සියලුම අනතුරු ඇඟවීම්, සියලු ආවරණ ස්ථිතික විශ්ලේෂක අනතුරු ඇඟවීම් ආදිය ඉවත් කරන ලදී.
  • යාවත්කාලීන කරන්න API විස්තර.
  • කාවැද්දීමේ පහසුව සඳහා මූල කේතය ඒකාබද්ධ කිරීම (ඒකාබද්ධ කිරීම).
  • CMake සහාය.
  • කැදලි ගනුදෙනු සඳහා සහාය.
  • මෙහෙයුම් පද්ධතිය නැවත ආරම්භ කර තිබේද යන්න තීරණය කිරීමට bootid භාවිතා කිරීම (අපිරිසිදු දත්ත සමුදා නැවතුම).
  • යාවත්කාලීන කරන ලද/පැරණි පිටු සහ විස්තීරණ ගනුදෙනු තොරතුරු අවසානයේ සිට අවසානය දක්වා ගණන් කිරීම.
  • MDBX_ACCEDE විකල්පය දැනටමත් විවෘතව ඇති දත්ත ගබඩාවකට ගැළපෙන ආකාරයෙන් සම්බන්ධ වීමට.
  • භාවිතා කරන්න OFD අවහිර කිරීම පවතින විට.
  • පයිප්පයේ උණුසුම් උපස්ථය.
  • විශේෂිත ප්‍රශස්ත අභ්‍යන්තර වර්ග කිරීමේ ඇල්ගොරිතම (“qsort()” ට වඩා 2-3 ගුණයක් දක්වා වේගවත් සහ “std::sort()” ට වඩා 30% දක්වා වේගවත්).
  • උපරිම යතුරු දිග වැඩි කර ඇත.
  • ඉදිරි කියවීමේ ස්වයංක්‍රීය පාලනය (මතකයේ දත්ත සමුදා ගොනු හැඹිලි උපාය).
  • වඩාත් ආක්‍රමණශීලී සහ වේගවත් ස්වයංක්‍රීය සංයුක්ත කිරීම.
  • B+ ගස් පිටු ඒකාබද්ධ කිරීම සඳහා වඩාත් ප්‍රශස්ත උපාය මාර්ගයක්.
  • වැරදි ලෙස භාවිතා කළහොත් දත්ත සමුදායට හානි වීම වැළැක්වීම සඳහා දේශීය නොවන ගොනු පද්ධති (NFS, Samba, ආදිය) පාලනය කිරීම.
  • පරීක්ෂණ කට්ටලය පුළුල් කර ඇත.

libmdbx හි "ඊළඟ" අනුවාදයේ සංවර්ධනය වෙනම ව්‍යාපෘතියක් ලෙස දිගටම පවතිනු ඇත මිත්‍රිල් ඩී.බී, MDBX හි "වත්මන්" අනුවාදයේ සංවර්ධන දෛශිකය විශේෂාංග කට්ටලය කැටි කිරීම සහ එය ස්ථාවර කිරීම ඉලක්ක කර ඇත. මෙම තීරණය හේතු තුනක් සඳහා ගෙන ඇත:

  • සම්පුර්ණයෙන්ම නොගැලපේ: MithrilDB හට සියලු සැලසුම් කළ විශේෂාංග ක්‍රියාත්මක කිරීමට වෙනස් (නොගැලපෙන) දත්ත සමුදා ගොනු ආකෘතියක් සහ වෙනස් (නොගැලපෙන) API අවශ්‍ය වේ.
  • නව මූල කේතය: MithrilDB මූලාශ්‍ර කේතය LMDB වෙතින් ස්වාධීනව බලපත්‍ර ලබාගෙන ඇති අතර, ව්‍යාපෘතියම වෙනත් බලපත්‍රයක් යටතේ ප්‍රකාශයට පත් කිරීමට සැලසුම් කර ඇත (අනුමත හෝ IF Apache 2.0 බලපත්‍රය, නැත OpenLDAP පොදු බලපත්‍රය).
  • වෙන්වීම විභව ව්යාකූලත්වය මඟහරවා, වඩාත් නිශ්චිතභාවයක් හඳුන්වා දීම සහ ව්යාපෘති සඳහා ස්වාධීන මාර්ගයක් සහතික කරයි.

MDBX වැනි MithrilDB ද පදනම් වේ ගස B+ සහ MDBX සහ LMDB හි මූලික අවාසි ගණනාවක් ඉවත් කරන අතරම, අතිශයින් ඉහළ කාර්ය සාධනයකින් සමන්විත වනු ඇත. විශේෂයෙන්, "දිගු කියවීම්" පිළිබඳ ගැටළුව ඉවත් කරනු ඇත, එය දිගු කියවීමේ ගනුදෙනු මගින් කසළ සැකසීම අවහිර වීම හේතුවෙන් දත්ත සමුදායේ "ඉදිමීම" ලෙස විදහා දක්වයි. නව MithrilDB විශේෂාංග ඇතුළත් වේ:

  • විෂමජාතීය මාධ්‍ය කිහිපයක දත්ත සමුදාය තැබීම සඳහා සහාය: HDD, SSD සහ වාෂ්පශීලී නොවන මතකය.
  • "වටිනා" සහ "අඩු අගය", "උණුසුම්", "උණුසුම්" සහ "සීතල" දත්ත සඳහා ප්රශස්ත උපාය මාර්ග.
  • දත්ත සමුදායේ අඛණ්ඩතාව නිරීක්ෂණය කිරීමට මර්කල් ගස භාවිතා කිරීම.
  • WAL හි විකල්ප භාවිතය සහ දත්ත අඛණ්ඩතා සහතික සහිත ලිවීමේ-දැඩි අවස්ථා වලදී සැලකිය යුතු ලෙස වැඩිදියුණු කළ කාර්ය සාධනය.
  • තැටි වෙත දත්ත ලබා දීම අලස අල්ලා ගැනීම.

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න