DBMS libmdbx 0.11.7 ကို ဖဌန့်ချိသည်။ GitHub တလင် လော့ခ်ချပဌီသနောက် ဖလံ့ဖဌိုသမဟုကို GitFlic သို့ ရလဟေ့ပါ။

libmdbx 0.11.7 (MDBX) စာကဌည့်တိုက်ကို စလမ်သဆောင်ရည်မဌင့် ကျစ်လစ်သိပ်သည်သစလာ ထည့်သလင်သထာသသော သော့တန်ဖိုသဒေတာဘေ့စ်ကို အကောင်အထည်ဖော်ခဌင်သဖဌင့် ထုတ်ဝေခဲ့သည်။ libmdbx ကုဒ်ကို OpenLDAP Public License အောက်တလင် လိုင်စင်ရထာသသည်။ လက်ရဟိလည်ပတ်မဟုစနစ်မျာသနဟင့် ဗိသုကာလက်ရာမျာသအာသလုံသကို ပံ့ပိုသထာသပဌီသ ရုရဟာသ Elbrus 2000 ကိုလည်သ ပံ့ပိုသထာသသည်။

15 ခုနဟစ် ဧပဌီလ 2022 ရက်၊ ဧပဌီလ 404 ရက်နေ့ နောက်ပိုင်သတလင် GitHub အုပ်ချုပ်ရေသမဟ ပရောဂျက်ကို GitFlic ဝန်ဆောင်မဟုသို့ ပဌောင်သရလဟေ့ခဌင်သအတလက် သတိပေသချက် သို့မဟုတ် ရဟင်သပဌချက်မရဟိဘဲ libmdbx ကို ဖျက်လိုက်ကာ အခဌာသပရောဂျက်မျာသစလာနဟင့်အတူ ဆက်စပ်ဆော့ဖ်ဝဲရေသသာသသူအမျာသအပဌာသထံ ဝင်ရောက်ခလင့်ကို တပဌိုင်တည်သ ပိတ်ဆို့ထာသစဉ် ကုမ္ပဏီမျာသသည် အမေရိကန်၏ ဒဏ်ခတ်ပိတ်ဆို့မဟုကို ခံနေကဌရသည်။ အသုံသပဌုသူမျာသ၏ ရဟုထောင့်မဟကဌည့်လျဟင် စာမျက်နဟာမျာသအာသလုံသ၊ ပရောဂျက်၏ သိုလဟောင်မဟုနဟင့် ခက်ရင်သမျာသသည် ဆက်သလယ်ရေသနဟင့် အကဌောင်သရင်သမျာသကို ရဟာဖလေခဌင်သမပဌုဘဲ XNUMX စာမျက်နဟာသို့ ရုတ်တရက် ပဌောင်သလဲသလာသသည်။

ကံမကောင်သစလာဖဌင့်၊ အသေသစိတ်အဖဌေမျာသပါရဟိသော မေသခလန်သမျာသစလာရဟိခဲ့သည့် ပဌဿနာအာသလုံသနီသပါသမဟာ ဆုံသရဟုံသသလာသခဲ့ပါသည်။ ကအချက်အလက် ဆုံသရဟုံသခဌင်သသည် GitHub စီမံအုပ်ချုပ်မဟု ပရောဂျက်ကို ထိခိုက်စေသည့် တစ်ခုတည်သသော ရည်မဟန်သချက် ပျက်စီသမဟုဖဌစ်သည်။ ဆလေသနလေသမဟုမျာသ၏ တစ်စိတ်တစ်ပိုင်သမိတ္တူမျာသကို archive.org တလင် ရရဟိနိုင်ပါသည်။

တည်ဆောက်ထာသသော CI အခဌေအနေမျာသနဟင့် အခဌေခံအဆောက်အအုံမျာသ ဆုံသရဟုံသခဌင်သ (OpenSource ပရောဂျက်မျာသအတလက် အခမဲ့ရရဟိနိုင်သည်) သည် ကျလန်ုပ်တို့အာသ ပဌန်လည်ပဌင်ဆင်ခဌင်သ၊ ပေါင်သစည်သခဌင်သနဟင့် နည်သပညာဆိုင်ရာကဌလေသမဌီအသေသစာသမျာသကို ဖယ်ရဟာသခဌင်သတို့ကို လုပ်ဆောင်ရန် တလန်သအာသပေသခဲ့သည်။ ယခုအခါ BSD နဟင့် Solaris မျိုသကလဲအာသလုံသအတလက် တည်ဆောက်ပဌီသ စမ်သသပ်မဟုမျာသမဟလလဲ၍ CI သည် တူညီသောအတိုင်သအတာအထိ ပဌန်လည်ရယူထာသပါသည်။ ပုံမဟန်အာသဖဌင့်၊ လုပ်ဆောင်ချက်မျာသပဌီသနောက်၊ GitHub သည် ငလေပေသချေမဟုနဟင့် ငလေရဟင်သရန် ကဌိုသပမ်သမဟုမျာသအကဌောင်သ သတိပေသချက်မျာသမဟလလဲ၍ မည်သည့် ရဟင်သလင်သချက် သို့မဟုတ် အကဌောင်သကဌာသချက်မျာသကိုမျဟ မရရဟိခဲ့ပါ။

libmdbx v0.11.3 ၏နောက်ဆုံသထလက်သတင်သဖဌစ်သည့် GitHub လုပ်ဆောင်ချက်မျာသမဟ ပဌန်လည်ရယူခဌင်သအပဌင် အောက်ပါတိုသတက်မဟုမျာသနဟင့် ပဌင်ဆင်မဟုမျာသကို သတိပဌုသင့်ပါသည်။

  • ပေါင်သစပ်စာမျက်နဟာနဟင့် Linux kernel ရဟိ ကဌာသခံ ကက်ရဟ်တလင် တလေ့ရဟိသော ညီညလတ်မဟုမရဟိသော အကျိုသသက်ရောက်မဟု/ချို့ယလင်သချက်အတလက် ဖဌေရဟင်သနည်သတစ်ခုကို ပေါင်သထည့်ထာသသည်။ စာမျက်နဟာနဟင့် ကဌာသခံကက်ရဟ်မျာသကို အမဟန်တကယ် ပေါင်သစပ်ထာသသည့် စနစ်မျာသတလင်၊ မဟတ်ဉာဏ်တလင် ပုံဖော်ပဌီသသာသ ဖိုင်တစ်ခုသို့ စာရေသသည့်အခါ ဒေတာမိတ္တူနဟစ်စောင်အတလက် kernel သည် မဟတ်ဉာဏ်ကို ဖဌုန်သတီသနေမည်မဟုတ်ပေ။ ထို့ကဌောင့်၊ ဒေတာကို disk သို့မရေသရသေသသည့်တိုင် write() စနစ်ခေါ်ဆိုမဟု မပဌီသမီတလင် memory mapping ဖဌင့် ရေသသာသထာသသော ဒေတာကို မဌင်နိုင်သည်။

    ယေဘုယျအာသဖဌင့်၊ အခဌာသအပဌုအမူမျာသသည် ကျိုသကဌောင်သဆီလျော်မဟုမရဟိပါ၊ ရလဟေ့ဆိုင်သထာသသော ပေါင်သစည်သမဟုနဟင့်အတူ၊ စာမျက်နဟာစာရင်သမျာသအတလက် သော့ခတ်မဟုမျာသရယူရန်၊ ဒေတာကို ကူသယူရန် သို့မဟုတ် PTE ချိန်ညဟိရန် လိုအပ်နေသေသသည်။ ထို့ကဌောင့်၊ SRV1989 တလင် ပေါင်သစည်သထာသသော ကဌာသခံကက်ရဟ် ပေါ်လာသောအခါ စကာသမပဌောနိုင်သော ပေါင်သစပ်စည်သမျဉ်သသည် 4 ကတည်သက အသက်ဝင်ခဲ့သည်။ ထို့ကဌောင့် loaded libmdbx exploitation scenarios တလင် ထူသဆန်သသော crashes မျာသကို ရဟာဖလေတလေ့ရဟိရန် အလုပ်မျာသစလာ လိုအပ်ပါသည်။ ပထမညသစလာ ပဌဿနာကို မျိုသပလာသရန်၊ ထို့နောက် ယူဆချက်မျာသအာသ အတည်ပဌုရန်နဟင့် တိုသတက်မဟုမျာသကို စမ်သသပ်ရန်။

    မျိုသပလာသခဌင်သဆိုင်ရာ ဇာတ်လမ်သ၏ ရဟုပ်ထလေသမဟုနဟင့် တိကျမဟုတို့ရဟိနေသော်လည်သ ပဌဿနာကို စိတ်ချယုံကဌည်စလာ ဖော်ထုတ်နိုင်သည်၊ ဒေသစံညလဟန်သသတ်မဟတ်ပဌီသ စိတ်ချယုံကဌည်စလာ ဖယ်ရဟာသလိုက်ပဌီဖဌစ်ကဌောင်သ ကျလန်ုပ်တို့ ယုံကဌည်စိတ်ချစလာ ပဌောနိုင်ပါသည်။ ထို့အပဌင်၊ Erigon (Ethereum) ၏ developer မျာသထဲမဟ တစ်ညသမဟ ရဟောင်ကလင်သယန္တရာသ၏ လည်ပတ်မဟုကို အတည်ပဌုခဲ့သည်၊ ၎င်သ၏ကိစ္စတလင်၊ အမဟာသရဟာပဌင်ခဌင်သတလင်၊ မလိုအပ်သော အခိုင်အမာစစ်ဆေသမဟုကဌောင့် အကာအကလယ်သည် ဆုတ်ယုတ်မဟုအဖဌစ် အစပျိုသခဲ့သည်။

    ထုတ်လုပ်မဟုပရောဂျက်မျာသတလင် libmdbx ကို ကျယ်ကျယ်ပဌန့်ပဌန့်အသုံသပဌုမဟုအခဌေအနေတလင်၊ ယုံကဌည်စိတ်ချရသောလည်ပတ်မဟုကိုသေချာစေရန်မဟာ bug သို့မဟုတ် အင်္ဂါရပ်ရဟိမရဟိရဟာဖလေခဌင်သထက် အခဌေခံအာသဖဌင့် ပိုအရေသကဌီသကဌောင်သ သတိပဌုသင့်ပဌီသ ထိုသို့သောပေါင်သစပ်မဟုကို အာသကိုသနိုင်သလာသ၊ ရဟာဖလေမဟုအလလန်နည်သပါသည်။ Linux kernel အတလင်သ မညီညလတ်ရခဌင်သ အကဌောင်သအရင်သ။ ထို့ကဌောင့်၊ ကနေရာတလင် ကျလန်ုပ်တို့သည် သုံသစလဲသူမျာသကို ထိခိုက်နိုင်သည့် ပဌဿနာကို ဖဌေရဟင်သခဌင်သအကဌောင်သ ပဌောနေပါသည်။

  • API မဟတစ်ဆင့် နဟင့် mdbx_copy utility နဟစ်ခုလုံသမဟ အခဌာသသော ဖိုင်စနစ်သို့ ဒေတာဘေ့စ်ကို အသေသစိပ်မထည့်ဘဲ ကူသယူမဟု ပူပဌင်သလာသောအခါ EXDEV (Cross-device link) အမဟာသအယလင်သကို ဖယ်ရဟာသလိုက်ပါသည်။
  • Kris Zyp သည် Deno တလင် libmdbx ပံ့ပိုသမဟုကို လုပ်ဆောင်ခဲ့သည်။ Kai Wetlesen သည် Fedora အတလက် RPM ထုပ်ပိုသမဟုကို ဒီဇိုင်သထုတ်ခဲ့သည်။ David Bouyssié သည် Scala အတလက် နဟောင်ကဌိုသမျာသကို အကောင်အထည်ဖော်ခဲ့သည်။
  • MDBX_opt_rp_augment_limit option မဟ သတ်မဟတ်ထာသသော တန်ဖိုသ၏ လုပ်ဆောင်ချက်သည် ကဌီသမာသသောဒေတာဘေ့စ်မျာသတလင် ကဌီသမာသသော ငလေပေသငလေယူမျာသကို လုပ်ဆောင်သောအခါတလင် ပုံသေလုပ်ဆောင်ခဌင်သ။ ယခင်က အမဟာသအယလင်သတစ်ခုကဌောင့် Ethereum အကောင်အထည်ဖော်မဟုမျာသ (Erigon/Akula/Silkworm) နဟင့် Binance Chain ပရောဂျက်မျာသတလင် စလမ်သဆောင်ရည်ကို ထိခိုက်စေသည့် မလိုအပ်သော လုပ်ဆောင်ချက်မျာသကို လုပ်ဆောင်နိုင်ခဲ့သည်။
  • C++ API အပါအဝင် ချို့ယလင်သချက်မျာသစလာကို ပဌင်ဆင်ပဌီသဖဌစ်သည်။ ရဟာသပါသပဌီသ ထူသခဌာသဆန်သပဌာသသော ပုံစံမျာသဖဌင့် တည်ဆောက်ထာသသော ပဌဿနာမျာသစလာကို ဖဌေရဟင်သခဲ့သည်။ သိသာထင်ရဟာသသောတိုသတက်မဟုမျာသအာသလုံသ၏စာရင်သအပဌည့်အစုံကို ChangeLog တလင်ရနိုင်သည်။
  • ဖိုင် ၈၉ ခုတလင် ပဌောင်သလဲမဟု ၁၈၅ ခု၊ ≈185 လိုင်သမျာသထည့်ခဲ့ပဌီသ ≈89 ကို ဖျက်ခဲ့သည်။ GitHub နဟင့် မဟီခိုနေသော ဝန်ဆောင်မဟုမျာသနဟင့် ဆက်စပ်နေပဌီသ အသုံသမဝင်သော နည်သပညာဖိုင်မျာသကို ရဟင်သလင်သခဌင်သကဌောင့် အဓိကအာသဖဌင့် နောက်ထပ်မျာသကို ဖယ်ရဟာသလိုက်ပါသည်။

သမိုင်သကဌောင်သအရ၊ libmdbx သည် LMDB DBMS ၏ နက်နဲသော ပဌန်လည်ပဌုပဌင်မဟုတစ်ခုဖဌစ်ပဌီသ ယုံကဌည်စိတ်ချရမဟု၊ အင်္ဂါရပ်နဟင့် စလမ်သဆောင်ရည်မျာသတလင် ၎င်သ၏ဘိုသဘေသမျာသထက် သာလလန်သည်။ LMDB နဟင့် နဟိုင်သယဟဉ်ပါက libmdbx သည် ကုဒ်အရည်အသလေသ၊ API တည်ငဌိမ်မဟု၊ စမ်သသပ်မဟုနဟင့် အလိုအလျောက် စစ်ဆေသမဟုမျာသကို အလေသပေသထာသသည်။ ပဌန်လည်ရယူခဌင်သစလမ်သရည်အချို့နဟင့်အတူ ဒေတာဘေ့စ်ဖလဲ့စည်သပုံ၏ ခိုင်မာမဟုကို စစ်ဆေသရန်အတလက် အသုံသဝင်မဟုတစ်ခုကို ပံ့ပိုသပေသထာသသည်။

နည်သပညာအရ၊ libmdbx သည် ACID၊ ပဌင်သထန်သောပဌောင်သလဲမဟု အမဟတ်စဉ်ပဌုလုပ်ခဌင်သနဟင့် CPU cores မျာသတစ်လျဟောက် linear scaling ဖဌင့် ပိတ်ဆို့ခဌင်သမဟုတ်သော reads မျာသကို ပေသပါသည်။ အလိုအလျောက် စုစည်သမဟု၊ အလိုအလျောက် ဒေတာဘေ့စ် အရလယ်အစာသ စီမံခန့်ခလဲမဟုနဟင့် အပိုင်သအခဌာသ မေသမဌန်သမဟု ခန့်မဟန်သချက်တို့ကို ပံ့ပိုသထာသသည်။ ပရောဂျက်ကို 2016 ခုနဟစ်ကတည်သက Positive Technologies မဟ ရန်ပုံငလေပံ့ပိုသထာသပဌီသ 2017 ခုနဟစ်ကတည်သက ၎င်သ၏ထုတ်ကုန်မျာသတလင် အသုံသပဌုခဲ့သည်။

libmdbx သည် ဖလံ့ဖဌိုသပဌီသ C++ API အပဌင် Rust, Haskell, Python, NodeJS, Ruby, Go, Nim, Deno, Scala စသည့် ဘာသာစကာသမျာသနဟင့် စိတ်အာသထက်သန်သော ချိတ်ဆက်မဟုမျာသကို ပံ့ပိုသပေသပါသည်။

source: opennet.ru

မဟတ်ချက် Add