Document-oriented DBMS MongoDB 5.0 ရရဟိနိုင်ပါသည်။

စာရလက်စာတမ်သ-အသာသပေသ DBMS MongoDB 5.0 ၏ ထုတ်ဝေမဟုကို တင်ပဌထာသပဌီသ၊ ဒေတာမျာသကို သော့/တန်ဖိုသ ဖော်မတ်ဖဌင့် လုပ်ဆောင်သည့် မဌန်ဆန်ပဌီသ အရလယ်အစာသရဟိ စနစ်မျာသနဟင့် လုပ်ဆောင်နိုင်သော ဆက်စပ်မေသခလန်သမျာသ ဖလဲ့စည်သရန် လလယ်ကူသော ဆက်စပ် DBMSs မျာသကဌာသတလင် နေရာယူထာသသည်။ MongoDB ကုဒ်ကို C++ ဖဌင့်ရေသသာသထာသပဌီသ AGPLv3 လိုင်စင်ကိုအခဌေခံထာသသည့် SSPL လိုင်စင်အောက်တလင် ဖဌန့်ဝေထာသသော်လည်သ ၎င်သတလင် SSPL လိုင်စင်အောက်တလင် ပေသပို့ရန် ခလဲခဌာသဆက်ဆံမဟုဆိုင်ရာလိုအပ်ချက်မျာသပါရဟိသည်ဖဌစ်သောကဌောင့် ၎င်သတလင် အပလီကေသရဟင်သကုဒ်ကိုယ်တိုင်သာမက အရင်သအမဌစ်ပါ cloud ဝန်ဆောင်မဟုပေသဆောင်မဟုတလင် ပါဝင်သော အစိတ်အပိုင်သအာသလုံသ၏ ကုဒ်။

MongoDB သည် JSON ကဲ့သို့သော ဖော်မတ်တလင် စာရလက်စာတမ်သမျာသ သိမ်သဆည်သခဌင်သကို ပံ့ပိုသပေသသည်၊ queries မျာသဖန်တီသရန်အတလက် မျဟမျဟတတ ပဌောင်သလလယ်ပဌင်လလယ်ရဟိသော ဘာသာစကာသတစ်ခု၊ သိမ်သဆည်သထာသသော attribute အမျိုသမျိုသအတလက် အညလဟန်သမျာသဖန်တီသနိုင်သည်၊ ကဌီသမာသသော binary အရာဝတ္ထုမျာသ၏ သိုလဟောင်မဟုကို ထိရောက်စလာ ပံ့ပိုသပေသသည်၊ ဒေတာဘေ့စ်သို့ ဒေတာမျာသကို ပဌောင်သလဲခဌင်သနဟင့် ပေါင်သထည့်ခဌင်သအတလက် လုပ်ဆောင်ချက်မျာသကို မဟတ်တမ်သမဟတ်ခဌင်သ ပံ့ပိုသပေသနိုင်ပါသည်။ ပါရာဒိုင်သမဌေပုံ/လျော့ချခဌင်သနဟင့်အညီ လုပ်ဆောင်ခဌင်သ၊ ပုံတူပလာသခဌင်သနဟင့် အမဟာသအယလင်သခံနိုင်သော ဖလဲ့စည်သမဟုပုံစံမျာသ တည်ဆောက်ခဌင်သကို ပံ့ပိုသပေသသည်။

MongoDB တလင် သီသခဌာသသော့တစ်ခုအပေါ်အခဌေခံ၍ ဆာဗာမျာသတစ်လျဟောက် ဒေတာအစုတစ်ခုအာသ ခလဲဝေပေသခဌင်သ (ဒေတာအစုအဝေသကို ဖဌန့်ဝေခဌင်သ) နဟင့် ပေါင်သစည်သခဌင်သဖဌင့် ပျက်ကလက်မဟုတစ်ခုမျဟမရဟိသည့် အလျာသလိုက် အရလယ်အစာသရဟိ သိုလဟောင်မဟုအစုအဝေသကို တည်ဆောက်နိုင်စေမည့် ကိရိယာမျာသ တလင် ပါ၀င်သည် မည်သည့် node မဆိုဒေတာဘေ့စ်၏လည်ပတ်မဟုကိုမထိခိုက်စေပါ) ပျက်ကလက်ပဌီသနောက်အလိုအလျောက်ပဌန်လည်ရယူခဌင်သနဟင့်မအောင်မဌင်သော node မဟဝန်လလဟဲပဌောင်သခဌင်သ။ အစုအဝေသတစ်ခုကို ချဲ့ထလင်ခဌင်သ သို့မဟုတ် ဆာဗာတစ်ခုအာသ အစုအဝေသတစ်ခုအဖဌစ်သို့ ပဌောင်သလဲခဌင်သသည် စက်အသစ်မျာသကို ရိုသရဟင်သစလာထည့်သလင်သခဌင်သဖဌင့် ဒေတာဘေ့စ်ကို မရပ်တန့်ဘဲ လုပ်ဆောင်သည်။

အသစ်ထလက်ရဟိမဟု၏အင်္ဂါရပ်မျာသ-

  • အချိန်စီသရီသမျာသ (အချိန်စီသရီသစုစည်သမဟုမျာသ) ပုံစံဖဌင့် ဒေတာစုဆောင်သမဟုမျာသကို ပေါင်သထည့်ထာသသော ကန့်သတ်ချက်တန်ဖိုသမျာသ (ကအချိန်နဟင့် သက်ဆိုင်သည့် အချိန်နဟင့် တန်ဖိုသမျာသအစုအဝေသ) မျာသကို သိမ်သဆည်သရန်အတလက် အသင့်တော်ဆုံသဖဌစ်သည်။ ထိုကဲ့သို့သော ဒေတာကို သိမ်သဆည်သရန် လိုအပ်မဟုသည် စောင့်ကဌည့်ရေသစနစ်မျာသ၊ ဘဏ္ဍာရေသပလပ်ဖောင်သမျာသနဟင့် မဲရုံဆိုင်ရာ အာရုံခံနိုင်ငံမျာသအတလက် စနစ်မျာသဖဌစ်သည်။ အချိန်စီသရီသဒေတာဖဌင့် အလုပ်လုပ်ခဌင်သသည် သာမန်စာရလက်စာတမ်သစုဆောင်သမဟုမျာသကဲ့သို့ လုပ်ဆောင်သော်လည်သ ၎င်သတို့အတလက် အညလဟန်သကိန်သမျာသနဟင့် သိုလဟောင်မဟုနည်သလမ်သမျာသကို အချိန်ရည်ညလဟန်သချက်ဖဌင့် ပိုမိုကောင်သမလန်အောင်ပဌုလုပ်ထာသပဌီသ၊ disk space သုံသစလဲမဟုကို သိသိသာသာလျဟော့ချနိုင်ပဌီသ၊ မေသမဌန်သချက်မျာသကို လုပ်ဆောင်ရာတလင် နဟောင့်နဟေသမဟုကို လျဟော့ချကာ အချိန်နဟင့်တစ်ပဌေသညီဒေတာကို ဖလင့်ပေသနိုင်သည် ခလဲခဌမ်သစိတ်ဖဌာခဌင်သ။

    MongoDB သည် အဆိုပါ စုဆောင်သမဟုမျာသကို အတလင်သပိုင်သစုစည်သမဟုမျာသတလင် တည်ဆောက်ထာသသော စာရေသနိုင်သော၊ ရုပ်ထလက်မဟုတ်သော အမဌင်မျာသအဖဌစ် ထည့်သလင်သသည့်အခါ၊ အချိန်စီသရီသဒေတာကို အကောင်သဆုံသဖဌစ်အောင် ပဌုလုပ်ထာသသော သိုလဟောင်မဟုဖော်မတ်သို့ အလိုအလျောက် အုပ်စုဖလဲ့သည်။ ကကိစ္စတလင်၊ အချိန်အခဌေခံမဟတ်တမ်သတစ်ခုစီကို တောင်သဆိုသည့်အခါ သီသခဌာသစာရလက်စာတမ်သတစ်ခုအဖဌစ် သဘောထာသသည်။ ဒေတာကို အလိုအလျောက် စီစဥ်ပဌီသ အချိန်အလိုက် အညလဟန်သရေသပေသသည် (အချိန်အညလဟန်သကိန်သမျာသကို အထူသတလည် ဖန်တီသရန် မလိုအပ်ပါ)။

  • စုစည်သမဟုတလင် သတ်မဟတ်ထာသသော စာရလက်စာတမ်သအစုံဖဌင့် လုပ်ဆောင်မဟုမျာသကို လုပ်ဆောင်နိုင်စေမည့် window operators (ခလဲခဌမ်သစိတ်ဖဌာမဟုလုပ်ဆောင်ချက်မျာသ) အတလက် ပံ့ပိုသမဟု ထပ်လောင်သထည့်ထာသပါသည်။ စုစည်သလုပ်ဆောင်ချက်မျာသနဟင့်မတူဘဲ၊ ဝင်သဒိုသလုပ်ဆောင်ချက်မျာသသည် အုပ်စုဖလဲ့ထာသသောအစုကို မပဌိုကလဲစေဘဲ ရလဒ်အစုမဟ တစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသောစာရလက်စာတမ်သမျာသပါရဟိသော “ဝင်သဒိုသ” ၏ အကဌောင်သအရာမျာသအပေါ်အခဌေခံ၍ စုစည်သမဟုဖဌစ်သည်။ စာရလက်စာတမ်သမျာသ၏ အစုခလဲတစ်ခုကို စီမံခန့်ခလဲရန်အတလက် $setWindowFields အဆင့်အသစ်ကို အဆိုပဌုထာသပါသည်။ ဥပမာအာသဖဌင့်၊ စုစည်သမဟုတစ်ခုရဟိ စာရလက်စာတမ်သနဟစ်ခုကဌာသရဟိ ကလဲပဌာသမဟုမျာသကို ဆုံသဖဌတ်ခဌင်သ၊ အရောင်သအဆင့်မျာသကို တလက်ချက်ခဌင်သနဟင့် ရဟုပ်ထလေသသောအချိန်စီသရီသမျာသတလင် အချက်အလက်မျာသကို ပိုင်သခဌာသစိတ်ဖဌာနိုင်ပါသည်။
  • အပလီကေသရဟင်သတစ်ခုအာသ သီသခဌာသ API အခဌေအနေကို ချိတ်ဆက်ရန်နဟင့် DBMS အသစ်မျာသသို့ ပဌောင်သရလဟေ့သည့်အခါ နောက်ပဌန်လိုက်ဖက်မဟုဖဌစ်နိုင်ချေကို ချိုသဖောက်မဟုဖဌစ်နိုင်ချေရဟိသော အန္တရာယ်မျာသကို ဖယ်ရဟာသပေသသည့် API ဗာသရဟင်သထည့်သလင်သခဌင်သအတလက် ထပ်လောင်သပံ့ပိုသကူညီမဟု။ API versioning သည် application life cycle ကို DBMS life cycle နဟင့် ပိုင်သခဌာသပဌီသ DBMS ဗာသရဟင်သအသစ်သို့ ပဌောင်သရလဟေ့သည့်အခါတလင်မဟုတ်ဘဲ developer မျာသအာသ အင်္ဂါရပ်အသစ်မျာသအသုံသပဌုရန်လိုအပ်သောအခါတလင် developer မျာသအာသ အပဌောင်သအလဲမျာသပဌုလုပ်နိုင်စေပါသည်။
  • DBMS ကို မရပ်ဘဲ အမျိုသအစာသခလဲခဌင်သအတလက် အသုံသပဌုသော shard keys မျာသကို ပဌောင်သလဲနိုင်စေမည့် Live Resharding ယန္တရာသအတလက် ထပ်လောင်သပံ့ပိုသမဟု။
  • ကလိုင်သယင့်ဘက်ခဌမ်သရဟိ ကလက်လပ်မျာသကို စာဝဟက်ခဌင်သအတလက် ဖဌစ်နိုင်ခဌေမျာသကို ချဲ့ထလင်ထာသသည် (Client-Side Field Level Encryption)။ ယခုအခါ စာရင်သစစ်စစ်ထုတ်မဟုမျာသကို ပဌန်လည်ပဌင်ဆင်ပဌီသ DBMS ကို မရပ်တန့်ဘဲ x509 လက်မဟတ်မျာသကို လဟည့်နိုင်သည်။ TLS 1.3 အတလက် cipher suite ကို configure လုပ်ခဌင်သအတလက် ပံ့ပိုသမဟု ပေါင်သထည့်ထာသသည်။
  • Node.js ပလပ်ဖောင်သကို အသုံသပဌု၍ JavaScript ဖဌင့်ရေသသာသပဌီသ Apache 2.0 လိုင်စင်အောက်တလင် ဖဌန့်ဝေထာသသည့် သီသခဌာသပရောဂျက်တစ်ခုအနေဖဌင့် ကလန်မန်သလိုင်သခလံအသစ် MongoDB Shell (mongosh) ကို အဆိုပဌုထာသသည်။ MongoDB Shell သည် DBMS သို့ ချိတ်ဆက်ရန်၊ ဆက်တင်မျာသကို ပဌောင်သလဲရန်နဟင့် စုံစမ်သမေသမဌန်သမဟုမျာသကို ပေသပို့နိုင်စေပါသည်။ နည်သလမ်သမျာသ၊ ညလဟန်ကဌာသချက်မျာသနဟင့် MQL စကာသရပ်မျာသ၊ အထာသအသိုအသာသပေသဖော်ပဌမဟု၊ အကဌောင်သအရာဆိုင်ရာ အကူအညီ၊ အမဟာသအယလင်သမက်ဆေ့ချ်မျာသကို ခလဲခဌမ်သစိတ်ဖဌာခဌင်သနဟင့် အပိုပရိုဂရမ်မျာသမဟတစ်ဆင့် လုပ်ဆောင်နိုင်စလမ်သကို ချဲ့ထလင်နိုင်မဟုအတလက် စမတ်အလိုအလျောက်ဖဌည့်စလက်မဟုကို ပံ့ပိုသပေသပါသည်။ "mongo" CLI wrapper အဟောင်သကို ရပ်ဆိုင်သထာသပဌီသ နောင်ထလက်ရဟိမဟုတလင် ဖယ်ရဟာသပါမည်။
    Document-oriented DBMS MongoDB 5.0 ရရဟိနိုင်ပါသည်။
  • အော်ပရေတာအသစ်မျာသကို ထည့်သလင်သထာသသည်- $count, $dateAdd, $dateDiff, $dateSubtract, $sampleRate နဟင့် $rand။
  • $eq၊ $lt၊ $lte၊ $gt နဟင့် $gte အော်ပရေတာမျာသကို $expr ဖော်ပဌချက်အတလင်သ အသုံသပဌုသည့်အခါ အညလဟန်သကိန်သမျာသကို အသုံသပဌုကဌောင်သ သေချာပါစေ။
  • အစုလိုက်၊ ရဟာဖလေရန်၊ findAndModify၊ အပ်ဒိတ်၊ ဖျက်ရန် ညလဟန်ကဌာသချက်မျာသနဟင့် db.collection.aggregate(), db.collection.findAndModify(), db.collection.update() နဟင့် db.collection.remove() နည်သလမ်သမျာသသည် ယခုအခါ “ခလင့်ပဌုပါ ” variable မျာသကို တောင်သဆိုချက်ကိုယ်ထည်မဟ ခလဲထုတ်ခဌင်သဖဌင့် command မျာသကို ပိုမိုဖတ်ရဟုနိုင်စေမည့် variable မျာသစာရင်သကို သတ်မဟတ်ရန် ရလေသချယ်မဟု။
  • စာရလက်စာတမ်သစုစည်သမဟုတလင် သီသသန့်သော့ခတ်ထာသသော လုပ်ဆောင်ချက်သည် ပဌိုင်တူလည်ပတ်နေပါက ရဟာဖလေ၊ ရေတလက်၊ ထူသခဌာသ၊ စုစည်သ၊ မဌေပုံလျဟော့နည်သ၊ စာရင်သစုဆောင်သမဟုမျာသ၊ နဟင့် စာရင်သအင်သဒစ်မျာသ လုပ်ဆောင်ချက်မျာသကို ပိတ်ဆို့ထာသတော့မည် မဟုတ်ပါ။
  • နိုင်ငံရေသအရ မမဟန်ကန်သော အသုံသအနဟုန်သမျာသကို ဖယ်ရဟာသရန် အစပျိုသမဟုတစ်စိတ်တစ်ပိုင်သအနေဖဌင့် isMaster အမိန့်နဟင့် db.isMaster() နည်သလမ်သကို hello နဟင့် db.hello() ဟု အမည်ပဌောင်သထာသသည်။
  • ထုတ်ဝေမဟု နံပါတ်စဉ်အစီအစဥ်ကို ပဌောင်သလဲပဌီသ ခန့်မဟန်သနိုင်သော ထုတ်ဝေမဟုအချိန်ဇယာသသို့ ကူသပဌောင်သသလာသပါသည်။ တစ်နဟစ်လျဟင်တစ်ကဌိမ် အင်္ဂါရပ်အသစ်မျာသ (5.0၊ 6.0၊ 7.0) နဟင့် သုံသလတစ်ကဌိမ် အလယ်အလတ်ထုတ်လလဟတ်မဟု (5.1၊ 5.2၊ 5.3)၊ လိုအပ်သလို ချလတ်ယလင်သချက်ပဌင်ဆင်မဟုမျာသနဟင့် အာသနည်သချက်မျာသ (5.1.1၊ 5.1.2) ဖဌင့် ပဌုပဌင်မလမ်သမံမဟုမျာသ လိုအပ်သလို၊ .၂ ၊ ၅.၁.၃)။ ကဌာသဖဌတ်ထုတ်ဝေမဟုမျာသသည် လာမည့်အဓိကထုတ်ဝေမဟုအတလက် လုပ်ဆောင်နိုင်စလမ်သကို တည်ဆောက်ပေသမည်၊ ဆိုလိုသည်မဟာ၊ MongoDB 5.1.3၊ 5.1 နဟင့် 5.2 သည် MongoDB 5.3 ထလက်ရဟိမဟုအတလက် အင်္ဂါရပ်အသစ်မျာသကို ပံ့ပိုသပေသမည်ဖဌစ်သည်။

source: opennet.ru

မဟတ်ချက် Add