காம்பாக்ட் உட்பொதிக்கப்பட்ட DBMS libmdbx வெளியீடு 0.9.1

வெளியிடப்பட்டது நூலக பதிப்பு 0.9.1 libmdbx (MDBX) உயர் செயல்திறன், கச்சிதமான உட்பொதிக்கப்பட்ட முக்கிய மதிப்பு தரவுத்தளத்தை செயல்படுத்துதல். libmdbx குறியீடு உரிமத்தின் கீழ் விநியோகிக்கப்படுகிறது OpenLDAP பொது உரிமம்.

தற்போதைய பதிப்பு, நீண்ட கால நிலையான பதிப்பு 1.0 ஐ முழு C++ ஆதரவுடன் வெளியிடும் நோக்கத்திற்கும், புதிய C++ API ஐ முடக்குவதற்கு தயாராக இல்லாத காரணத்தால் வெளியீடுகளை தாமதப்படுத்துவதற்கான தயக்கத்திற்கும் இடையேயான சமரசமாகும். வழங்கப்பட்ட வெளியீடு நூலகத்தை உறுதிப்படுத்துவதற்கும் அதன் பயன்பாட்டினை மேம்படுத்துவதற்கும் 9 மாத வேலையின் விளைவாகும், மேலும் ஒரு ஆரம்ப பதிப்பையும் உள்ளடக்கியது C++ API.

libmdbx நூலகம் ஒரு "முட்கரண்டி" மட்டுமல்ல, தீவிரமாக மறுவடிவமைப்பு செய்யப்பட்ட சந்ததி எல்எம்டிபி — அடிப்படையிலான "முக்கிய மதிப்பு" வகுப்பின் பரிவர்த்தனை உட்பொதிக்கப்பட்ட DBMS மரம் B+ இல்லாமல் செயலில் பதிவு செய்தல், இது ஒரு பிரத்யேக சர்வர் செயல்முறை இல்லாமல் உள்ளூரில் பகிரப்பட்ட (நெட்வொர்க் அல்லாத) தரவுத்தளத்துடன் போட்டித்தன்மையுடனும் திறமையாகவும் பல-திரிக்கப்பட்ட செயல்முறைகளை அனுமதிக்கிறது. libmdbx அடிப்படையில் விரிவடைகிறது அதன் மூதாதையரின் திறன்கள், அதே நேரத்தில் தீமைகளை நீக்குதல் அல்லது குறைத்தல். அதே நேரத்தில், டெவலப்பர்களின் கூற்றுப்படி, எல்எம்டிபியை விட libmdbx சற்று வேகமானது மற்றும் கணிசமாக நம்பகமானது.

libmdbx பரிந்துரைக்கிறது ACID, CPU கோர்கள் முழுவதும் லீனியர் ஸ்கேலிங் மூலம் மாற்றங்களின் கடுமையான வரிசைப்படுத்தல் மற்றும் தடையற்ற வாசிப்பு. செயல்திறன் சோதனை முடிவுகள் (1-த்ரெட் ஹைப்பர் த்ரெட் பயன்முறையில் 2 இயற்பியல் கோர்களுடன் CPU i4-8U இல் 7-4600-2-4 த்ரெட்களில் இணையான வாசிப்பு/தேடல் கோரிக்கைகளை அனுப்புகிறது):

காம்பாக்ட் உட்பொதிக்கப்பட்ட DBMS libmdbx வெளியீடு 0.9.1

MDBX மற்றும் LMDB இடையே உள்ள மிக முக்கியமான வேறுபாடுகள்:

  • அடிப்படையில், குறியீட்டின் தரம், API நிலைத்தன்மை, சோதனை மற்றும் தானியங்கி சோதனைகள் ஆகியவற்றில் அதிக கவனம் செலுத்தப்படுகிறது.
  • செயல்பாட்டின் போது குறிப்பிடத்தக்க அளவு கட்டுப்பாடு, அளவுருக்களை சரிபார்ப்பது முதல் தரவுத்தள கட்டமைப்புகளின் உள் தணிக்கை வரை.
  • தானியங்கு சுருக்கம் மற்றும் தானியங்கி தரவுத்தள அளவு மேலாண்மை.
  • 32-பிட் மற்றும் 64-பிட் அசெம்பிளிகளுக்கான ஒற்றை தரவுத்தள வடிவம்.
  • வரம்புகள் மூலம் மாதிரி தொகுதிகளின் மதிப்பீடு (வரம்பு வினவல் மதிப்பீடு).
  • இரண்டு மடங்கு நீளமான விசைகளுக்கான ஆதரவு மற்றும் பயனர் தேர்ந்தெடுக்கக்கூடிய தரவுத்தள பக்க அளவு.
  • சில மீட்பு திறன்களுடன் தரவுத்தள கட்டமைப்பின் ஒருமைப்பாட்டை சரிபார்க்க ஒரு பயன்பாடு.

முக்கிய கண்டுபிடிப்புகள் மற்றும் மேம்பாடுகள் முந்தைய செய்தி ஜனவரி 0.5 இல் பதிப்பு 2020 அறிமுகத்துடன்:

  • உடனடி ஆதரவு மற்றும் கேள்விகளுக்கான பதில்களுக்கு ஒரு திறந்த அமைப்பு உருவாக்கப்பட்டது. தந்தி குழு.
  • ஒரு டஜன் பிழைகள் மற்றும் குறைபாடுகள் நீக்கப்பட்டன (பார்க்க. பதிவு மாற்ற).
  • நிறைய எழுத்துப் பிழைகள் மற்றும் எழுத்துப் பிழைகள் சரி செய்யப்பட்டுள்ளன, மேலும் பல ஒப்பனை மேம்பாடுகள் செய்யப்பட்டுள்ளன.
  • சோதனை காட்சிகள் விரிவுபடுத்தப்பட்டுள்ளன.
  • iOS, Android க்கான ஆதரவு, கட்டுமான வேர், musl, uClibc, WSL1 и மது.
  • C++ API முன்னோட்டம் வெளியிடப்பட்டது ஒரு தலைப்பு கோப்பு.
  • Doxygen வடிவத்தில் உள்ளமைக்கப்பட்ட ஆவணங்கள் மற்றும் தானியங்கி உருவாக்கம் ஆன்லைன் ஆவணங்கள்.
  • ஒருங்கிணைந்த மூல நூல்களுடன் காப்பகங்களின் தானியங்கி உருவாக்கம் வழங்கப்படுகிறது.
  • பரிவர்த்தனைகள் மற்றும் கர்சர்கள், பரிவர்த்தனைகளுக்கான பயனர் சூழல்கள் மற்றும் கர்சர்களைத் தயாரிப்பதற்கான ஆதரவு சேர்க்கப்பட்டது.
  • B+tree MVCC ஸ்னாப்ஷாட்களில் குறிப்பு ஒருமைப்பாட்டைக் கட்டுப்படுத்த கூடுதல் முறைகள் செயல்படுத்தப்பட்டுள்ளன.
  • தரவுத்தளத்தின் எம்விசிசி ஸ்னாப்ஷாட்டைச் சரிபார்ப்பதற்கான ஆதரவு சேர்க்கப்பட்டது, மீட்டெடுப்பதற்கு மாறக்கூடிய திறன் கொண்ட எந்த மெட்டா பக்கத்திலும் அணுகலாம்.
  • சோதனை நோக்கங்களுக்காக ஒரு செயல்முறையிலிருந்து தரவுத்தளத்தை மீண்டும் திறப்பதற்கான ஆதரவு செயல்படுத்தப்பட்டது.
  • தரவுத்தளத்தைத் திறக்கும்போது MDBX_NOSUBDIR விருப்பத்தின் தானியங்கி செயலாக்கம் செயல்படுத்தப்பட்டது.
  • மிதக்கும் புள்ளி மதிப்புகள் மற்றும் ஜாவாஸ்கிரிப்ட் "யுனிவர்சல்" எண்களில் இருந்து முழு எண் விசைகளை உருவாக்குவதற்கான செயல்பாடுகள் சேர்க்கப்பட்டன.
  • மொத்தத்தில், 430 கோப்புகளை பாதிக்கும் வகையில் 93 மாற்றங்கள் செய்யப்பட்டன, 25 ஆயிரத்துக்கும் மேற்பட்ட வரிகள் சேர்க்கப்பட்டன, 8.5 ஆயிரத்துக்கும் மேற்பட்ட வரிகள் நீக்கப்பட்டன.

libmdbx இன் அடுத்தடுத்த வளர்ச்சியானது இறுதி C++ API, அடிப்படைக் குறியீட்டை மேலும் உறுதிப்படுத்துதல், நூலகத்தின் பயன்பாட்டினை மேம்படுத்துதல் மற்றும் பிரபலமான Linux விநியோகங்களுக்கான பேக்கேஜிங் ஆகியவற்றில் கவனம் செலுத்தும். முன்மொழியப்பட்ட மேம்பாடுகளில், வடிவமைப்பில் உள்ள விசைகளுக்கான ஆதரவைக் குறிப்பிடுவது மதிப்பு மெசேஜ் பேக்.

ஆதாரம்: opennet.ru

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