ဖွံ့ဖြိုးတိုးတက်မှုငါးနှစ်အကြာတွင်၊ ဒုတိယထုတ်ဝေသူဖြစ်သည့် libmdbx 1.0 ကိုထုတ်ဝေခဲ့သည်။

ရနိုင်ပါတယ် ဒုတိယ စာကြည့်တိုက်ကို စမ်းသပ်ရန် ကိုယ်စားလှယ်လောင်း libmdbx စွမ်းဆောင်ရည်မြင့်မားသော၊ ကျစ်လစ်သော၊ ထည့်သွင်းထားသော သော့တန်ဖိုးဒေတာဘေ့စ်ကို အကောင်အထည်ဖော်ခြင်းဖြင့်၊ လက်ရှိဗားရှင်း (0.5) သည် ပြုပြင်ထိန်းသိမ်းမှုဆိုင်ရာ ထုတ်ပြန်ချက်တစ်ခုဖြစ်ပြီး မည်သည့်တိုးတက်မှုများ ပြီးဆုံးကြောင်းနှင့် အများသူငှာ နောက်ဆုံးစမ်းသပ်ခြင်းနှင့် တည်ငြိမ်ခြင်းအဆင့်သို့ ကူးပြောင်းခြင်းဖြစ်ပြီး၊ ၎င်းနောက် စာကြည့်တိုက်၏ ပထမဆုံး ထုတ်ဝေမှု အပြည့်အစုံကို ဖွဲ့စည်းခြင်းဖြစ်သည်။ libmdbx ကုဒ် ဖြန့်ဝေသည် OpenLDAP Public License အောက်တွင်။

MDBX စာကြည့်တိုက်သည် သိသာထင်ရှားစွာ ပြန်လည်ရေးသားထားသော လမ်းဆုံတစ်ခုဖြစ်သည်။ LMDB — အခြေခံ "သော့တန်ဖိုး" အတန်း၏ ငွေပေးငွေယူ မြှုပ်နှံထားသော DBMS သစ်ပင် B+ မပါဘဲ proactive သစ်ခုတ်ခြင်း။Multithreaded လုပ်ငန်းစဉ်များကို ဒေသအလိုက် မျှဝေထားသော (ကွန်ရက်မဟုတ်) ဒေတာဘေ့စ်တစ်ခုနှင့် တစ်ပြိုင်နက် ထိထိရောက်ရောက် လုပ်ဆောင်နိုင်စေပါသည်။ အခြားတစ်ဖက်တွင်၊ MDBX သည် LMDB ထက်ပိုမိုမြန်ဆန်ပြီး ယုံကြည်စိတ်ချရသော၊ ၎င်းကဲ့သို့သော ၎င်း၏ရှေ့ဆက်သူ၏ အဓိကအင်္ဂါရပ်အားလုံးကို ထိန်းသိမ်းထားစဉ်၊ အက်ဆစ် နှင့် CPU cores များတစ်လျှောက် linear scaling ဖြင့် ပိတ်ဆို့ခြင်းမဟုတ်သော စာဖတ်ခြင်း။

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

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

libmdbx ထုတ်ဝေသည့် ကိုယ်စားလှယ်လောင်းသည် MDBX နှင့် MithrilDB ပရောဂျက်များကို ခွဲထုတ်ရန် ဩဂုတ်လ 2019 ဆုံးဖြတ်ချက်၏ ရလဒ်ဖြစ်သည်။ libmdbx တွင်၊ ရည်မှန်းချက်မှာ နည်းပညာဆိုင်ရာကြွေးမြီများကို တတ်နိုင်သမျှဖယ်ရှားရန်နှင့် စာကြည့်တိုက်ကို တည်ငြိမ်စေရန်ဖြစ်သည်။ တကယ်တော့၊ မူလခန့်မှန်းချက်နဲ့ စီစဉ်ထားတာထက် ဒီဦးတည်ချက်မှာ အလုပ်နှစ်ဆကနေ သုံးဆ ပိုပြီးပြီးမြောက်ခဲ့ပါတယ်-

  • ပံ့ပိုးဆောင်ရွက်ပေးခဲ့ပါသည်။ macOS နှင့် ဒုတိယအဆင့် ပလက်ဖောင်းများ- FreeBSD၊ Solaris၊ DragonFly BSD၊ OpenBSD၊ NetBSD။ လိုအပ်ပါက AIX နှင့် HP-UX အတွက် ပံ့ပိုးမှုကို ထည့်သွင်းနိုင်သည်။
  • Undefined Behavior Sanitizer နှင့် Address Sanitizer ကို အသုံးပြု၍ ကုဒ်ကို သန့်စင်ထားပြီး၊ "-Wpedantic" ဖြင့် တည်ဆောက်သည့်အခါ သတိပေးချက်အားလုံးကို Coverity Static Analyzer သတိပေးချက်များ စသည်တို့ကဲ့သို့ ဖယ်ရှားခဲ့သည်။
  • မွမ်းမံ API ဖော်ပြချက်.
  • မြှုပ်နှံရာတွင် လွယ်ကူစေရန်အတွက် ရင်းမြစ်ကုဒ်ကို ပေါင်းစည်းခြင်း (ပေါင်းစည်းခြင်း)။
  • CMake ပံ့ပိုးမှု။
  • အသိုက်အဝန်း အရောင်းအ၀ယ်များအတွက် ပံ့ပိုးမှု။
  • OS ပြန်လည်စတင်ခြင်း ရှိ၊ မရှိ ဆုံးဖြတ်ရန် bootid ကို အသုံးပြုခြင်း (ညစ်ပတ်သော ဒေတာဘေ့စ် ရပ်တန့်ခြင်း)။
  • အဆုံးမှ အဆုံးအထိ အပ်ဒိတ်လုပ်ထားသော/အဟောင်း စာမျက်နှာရေတွက်ခြင်းနှင့် ထပ်တိုးငွေပေးငွေယူ အချက်အလက်။
  • တွဲသုံးနိုင်သောမုဒ်တွင် ဖွင့်ထားပြီးသောဒေတာဘေ့စ်သို့ချိတ်ဆက်ရန်အတွက် ရွေးချယ်စရာ MDBX_ACCEDE။
  • ၏အသုံးပြုမှု OFD ပိတ်ဆို့ခြင်း။ ရရှိနိုင်သောအခါ။
  • ပိုက်ထဲတွင် ပူသောအရံ။
  • အထူးပြု ပြုပြင်ထားသော အတွင်းပိုင်း စီခြင်း အယ်လဂိုရီသမ် ("qsort()" ထက် 2-3 ဆ ပိုမြန်ပြီး "std::sort()" ထက် 30% အထိ)။
  • အများဆုံးသော့အရှည်ကို တိုးမြှင့်ထားသည်။
  • ကြိုဖတ်ခြင်းအား အလိုအလျောက် ထိန်းချုပ်ခြင်း (မှတ်ဉာဏ်ထဲတွင် ဒေတာဘေ့စ်ဖိုင် သိမ်းဆည်းခြင်းနည်းဗျူဟာ)။
  • ပိုမိုပြင်းထန်ပြီး ပိုမြန်သော အလိုအလျောက် စုစည်းမှု။
  • B+ သစ်ပင်စာမျက်နှာများကို ပေါင်းစည်းရန်အတွက် ပိုမိုသင့်လျော်သော ဗျူဟာတစ်ခု။
  • မလျော်မကန်အသုံးပြုမှုကြောင့် ဒေတာဘေ့စ် ဖောက်ပြန်ခြင်းမှ ကာကွယ်ရန် စက်တွင်းမဟုတ်သော ဖိုင်စနစ်များ (NFS၊ Samba စသည်တို့) ကို စောင့်ကြည့်ခြင်း။
  • စစ်ဆေးမှုအစုံကို တိုးချဲ့ပြီးပါပြီ။

libmdbx ၏ "နောက်တစ်ခု" ဗားရှင်းကို သီးခြားပရောဂျက်တစ်ခုအဖြစ် ဆက်လက်ဖော်ဆောင်ပါမည်။ MithrilDBMDBX ၏ "လက်ရှိ" ဗားရှင်း၏ ဖွံ့ဖြိုးတိုးတက်မှု vector သည် သတ်မှတ်အင်္ဂါရပ်ကို အေးခဲစေရန်နှင့် ၎င်းကို တည်ငြိမ်စေရန် ရည်ရွယ်ပါသည်။ ဤဆုံးဖြတ်ချက်ကို အကြောင်းအရင်း သုံးခုဖြင့် ပြုလုပ်ခဲ့ခြင်းဖြစ်သည်-

  • လုံးဝသဟဇာတမဖြစ်ပါ- MithrilDB သည် စီစဉ်ထားသည့်အင်္ဂါရပ်အားလုံးကို အကောင်အထည်ဖော်ရန်အတွက် မတူညီသော (သဟဇာတမဖြစ်) ဒေတာဘေ့စ်ဖိုင်ဖော်မတ်နှင့် မတူညီသော (သဟဇာတမဖြစ်) API တစ်ခု လိုအပ်သည်။
  • အရင်းအမြစ်ကုဒ်အသစ်- MithrilDB ရင်းမြစ်ကုဒ်ကို LMDB မှ သီးခြားလိုင်စင်ရထားပြီး၊ ပရောဂျက်ကိုယ်တိုင်က မတူညီသောလိုင်စင်တစ်ခုအောက်တွင် ထုတ်ဝေရန် စီစဉ်ထားသည် (ခွင့်ပြုထားသော၊ OR IF Apache 2.0 လိုင်စင် မဟုတ်ပါ။ OpenLDAP အများသူငှာ လိုင်စင်).
  • ခွဲထွက်ခြင်းသည် ဖြစ်နိုင်ချေရှိသော ရှုပ်ထွေးမှုများကို ရှောင်ရှားရန်၊ ပိုမိုရှင်းလင်းမှုပေးကာ ပရောဂျက်များအတွက် လွတ်လပ်သော ဖွံ့ဖြိုးတိုးတက်ရေးလမ်းကြောင်းများကို သေချာစေပါသည်။

MDBX ကဲ့သို့ MithrilDB ကိုလည်း အခြေခံထားသည်။ သစ်ပင် B+ MDBX နှင့် LMDB တို့၏ အခြေခံအားနည်းချက်များစွာကို ဖယ်ရှားပေးနေစဉ်တွင် အလွန်မြင့်မားသော စွမ်းဆောင်ရည်ကိုလည်း ပါရှိသည်။ အထူးသဖြင့်၊ ရှည်လျားသောစာဖတ်ခြင်းလုပ်ငန်းများဖြင့် အမှိုက်များလုပ်ဆောင်ခြင်းကို ပိတ်ဆို့ထားခြင်းကြောင့် ဒေတာဘေ့စ်၏ "ရောင်ရမ်းခြင်း" ဟုထင်ရှားသည့် "ကြာရှည်စွာဖတ်ရှုခြင်း" ၏ပြဿနာကို ဖယ်ရှားပစ်မည်ဖြစ်သည်။ MithrilDB အင်္ဂါရပ်အသစ်များ ပါဝင်သည်-

  • ဒေတာဘေ့စ်များကို အမျိုးမျိုးသောမီဒီယာအမျိုးအစားများစွာတွင် ထားရှိခြင်းအတွက် ပံ့ပိုးမှု- HDD၊ SSD နှင့် မတည်ငြိမ်သောမှတ်ဉာဏ်။
  • "ပူ"၊ "နွေး" နှင့် "အေး" ဒေတာအတွက် "တန်ဖိုးမြင့်" နှင့် "တန်ဖိုးနည်း" ဒေတာအတွက် အကောင်းဆုံးဗျူဟာများ။
  • ဒေတာဘေ့စ်ခိုင်မာမှုကို စောင့်ကြည့်ရန် Merkle သစ်ပင်ကို အသုံးပြုခြင်း။
  • WAL ကို စိတ်ကြိုက်ရွေးချယ်အသုံးပြုနိုင်ပြီး ဒေတာခိုင်မာမှုအာမခံချက်ဖြင့် ရေးရန်အထူးလိုအပ်သော အခြေအနေများတွင် သိသိသာသာမြင့်မားသောစွမ်းဆောင်ရည်။
  • ပျင်းရိနေသော ဒေတာများကို ဒစ်ခ်များပေါ်တွင် ကျူးလွန်သည်။

source: opennet.ru

DDoS ကာကွယ်ရေး၊ VPS VDS ဆာဗာများပါသည့် ဆိုက်များအတွက် ယုံကြည်စိတ်ချရသော hosting ကို ဝယ်ယူပါ။ 🔥 DDoS ကာကွယ်မှု၊ VPS VDS ဆာဗာများပါရှိသော ယုံကြည်စိတ်ချရသော ဝဘ်ဆိုက် hosting ကို ဝယ်ယူပါ | ProHoster