DBMS libmdbx මුදා හැරීම 0.11.7. GitHub හි අගුලු දැමීමෙන් පසු සංවර්ධනය GitFlic වෙත ගෙන යන්න

libmdbx 0.11.7 (MDBX) පුස්තකාලය ඉහළ කාර්යසාධනයක් සහිත සංයුක්ත කාවැද්දූ යතුරු-අගය දත්ත ගබඩාවක් ක්‍රියාත්මක කිරීමත් සමඟ නිකුත් කර ඇත. libmdbx කේතය OpenLDAP පොදු බලපත්‍රය යටතේ බෙදා හැරේ. සියලුම වත්මන් මෙහෙයුම් පද්ධති සහ ගෘහ නිර්මාණ ශිල්පයට මෙන්ම රුසියානු Elbrus 2000 සඳහා සහය දක්වයි.

GitHub පරිපාලනය විසින් 15 අප්‍රේල් 2022 වන දින කිසිදු අනතුරු ඇඟවීමක් හෝ පැහැදිලි කිරීමක් නොමැතිව වෙනත් ව්‍යාපෘති රාශියක් සමඟ libmdbx ඉවත් කිරීමෙන් පසු ව්‍යාපෘතිය GitFlic සේවාව වෙත සංක්‍රමණය වීම සඳහා නිකුතුව කැපී පෙනේ, ඒ අතරම වැටුණු සමාගම් හා සම්බන්ධ බොහෝ සංවර්ධකයින්ට ප්‍රවේශය අවහිර කරයි. එක්සත් ජනපද සම්බාධක යටතේ. පරිශීලකයාගේ දෘෂ්ටි කෝණයෙන්, ව්‍යාපෘතියේ සියලුම පිටු, ගබඩාව සහ ගෑරුප්පු, කිසිදු සන්නිවේදනයක් සහ හේතු සොයා ගැනීමේ හැකියාවකින් තොරව හදිසියේම "404" පිටුවක් බවට පත් විය.

අවාසනාවකට, සියලුම ගැටළු පාහේ නැති වී ගොස් ඇති අතර, සවිස්තරාත්මක පිළිතුරු සහිත ප්‍රශ්න රාශියක් මෙන්ම සාකච්ඡා රාශියක් ද තිබුණි. මෙම තොරතුරු නැතිවීම GitHub පරිපාලනය ව්‍යාපෘතියට සිදු කළ එකම වෛෂයික හානියයි. සාකච්ඡා වල අර්ධ පිටපත් archive.org ලේඛනාගාරයේ පවතී.

බිල්ට්-ඉන් CI ස්ක්‍රිප්ට් සහ යටිතල පහසුකම් (නොමිලේ OpenSource ව්‍යාපෘති සඳහා ලබා ගත හැකි) අහිමි වීම නිසා කුඩා තාක්ෂණික ණයක් සංශෝධනය කිරීම, ඒකාබද්ධ කිරීම සහ ඉවත් කිරීම සිදු කිරීමට අපට සිදු විය. සියලුම BSD සහ Solaris ප්‍රභේද සඳහා ගොඩනැගීම් සහ පරීක්ෂණ ධාවනය හැරුණු විට, CI දැන් එම ප්‍රමාණයටම ප්‍රතිසාධනය කර ඇත. GitHub හි ක්‍රියාවලින් පසුව, ගෙවීමේ අවශ්‍යතාවය සහ මුදල් කපා හැරීමට උත්සාහ කිරීම පිළිබඳ මතක් කිරීමක් හැර, කිසිදු පැහැදිලි කිරීමක් හෝ දැනුම්දීම් නොලැබුණු බව පැවසිය හැකිය.

Libmdbx v0.11.3 නිකුතුව පිළිබඳ අවසන් පුවතේ සිට, GitHub ක්‍රියාවන්ගෙන් ප්‍රකෘතිමත් වීමට අමතරව, පහත වැඩිදියුණු කිරීම් සහ නිවැරදි කිරීම් සඳහන් කිරීම වටී:

  • ලිනක්ස් කර්නලයේ ඒකාබද්ධ පිටුවේ සහ බෆර හැඹිලියේ අනාවරණය වූ අසංවිධානාත්මක බලපෑමක්/දෝෂයක් සඳහා විසඳුමක් එක් කරන ලදී. පිටු සහ බෆර් හැඹිලි සැබවින්ම ඒකාබද්ධ වී ඇති පද්ධති මත, දැනටමත් මතක සිතියම්ගත ගොනුවකට ලිවීමේදී කර්නලය දත්ත පිටපත් දෙකක් මත මතකය නාස්ති කිරීම තේරුමක් නැත. එබැවින්, දත්ත තවමත් තැටියට ලියා නොමැති වුවද, ලිවීමේ () පද්ධති ඇමතුම සම්පූර්ණ වීමට පෙර මතක සිතියම්කරණය හරහා ලියන දත්ත දෘශ්‍යමාන වේ.

    සමස්තයක් ලෙස ගත් කල, වෙනත් හැසිරීම් තාර්කික නොවේ, මන්ද ප්‍රමාද වූ ඒකාබද්ධ වීමත් සමඟ, ඔබට තවමත් පිටු ලැයිස්තු සඳහා අගුල් අල්ලා ගැනීමට, දත්ත පිටපත් කිරීමට හෝ PTE සකස් කිරීමට සිදුවේ. එබැවින්, SRV1989 හි ඒකාබද්ධ බෆර හැඹිලිය දර්ශනය වූ 4 සිට සහජීවනයේ නොකියූ රීතිය ක්රියාත්මක වේ. එබැවින්, කාර්යබහුල libmdbx නිෂ්පාදන අවස්ථා වලදී අමුතු අසාර්ථකත්වයන් සොයා ගැනීමට විශාල වැඩ කොටසක් අවශ්ය විය. පළමුව, ගැටලුව ප්‍රතිනිෂ්පාදනය කිරීමෙන්, පසුව උපකල්පන සත්‍යාපනය කිරීමෙන් සහ වැඩිදියුණු කිරීම් පරීක්ෂා කිරීමෙන්.

    ප්ලේබැක් දර්ශනයේ සංකීර්ණත්වය සහ විශේෂත්වය තිබියදීත්, ගැටලුව විශ්වාසදායක ලෙස හඳුනාගෙන, දේශීයකරණය කර විශ්වාසදායක ලෙස ඉවත් කර ඇති බව දැන් අපට විශ්වාසයෙන් පැවසිය හැකිය. මීට අමතරව, බයිපාස් යාන්ත්‍රණයේ ක්‍රියාකාරිත්වය Erigon (Ethereum) හි එක් සංවර්ධකයෙකු විසින් තහවුරු කරන ලදී, ඔහුගේ නඩුවේදී, දෝශ නිරාකරණ ගොඩනැගීමේදී, අමතර තහවුරු කිරීමේ චෙක්පතක් හේතුවෙන් ආරක්ෂාව ප්‍රතිගමනයක් ලෙස ක්‍රියාත්මක විය.

    වැඩ කරන ව්‍යාපෘතිවල libmdbx බහුලව භාවිතා වන සන්දර්භය තුළ, "මෙය දෝෂයක් හෝ විශේෂාංගයක්" සහ එවැනි සුසංයෝගයක් මත විශ්වාසය තැබිය හැකිද යන්න සොයා ගැනීමට වඩා, විශ්වාසදායක ක්‍රියාකාරිත්වය සහතික කිරීම මූලික වශයෙන් වඩා වැදගත් බව සටහන් කළ යුතුය. විශේෂයෙන්ම ලිනක්ස් කර්නලය තුළ නොගැලපීම සඳහා හේතු සොයා නොගැනීම. එමනිසා, මෙහිදී අපි කතා කරන්නේ පරිශීලකයින්ට බලපාන ගැටළුවක් විසඳීම ගැන ය.

  • API හරහා සහ mdbx_copy උපයෝගීතාව භාවිතා කරමින් වෙනත් ගොනු පද්ධතියකට සංයුක්ත කිරීමකින් තොරව දත්ත සමුදායක් උණුසුම්ව පිටපත් කිරීමේදී EXDEV (හරස් උපාංග සබැඳිය) දෝෂයේ ප්‍රතිගාමී වීමක් නිරාකරණය කර ඇත.
  • Kris Zyp Deno හි libmdbx සඳහා සහය ක්‍රියාත්මක කර ඇත. Kai Wetlesen Fedora සඳහා RPM ඇසුරුම් කර ඇත. ඩේවිඩ් බොයිසි ස්කාලා සඳහා බැඳීම් ක්‍රියාත්මක කළේය.
  • විශාල දත්ත සමුදායන් තුළ විශාල ගනුදෙනු සකසන විට MDBX_opt_rp_augment_limit විකල්පය මඟින් සකසන ලද අගය ස්ථාවර ලෙස සැකසීම. මීට පෙර, දෝෂයක් හේතුවෙන්, අනවශ්‍ය ක්‍රියා සිදු කළ හැකි අතර, එය සමහර විට Ethereum ක්‍රියාත්මක කිරීම් (Erigon/Akula/Silkworm) සහ Binance Chain ව්‍යාපෘතිවල කාර්ය සාධනයට බලපෑවේය.
  • C++ API හි ඇති දෝෂ ඇතුළුව බොහෝ දෝෂ නිවැරදි කර ඇත. දුර්ලභ හා විදේශීය වින්‍යාසයන්හි ගොඩ නැගීමේ ගැටළු බොහොමයක් විසඳා ඇත. සියලුම සැලකිය යුතු වැඩිදියුණු කිරීම් සම්පූර්ණ ලැයිස්තුවක් ChangeLog හි ඇත.
  • ගොනු 185කට වෙනස්කම් 89ක් සිදු කරන ලදී, පේළි ≈3300 එකතු කරන ලදී, ≈4100 මකා දමන ලදී. GitHub සහ යැපෙන සේවාවන් හා සම්බන්ධ දැනටමත් වැඩකට නැති තාක්ෂණික ගොනු ඉවත් කිරීම හේතුවෙන් බොහෝ දුරට ඉවත් කර ඇත.

ඓතිහාසික වශයෙන්, libmdbx යනු LMDB DBMS හි ගැඹුරු ප්‍රතිනිර්මාණයක් වන අතර විශ්වසනීයත්වය, විශේෂාංග කට්ටලය සහ ක්‍රියාකාරීත්වය අතින් එහි ප්‍රවර්ගය අභිබවා යයි. LMDB හා සසඳන විට, libmdbx කේතයේ ගුණාත්මකභාවය, API ස්ථායිතාව, පරීක්ෂා කිරීම සහ ස්වයංක්‍රීය චෙක්පත් කෙරෙහි වැඩි අවධානයක් යොමු කරයි. දත්ත සමුදා ව්‍යුහයේ අඛණ්ඩතාව පරීක්ෂා කිරීම සඳහා උපයෝගීතාවයක් සමහර ප්‍රතිසාධන විකල්ප සමඟ සපයා ඇත.

තාක්‍ෂණිකව, libmdbx විසින් ACID, දැඩි වෙනස් කිරීම් අනුක්‍රමිකකරණය සහ CPU මධ්‍ය හරහා රේඛීය පරිමාණය සමඟ කියවීම් අවහිර නොකිරීම ලබා දෙයි. ස්වයංක්‍රීය සංයුක්තකරණය, ස්වයංක්‍රීය දත්ත සමුදා ප්‍රමාණය කළමනාකරණය සහ පරාස විමසුම් ඇස්තමේන්තුව සඳහා සහය දක්වයි. 2016 සිට, මෙම ව්‍යාපෘතිය Positive Technologies විසින් අරමුදල් සපයනු ලබන අතර 2017 සිට එහි නිෂ්පාදන සඳහා භාවිතා කර ඇත.

libmdbx විසින් සංවර්ධිත C++ API එකක් මෙන්ම Rust, Haskell, Python, NodeJS, Ruby, Go, Nim, Deno, Scala වෙත උද්යෝගිමත්-සහාය දක්වන බන්ධන ඉදිරිපත් කරයි.

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

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