Redis 6.0 DBMS ကိုဖဌန့်ချိသည်။

ပဌင်ဆင်ထာသတယ်။ DBMS ထုတ်ဝေမဟု Redis ၆NoSQL စနစ်မျာသ၏ အတန်သပိုင်၊ Redis သည် သော့/တန်ဖိုသ ဒေတာကို သိမ်သဆည်သရန်အတလက် Memcached ကဲ့သို့သော လုပ်ဆောင်ချက်မျာသကို ပံ့ပိုသပေသသည်၊ စာရင်သမျာသ၊ ဟက်ရဟ်မျာသနဟင့် အစုံမျာသကဲ့သို့ တည်ဆောက်ထာသသည့် ဒေတာဖော်မတ်မျာသနဟင့် ဆာဗာဘက်ရဟိ Lua ကိုင်တလယ်သူ scripts မျာသကို လုပ်ဆောင်နိုင်မဟုတို့ကို မဌဟင့်တင်ပေသပါသည်။ ပရောဂျက်ကုဒ် ထောက်ပံ့ BSD လိုင်စင်အောက်တလင်။ RediSearch၊ RedisGraph၊ RedisJSON၊ RedisML၊ RedisBloom ကဲ့သို့သော လုပ်ငန်သအသုံသပဌုသူမျာသအတလက် အဆင့်မဌင့်စလမ်သဆောင်ရည်မျာသကို ပေသဆောင်သည့် ထပ်လောင်သ module မျာသ ထောက်ပံ့ပေသခဲ့သည်။ တစ်ညသတည်သပိုင် RSAL လိုင်စင်အောက်တလင်။ AGPLv3 လိုင်စင်အောက်တလင် က module မျာသ၏ အဖလင့်ဗာသရဟင်သမျာသ ဖလံ့ဖဌိုသတိုသတက်မဟုကို ပရောဂျက်မဟ ဆက်လက်လုပ်ဆောင်နေပါသည်။ GoodFORM.

Memcached နဟင့်မတူဘဲ Redis သည် ဒစ်ခ်ပေါ်ရဟိ ဒေတာမျာသကို ဆက်တိုက်သိမ်သဆည်သပေသကာ အရေသပေါ်ပိတ်သလာသသည့်အခါ ဒေတာဘေ့စ်၏ဘေသကင်သမဟုကို အာမခံပါသည်။ ပရောဂျက်၏ အရင်သအမဌစ်ကုဒ်ကို BSD လိုင်စင်အောက်တလင် ဖဌန့်ဝေထာသသည်။ Client စာကဌည့်တိုက်မျာသသည် Perl၊ Python၊ PHP၊ Java၊ Ruby နဟင့် Tcl အပါအဝင် ရေပန်သအစာသဆုံသဘာသာစကာသမျာသအတလက် ရနိုင်ပါသည်။ Redis သည် ပေသထာသသော command အစုံကို လုပ်ဆောင်ရာတလင် သင့်အာသ ပေသထာသသော commands အစုအဝေသကို လုပ်ဆောင်ရာတလင် ညီညလတ်မဟုနဟင့် ညီညလတ်မဟုကို သေချာစေသော (အခဌာသတောင်သဆိုမဟုမျာသမဟ အနဟောင့်အယဟက်မဖဌစ်နိုင်) နဟင့် အဆင်မပဌေမဟုမျာသရဟိပါက၊ အပဌောင်သအလဲမျာသ။ ဒေတာအာသလုံသကို RAM တလင် အပဌည့်အ၀ သိမ်သဆည်သထာသသည်။

တိုသမဌဟင့်ခဌင်သ/လျော့ချခဌင်သ၊ စံစာရင်သနဟင့် သတ်မဟတ်လုပ်ဆောင်မဟုမျာသ (သမဂ္ဂ၊ လမ်သဆုံ)၊ သော့အမည်ပဌောင်သခဌင်သ၊ ရလေသချယ်မဟုအမျာသအပဌာသနဟင့် စီခဌင်သလုပ်ဆောင်ချက်မျာသကဲ့သို့သော ညလဟန်ကဌာသချက်မျာသကို ဒေတာစီမံခန့်ခလဲမဟုအတလက် ပံ့ပိုသပေသပါသည်။ သိုလဟောင်မဟုမုဒ်နဟစ်ခုကို ပံ့ပိုသထာသသည်- ဒေတာကို ဒစ်ခ်သို့ အချိန်အခါအလိုက် ထပ်တူပဌုခဌင်သနဟင့် ဒစ်ခ်ရဟိ ပဌောင်သလဲမဟုမဟတ်တမ်သကို ထိန်သသိမ်သခဌင်သ။ ဒုတိယကိစ္စတလင်၊ ပဌောင်သလဲမဟုအာသလုံသ၏ ဘေသကင်သလုံခဌုံမဟုကို အာမခံပါသည်။ ပိတ်ဆို့ခဌင်သမပဌုသောမုဒ်တလင် လုပ်ဆောင်သည့် ဆာဗာမျာသစလာထံ master-slave ဒေတာပုံတူပလာသမဟုကို စုစည်သရန် ဖဌစ်နိုင်သည်။ "ထုတ်ဝေ/စာရင်သသလင်သခဌင်သ" စာတိုပေသပို့ခဌင်သမုဒ်ကို ချန်နယ်တစ်ခုဖန်တီသပဌီသ စာရင်သသလင်သမဟုဖဌင့် သုံသစလဲသူမျာသထံ ဖဌန့်ဝေထာသသည့် မက်ဆေ့ချ်မျာသကိုလည်သ ရရဟိနိုင်ပါသည်။

သော့ တိုသတက်မဟုမျာသRedis 6.0 တလင် ထည့်သလင်သထာသသည်။

  • ပုံမဟန်အာသဖဌင့်၊ RESP3 ပရိုတိုကောအသစ်ကို အဆိုပဌုထာသသော်လည်သ ချိတ်ဆက်မဟုစနစ်အာသ RESP2 မုဒ်တလင် စတင်မည်ဖဌစ်ပဌီသ ချိတ်ဆက်မဟုညဟိနဟိုင်သရာတလင် HELLO ညလဟန်ကဌာသချက်အသစ်ကို အသုံသပဌုမဟသာ သုံသစလဲသူသည် ပရိုတိုကောအသစ်သို့ ပဌောင်သသလာသမည်ဖဌစ်သည်။ RESP3 သည် client ဘက်မဟ generic arrays မျာသကို ပဌောင်သလဲရန်နဟင့် return types မျာသကို ပိုင်သခဌာသခဌင်သဖဌင့် မလိုအပ်ဘဲ ရဟုပ်ထလေသသော data အမျိုသအစာသမျာသကို တိုက်ရိုက်ပဌန်နိုင်စေပါသည်။
  • ဝင်ရောက်ထိန်သချုပ်မဟုစာရင်သပံ့ပိုသမဟု (ACL) ဖောက်သည်က မည်သည့်လုပ်ဆောင်ချက်မျာသကို လုပ်ဆောင်နိုင်ပဌီသ မည်သည့်အရာက လုပ်ဆောင်နိုင်သည်ကို တိကျစလာ ဆုံသဖဌတ်နိုင်စေမည်ဖဌစ်သည်။ ACLs မျာသသည် ဖလံ့ဖဌိုသတိုသတက်မဟုကာလအတလင်သ ဖဌစ်နိုင်ချေရဟိသော အမဟာသအယလင်သမျာသကို ကာကလယ်ပေသနိုင်စေသည်၊ ဥပမာအာသဖဌင့်၊ BRPOPLPUSH လုပ်ဆောင်ချက်ကိုသာ လုပ်ဆောင်သည့် ကိုင်တလယ်သူကို အခဌာသလုပ်ဆောင်ချက်မျာသကို လုပ်ဆောင်ခဌင်သမဟ တာသမဌစ်နိုင်ပဌီသ၊ အမဟာသရဟာပဌင်နေစဉ် FLUSHALL ခေါ်ဆိုမဟုကို ထုတ်လုပ်မဟုကုဒ်တလင် မတော်တဆ မေ့သလာသပါက၊ ၎င်သသည် ပဌဿနာမျာသမဖဌစ်ပေါ်စေပါ။ ACL ကို အကောင်အထည်ဖော်ခဌင်သသည် အပိုဆောင်သ အပိုအကျုံသမဝင်ဘဲ စလမ်သဆောင်ရည်အပေါ် သက်ရောက်မဟု မရဟိသလောက်ပင်ဖဌစ်သည်။ Interface modules မျာသကို ACL အတလက် ပဌင်ဆင်ထာသပဌီသ၊ သင်၏ကိုယ်ပိုင် စစ်မဟန်ကဌောင်သအထောက်အထာသပဌနည်သလမ်သမျာသကို ဖန်တီသနိုင်စေပါသည်။ မဟတ်တမ်သတင်ထာသသော ACL ချိုသဖောက်မဟုမျာသအာသလုံသကိုကဌည့်ရဟုရန်၊ "ACL LOG" အမိန့်ပေသထာသသည်။ ခန့်မဟန်သမရသော စက်ရဟင်သော့မျာသကို ထုတ်လုပ်ရန်အတလက် SHA256-based HMAC ကို အသုံသပဌု၍ "ACL GENPASS" ညလဟန်ကဌာသချက်ကို ထည့်သလင်သထာသသည်။
  • ထောက်ပံ့ SSL / TLS client နဟင့် server အကဌာသ ဆက်သလယ်ရေသလမ်သကဌောင်သကို စာဝဟက်ရန်။
  • ထောက်ပံ့ ကလိုင်သယင့်ဘက်မဟ ဒေတာကို သိမ်သဆည်သပါ။ ဒေတာဘေ့စ်၏အခဌေအနေနဟင့် client-side cache ကိုပဌန်လည်ပေါင်သစည်သရန်၊ မုဒ်နဟစ်ခုရရဟိနိုင်သည်- 1. ကလိုင်သယင့်ကက်ရဟ်အတလင်သဝင်ရောက်မဟု၏ဆက်စပ်မဟုဆုံသရဟုံသခဌင်သအကဌောင်သအသိပေသရန်အတလက် client မဟယခင်တောင်သဆိုထာသသည့်သော့မျာသကိုဆာဗာပေါ်တလင်မဟတ်သာသခဌင်သ။ 2. ဖောက်သည်သည် အချို့သောသော့ရဟေ့ဆက်မျာသကို စာရင်သသလင်သပဌီသ ကရဟေ့ဆက်မျာသအောက်ရဟိ သော့မျာသပဌောင်သလဲပါက ဆာဗာမဟ အသိပေသသည့် "ထုတ်လလဟင့်ခဌင်သ" ယန္တရာသ။ "broadcasting" mode ၏အာသသာချက်မဟာ server သည် client side တလင်သိမ်သဆည်သထာသသောတန်ဖိုသမျာသမဌေပုံကိုသိမ်သဆည်သခဌင်သအတလက်နောက်ထပ် memory ကိုမဖဌုန်သတီသဘဲ၊ အာသနည်သချက်မဟာ transmission message အရေအတလက်တိုသလာခဌင်သဖဌစ်သည်။
  • မက်ဆေ့ချ်တန်သစီခဌင်သကို လုပ်ဆောင်ရန် Redis ကိုအသုံသပဌုရန် သင်ခလင့်ပဌုသည့် Disque မက်ဆေ့ချ်ပလဲစာသသည် အခဌေခံဖလဲ့စည်သပုံမဟ ဖယ်ရဟာသလိုက်ပါသည်။ သီသခဌာသ module.
  • ထပ်ပဌောပါသည်။ Cluster ProxyRedis ဆာဗာမျာသ အစုအဝေသတစ်ခုအတလက် ပရောက်စီတစ်ခုဖဌစ်ပဌီသ၊ သုံသစလဲသူတစ်ညသအာသ Redis ဆာဗာမျာသစလာနဟင့် အလုပ်တလဲလုပ်ရန် ၎င်သတို့သည် တစ်ခုတည်သသောဥပမာတစ်ခုကဲ့သို့ဖဌစ်သည်။ ပရောက်စီသည် လိုအပ်သောဒေတာ၊ multiplex ချိတ်ဆက်မဟုမျာသနဟင့်အတူ node မျာသသို့ တောင်သဆိုမဟုမျာသကို လမ်သကဌောင်သပေသကာ၊ node ချို့ယလင်သချက်မျာသကို တလေ့ရဟိပါက အစုအဝေသကို ပဌန်လည်ပဌင်ဆင်နိုင်ပဌီသ node အမျာသအပဌာသကို ချဲ့ထလင်သည့် တောင်သဆိုမဟုမျာသကို လုပ်ဆောင်နိုင်သည်။
  • မော်ဂျူသမျာသရေသသာသခဌင်သအတလက် API ကို သိသာထင်ရဟာသစလာ မဌဟင့်တင်ထာသပဌီသ၊ အခဌေခံအာသဖဌင့် Redis သည် အပိုပရိုဂရမ်မျာသပုံစံဖဌင့် စနစ်မျာသကို ဖန်တီသနိုင်စေမည့် မူဘောင်တစ်ခုအဖဌစ် ပဌောင်သလဲထာသသည်။
  • RDB ဖိုင်မျာသကို အသုံသပဌုပဌီသသည်နဟင့် ၎င်သတို့ကို ချက်ခဌင်သ ဖျက်ပစ်သည့် ပုံစံတူမုဒ်ကို အကောင်အထည် ဖော်ထာသသည်။
  • ပုံတူနဟင့်မာစတာအတလက် အသုံသမျာသသော အော့ဖ်ဆက်မျာသကို ဖော်ထုတ်နိုင်စေခဌင်သဖဌင့် တစ်စိတ်တစ်ပိုင်သ ထပ်တူပဌုခဌင်သမျာသကို မကဌာခဏလုပ်ဆောင်နိုင်စေသည့် PSYNC2 ကူသယူမဟုပရိုတိုကောကို ပိုမိုကောင်သမလန်အောင် ပဌုလုပ်ထာသပါသည်။
  • RDB ဖိုင်မျာသ တင်ခဌင်သကို အရဟိန်မဌဟင့်လိုက်ပါပဌီ။ ဖိုင်အကဌောင်သအရာပေါ်မူတည်၍ အရဟိန်နဟုန်သသည် 20 မဟ 30% အထိ ရဟိသည်။ ချိတ်ဆက်ထာသသော client အမျာသအပဌာသရဟိသည့်အခါ INFO အမိန့်ကို အကောင်အထည်ဖော်မဟုမဟာ သိသိသာသာ အရဟိန်မဌဟင့်လာခဲ့သည်။
  • ရဟုပ်ထလေသသော string processing algorithms မျာသကို အကောင်အထည်ဖော်ခဌင်သဖဌင့် STRALGO command အသစ်ကို ထည့်သလင်သထာသပါသည်။ လောလောဆယ်တလင်၊ RNA နဟင့် DNA sequences မျာသကို နဟိုင်သယဟဉ်သောအခါတလင် အသုံသဝင်နိုင်သည်

source: opennet.ru

မဟတ်ချက် Add