ကျစ်လစ်သိပ်သည်းစွာထည့်ထားသော DBMS libmdbx 0.9.1 ကို ဖြန့်ချိသည်။

လွှတ်ပေးခဲ့သည်။ စာကြည့်တိုက်ဗားရှင်း 0.9.1 libmdbx (MDBX) စွမ်းဆောင်ရည်မြင့်မားပြီး ကျစ်လစ်သိပ်သည်းစွာ ထည့်သွင်းထားသော သော့တန်ဖိုးဒေတာဘေ့စ်ကို အကောင်အထည်ဖော်ခြင်း။ libmdbx ကုဒ်ကို လိုင်စင်တစ်ခုအောက်တွင် ဖြန့်ဝေထားသည်။ OpenLDAP အများသူငှာ လိုင်စင်.

လက်ရှိဗားရှင်းသည် C++ ပံ့ပိုးမှုအပြည့်ဖြင့် ရေရှည်တည်ငြိမ်သောဗားရှင်း 1.0 ကို ထုတ်ဝေရန် ရည်ရွယ်ချက်နှင့် C++ API အသစ်ကို အေးခဲစေရန် ကြိုတင်ပြင်ဆင်ထားခြင်း မရှိခြင်းကြောင့် ထုတ်ဝေမှုများကို နှောင့်နှေးစေမည့် နှောင့်နှေးမှုတို့အကြား အပေးအယူတစ်ခုဖြစ်သည်။ တင်ပြထားသော ထုတ်ဝေမှုသည် စာကြည့်တိုက်ကို တည်ငြိမ်စေရန်နှင့် ၎င်း၏ အသုံးပြုနိုင်စွမ်းကို ပိုမိုကောင်းမွန်စေရန် ရည်ရွယ်၍ ၉ လကြာ လုပ်ဆောင်မှု၏ ရလဒ်ဖြစ်ပြီး ပဏာမဗားရှင်းလည်း ပါဝင်သည်။ C++ API.

libmdbx စာကြည့်တိုက်သည် “ခက်ရင်းခွ” မျှသာမဟုတ်၊ ပြင်းထန်စွာ ပြန်လည်ဒီဇိုင်းထုတ်ထားသော မျိုးဆက်တစ်ခုဖြစ်သည်။ LMDB — အခြေခံ "သော့တန်ဖိုး" အတန်း၏ ငွေပေးငွေယူ မြှုပ်နှံထားသော DBMS သစ်ပင် B+ မပါဘဲ proactive သစ်ခုတ်ခြင်း။Multi-threaded လုပ်ငန်းစဉ်များကို သီးသန့်ဆာဗာ လုပ်ငန်းစဉ်မပါဘဲ ဒေသတွင်း မျှဝေထားသော (ကွန်ရက်မဟုတ်သော) ဒေတာဘေ့စ်တစ်ခုနှင့် ယှဉ်ပြိုင်ပြီး ထိရောက်စွာ လုပ်ဆောင်နိုင်စေပါသည်။ libmdbx ကို အခြေခံကျကျ ချဲ့ထွင်သည်။ တစ်ချိန်တည်းမှာပင် ၎င်း၏ ဘိုးဘေးများ၏ စွမ်းဆောင်နိုင်မှု အားနည်းချက်များကို ဖယ်ရှားခြင်း သို့မဟုတ် လျော့ပါးစေသည်။ တစ်ချိန်တည်းမှာပင် developer များအဆိုအရ libmdbx သည် LMDB ထက် အနည်းငယ်ပိုမြန်ပြီး သိသိသာသာ ပိုမိုယုံကြည်စိတ်ချရသည်။

libmdbx က အကြံပြုသည်။ အက်ဆစ်CPU cores တစ်လျှောက် linear scaling ဖြင့် အပြောင်းအလဲများ၏ တင်းကျပ်သော အမှတ်အသားပြုခြင်းနှင့် ပိတ်ဆို့ခြင်းမဟုတ်သော ဖတ်ရှုခြင်း။ စွမ်းဆောင်ရည်စမ်းသပ်ခြင်းရလဒ်များ (1-thread HyperThread မုဒ်တွင် Physical Cores 2 ခုပါသော CPU i4-8U တွင် 7-4600-2-4 စာတွဲများတွင် အပြိုင်ဖတ်ရန်/ရှာဖွေမှု တောင်းဆိုချက်များကို ပေးပို့ခြင်း)။

ကျစ်လစ်သိပ်သည်းစွာထည့်ထားသော DBMS libmdbx 0.9.1 ကို ဖြန့်ချိသည်။

MDBX နှင့် LMDB အကြား အရေးကြီးဆုံး ကွာခြားချက်များ

  • အခြေခံအားဖြင့်၊ ကုဒ်အရည်အသွေး၊ API ညီညွတ်မှု၊ စမ်းသပ်မှုနှင့် အလိုအလျောက်စစ်ဆေးမှုများကို ပို၍အာရုံစိုက်သည်။
  • ကန့်သတ်ဘောင်များကို စစ်ဆေးခြင်းမှ ဒေတာဘေ့စ်တည်ဆောက်ပုံများ၏ အတွင်းပိုင်းစစ်ဆေးမှုအထိ လုပ်ဆောင်ချက်အတွင်း သိသာထင်ရှားစွာ ပိုမိုထိန်းချုပ်နိုင်သည်။
  • အလိုအလျောက် စုစည်းမှုနှင့် အလိုအလျောက် ဒေတာဘေ့စ် အရွယ်အစား စီမံခန့်ခွဲမှု။
  • 32-bit နှင့် 64-bit စည်းဝေးပွဲများအတွက် ဒေတာဘေ့စ်ဖော်မတ်တစ်ခု။
  • အပိုင်းအခြားအလိုက် နမူနာအတွဲများကို ခန့်မှန်းခြင်း (အပိုင်းအခြားအလိုက် မေးမြန်းမှု ခန့်မှန်းချက်)။
  • နှစ်ဆရှည်သောသော့များနှင့် အသုံးပြုသူရွေးချယ်နိုင်သော ဒေတာဘေ့စ် စာမျက်နှာအရွယ်အစားအတွက် ပံ့ပိုးမှု။
  • ပြန်လည်ရယူခြင်းစွမ်းရည်အချို့ဖြင့် ဒေတာဘေ့စ်ဖွဲ့စည်းပုံ၏ ခိုင်မာမှုကို စစ်ဆေးရန်အတွက် အသုံးဝင်မှုတစ်ခု။

ပြီးနောက် အဓိက တီထွင်ဆန်းသစ်မှုများနှင့် တိုးတက်မှုများ ယခင်သတင်း 0.5 ခုနှစ် ဇန်နဝါရီလတွင် ဗားရှင်း 2020 ကို မိတ်ဆက်ခြင်းဖြင့်-

  • မေးခွန်းများအတွက် ချက်ခြင်းအကူအညီနှင့် အဖြေများအတွက် ပွင့်လင်းသောစနစ်တစ်ခုကို ဖန်တီးထားသည်။ Telegram အဖွဲ့.
  • အမှားများနှင့် ချို့ယွင်းချက်ပေါင်း တစ်ဒါဇင်ကျော်ကို ဖယ်ရှားပြီးပြီ (ကြည့်ပါ။ ပြောင်းလဲမှုမှတ်တမ်း).
  • စာလုံးပေါင်းနှင့် စာလုံးပေါင်း အမှားအယွင်းများစွာကို ပြုပြင်ပြီး အလှပြင်ပြုပြင်မှုများ အများအပြား ပြုလုပ်ခဲ့သည်။
  • စမ်းသပ်မှုအခြေအနေများကို တိုးချဲ့ထားပါသည်။
  • iOS၊ Android အတွက် ပံ့ပိုးမှု၊ buildroot ပါ။, musl, uClibc, WSL1 и ဝိုင်.
  • C++ API အစမ်းကြည့်ရှုမှုကို ထုတ်ပြန်ခဲ့သည်။ ခေါင်းစီးဖိုင်တစ်ခု.
  • Doxygen ဖော်မတ်နှင့် အလိုအလျောက် ထုတ်လုပ်သည့် စာရွက်စာတမ်းများ ပါ၀င်ပါသည်။ အွန်လိုင်းစာရွက်စာတမ်း.
  • ပေါင်းစပ်ရင်းမြစ်စာသားများဖြင့် မော်ကွန်းတိုက်၏ အလိုအလျောက်မျိုးဆက်ကို ပံ့ပိုးပေးပါသည်။
  • အရောင်းအ၀ယ်များနှင့် ကာဆာများပြင်ဆင်ခြင်း၊ အရောင်းအ၀ယ်ပြုလုပ်ခြင်းအတွက် အသုံးပြုသူအကြောင်းအရာများနှင့် ကာဆာများကို ပြင်ဆင်ခြင်းအတွက် ပံ့ပိုးမှု ထပ်လောင်းထည့်ထားပါသည်။
  • B+tree MVCC လျှပ်တစ်ပြက်ရိုက်ချက်များတွင် ကိုးကားမှုခိုင်မာမှုကို ထိန်းချုပ်ရန် နောက်ထပ်နည်းလမ်းများကို အသုံးပြုထားသည်။
  • ဒေတာဘေ့စ်၏ MVCC လျှပ်တစ်ပြက်ပုံတစ်ပုံကို စစ်ဆေးခြင်းအတွက် ပံ့ပိုးကူညီမှု ပေါင်းထည့်ထားပြီး ပြန်လည်ရယူရန်အတွက် ပြောင်းလဲနိုင်သည့် မည်သည့် meta စာမျက်နှာမှမဆို ဝင်ရောက်ကြည့်ရှုနိုင်သည်။
  • စမ်းသပ်ခြင်းရည်ရွယ်ချက်များ စသည်တို့အတွက် လုပ်ငန်းစဉ်တစ်ခုမှ ဒေတာဘေ့စ်ကို ပြန်လည်ဖွင့်ခြင်းအတွက် ပံ့ပိုးကူညီမှုကို အကောင်အထည်ဖော်ခဲ့သည်။
  • ဒေတာဘေ့စ်တစ်ခုဖွင့်သောအခါ MDBX_NOSUBDIR ရွေးချယ်မှု၏ အလိုအလျောက်လုပ်ဆောင်ခြင်းကို အကောင်အထည်ဖော်ခဲ့သည်။
  • Floating Point တန်ဖိုးများနှင့် JavaScript “universal” နံပါတ်များမှ ကိန်းပြည့်သော့များကို ထုတ်ပေးရန်အတွက် ထပ်လောင်းလုပ်ဆောင်ချက်များ။
  • စုစုပေါင်း ဖိုင် ၉၃ ခုကို အကျိုးသက်ရောက်စေသော အပြောင်းအလဲ ၄၃၀ ၊ လိုင်းပေါင်း ၂၅ဝဝဝ ကျော် ၊ လိုင်းပေါင်း ၈.၅ဝဝဝ ကျော်ကို ဖျက်ပစ်ခဲ့သည်။

libmdbx ၏နောက်ဆက်တွဲဖွံ့ဖြိုးတိုးတက်မှုသည်နောက်ဆုံး C++ API၊ အခြေခံကုဒ်၏နောက်ထပ်တည်ငြိမ်မှု၊ စာကြည့်တိုက်၏အသုံးပြုနိုင်စွမ်းကိုတိုးတက်စေခြင်းနှင့်လူကြိုက်များသော Linux ဖြန့်ဖြူးမှုအတွက်ထုပ်ပိုးခြင်းကိုအာရုံစိုက်မည်ဖြစ်သည်။ အဆိုပြုထားသော တိုးတက်မှုများထဲတွင်၊ ဖော်မတ်ရှိ သော့များအတွက် အထောက်အပံ့ကို သတိပြုသင့်သည်။ MessagePack.

source: opennet.ru

မှတ်ချက် Add