உயர் செயல்திறன் உட்பொதிக்கப்பட்ட DBMS libmdbx வெளியீடு 0.11.3

libmdbx 0.11.3 (MDBX) நூலகம் உயர் செயல்திறன் கொண்ட கச்சிதமான உட்பொதிக்கப்பட்ட விசை மதிப்பு தரவுத்தளத்தின் செயலாக்கத்துடன் வெளியிடப்பட்டது. libmdbx குறியீடு OpenLDAP பொது உரிமத்தின் கீழ் உரிமம் பெற்றது. அனைத்து தற்போதைய இயக்க முறைமைகள் மற்றும் கட்டமைப்புகள் ஆதரிக்கப்படுகின்றன, அதே போல் ரஷியன் Elbrus 2000. 2021 இறுதியில், libmdbx இரண்டு வேகமான Ethereum கிளையண்டுகளில் சேமிப்பக பின்தளமாக பயன்படுத்தப்படுகிறது - Erigon மற்றும் புதிய "Shark", இது கிடைக்கும் படி தகவல், அதிக செயல்திறன் கொண்ட Ethereum கிளையண்ட் ஆகும்.

வரலாற்று ரீதியாக, libmdbx என்பது LMDB DBMS இன் ஆழமான மறுவடிவமைப்பு மற்றும் நம்பகத்தன்மை, அம்ச தொகுப்பு மற்றும் செயல்திறன் ஆகியவற்றின் அடிப்படையில் அதன் முன்னோடியை மிஞ்சும். LMDB உடன் ஒப்பிடும்போது, ​​libmdbx குறியீடு தரம், API நிலைத்தன்மை, சோதனை மற்றும் தானியங்கு சோதனைகள் ஆகியவற்றிற்கு அதிக முக்கியத்துவம் கொடுக்கிறது. தரவுத்தள கட்டமைப்பின் ஒருமைப்பாட்டை சரிபார்க்க ஒரு பயன்பாடு சில மீட்பு விருப்பங்களுடன் வழங்கப்படுகிறது.

தொழில்நுட்பம் வாரியாக, libmdbx ஆனது ACID, வலுவான மாற்ற வரிசைப்படுத்தல் மற்றும் CPU கோர்கள் முழுவதும் லீனியர் ஸ்கேலிங் மூலம் தடுக்காத வாசிப்புகளை வழங்குகிறது. தானியங்குச் சுருக்கம், தானியங்கி தரவுத்தள அளவு மேலாண்மை மற்றும் வரம்பு வினவல் மதிப்பீடு ஆகியவை ஆதரிக்கப்படுகின்றன. 2016 முதல், இந்தத் திட்டம் பாசிட்டிவ் டெக்னாலஜிஸால் நிதியளிக்கப்பட்டு 2017 முதல் அதன் தயாரிப்புகளில் பயன்படுத்தப்படுகிறது.

libmdbx ஆனது C++ API மற்றும் ரஸ்ட், ஹாஸ்கெல், பைதான், நோட்ஜேஎஸ், ரூபி, கோ மற்றும் நிம் ஆகியவற்றிற்கான ஆர்வலர்-ஆதரவு மொழி பிணைப்புகளை வழங்குகிறது.

அக்டோபர் 11 அன்று முந்தைய செய்தியிலிருந்து முக்கிய கண்டுபிடிப்புகள், மேம்பாடுகள் மற்றும் திருத்தங்கள் சேர்க்கப்பட்டன:

  • C++ API பயன்படுத்த தயாராக உள்ளது.
  • பெரிய பரிவர்த்தனைகளைச் செய்யும்போது GC தரவின் புதுப்பித்தல் கணிசமாக துரிதப்படுத்தப்பட்டுள்ளது, இது Ethereum சுற்றுச்சூழல் அமைப்பில் libmdbx ஐப் பயன்படுத்தும் போது மிகவும் முக்கியமானது.
  • தரவுத்தள வடிவமைப்பின் உள் கையொப்பம் தானியங்கி புதுப்பிப்பை ஆதரிக்கும் வகையில் மாற்றப்பட்டுள்ளது, இது பயனர்களுக்கு முற்றிலும் வெளிப்படையானது. தற்போதைய பதிப்புகளால் பதிவுசெய்யப்பட்ட பரிவர்த்தனைகளைப் படிக்க நூலகத்தின் காலாவதியான பதிப்புகள் பயன்படுத்தப்படும்போது, ​​தரவுத்தள ஊழல் பற்றிய தவறான-நேர்மறையான செய்திகளை அகற்ற இது உங்களை அனுமதிக்கிறது.
  • சேர்க்கப்பட்ட செயல்பாடுகள் mdbx_env_get_syncbytes(), mdbx_env_get_syncperiod() மற்றும் mdbx_env_get_syncbytes(). MDBX_SET_UPPERBOUND செயல்பாட்டிற்கான ஆதரவு சேர்க்கப்பட்டது.
  • C++ 11/14/17/20 முறைகளில் அனைத்து ஆதரிக்கப்படும் கம்பைலர்களுடன் உருவாக்கும்போது அனைத்து எச்சரிக்கைகளும் அகற்றப்பட்டன. லெகஸி கம்பைலர்களுடன் இணக்கம் உறுதி செய்யப்படுகிறது: CentOS/RHEL 3.9 க்கான cdevtoolset-4.8 ஐப் பயன்படுத்தும் அசெம்பிளி உட்பட, 9 இலிருந்து தொடங்கும் clang, 7 இலிருந்து gcc.
  • mdbx_chk பயன்பாட்டைப் பயன்படுத்தி ஒரு குறிப்பிட்ட மெட்டா பக்கத்திற்கு கைமுறையாக மாறிய பிறகு மெட்டா பக்க மோதலுக்கான சாத்தியம் சரி செய்யப்பட்டது.
  • மரபு மெட்டா பக்கங்களை மேலெழுதும்போது எதிர்பாராத MDBX_PROBLEM பிழை சரி செய்யப்பட்டது.
  • MDBX_GET_BOTH கோரிக்கையைச் செயல்படுத்தும் போது சரியாகப் பொருந்தாத பட்சத்தில் MDBX_NOTFOUND திரும்பப் பெறுவது நிலையானது.
  • கர்னலுடன் இடைமுகங்களின் விளக்கங்களுடன் தலைப்பு கோப்புகள் இல்லாத நிலையில் லினக்ஸில் தொகுத்தல் பிழை சரி செய்யப்பட்டது.
  • MDBX_SHRINK_ALLOWED அகக் கொடிக்கும் MDBX_ACCEDE விருப்பத்திற்கும் இடையே உள்ள முரண்பாடு சரி செய்யப்பட்டது.
  • பல தேவையற்ற உறுதியான காசோலைகள் அகற்றப்பட்டுள்ளன.
  • mdbx_env_set_option() செயல்பாட்டிலிருந்து MDBX_RESULT_TRUE இன் எதிர்பாராத வருமானம் சரி செய்யப்பட்டது.
  • மொத்தத்தில், 90 கோப்புகளில் 25க்கும் மேற்பட்ட மாற்றங்கள் செய்யப்பட்டன, ~1300 வரிகள் சேர்க்கப்பட்டன, ~600 நீக்கப்பட்டன.

ஆதாரம்: opennet.ru

கருத்தைச் சேர்