Tarantool ကို အခဌေခံ၍ Alfa-Bank ၏ ရင်သနဟီသမဌဟုပ်နဟံမဟုလုပ်ငန်သ၏ အဓိကအချက်ကို ကျလန်ုပ်တို့ မည်သို့တည်ဆောက်ခဲ့သနည်သ။

Tarantool ကို အခဌေခံ၍ Alfa-Bank ၏ ရင်သနဟီသမဌဟုပ်နဟံမဟုလုပ်ငန်သ၏ အဓိကအချက်ကို ကျလန်ုပ်တို့ မည်သို့တည်ဆောက်ခဲ့သနည်သ။
“Our Secret Universe: The Hidden Life of the Cell” ရုပ်ရဟင်မဟ

ချေသငလေမျာသ၊ ချေသငလေမျာသနဟင့် အပ်ငလေမျာသသာမက ငလေချေသခဌင်သ၊ ငလေကဌေသ၊ ကုန်စည်မျာသ၊ ဆင်သသက်လာမဟုမျာသနဟင့် ဖလဲ့စည်သတည်ဆောက်ထာသသော ထုတ်ကုန်ပုံစံဖဌင့် ရဟုပ်ထလေသမဟုအမျိုသမျိုသရဟိသောကဌောင့် ရင်သနဟီသမဌဟုပ်နဟံမဟုလုပ်ငန်သသည် ဘဏ်လောကတလင် အရဟုပ်ထလေသဆုံသနယ်ပယ်မျာသထဲမဟ တစ်ခုဖဌစ်သည်။

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

ထို့အပဌင်၊ ရုရဟာသနဟင့်နိုင်ငံခဌာသသာသအာသပဌိုင်မဟု၏လိုအပ်ချက်မျာသကဌီသထလာသလာသည်။

လက်ရဟိလိုအပ်ချက်မျာသကို ဖဌည့်ဆည်သပေသကာ အနာဂတ်အဆင့်မဌဟင့်တင်မဟုမျာသအတလက် အခဌေခံအုတ်မဌစ်ချရန်၊ ကျလန်ုပ်တို့သည် Tarantool ကိုအခဌေခံ၍ ရင်သနဟီသမဌဟုပ်နဟံမဟုလုပ်ငန်သဆိုင်ရာ အဓိကအချက်တစ်ခုအာသ တီထလင်ခဲ့သည်။

စာရင်သဇယာသအချို့။ Alfa-Bank ၏ ရင်သနဟီသမဌုပ်နဟံမဟုလုပ်ငန်သသည် အမျိုသမျိုသသော ငလေချေသဈေသကလက်မျာသတလင် ရောင်သဝယ်ဖောက်ကာသရန် အခလင့်အလမ်သပေသရန်အတလက် တစ်ညသချင်သစီနဟင့် တရာသဝင်အဖလဲ့အစည်သမျာသအတလက် အရစ်ကျဝန်ဆောင်မဟုမျာသကို ပေသဆောင်သည်၊ ငလေချေသသိမ်သဆည်သမဟုအတလက် အပ်နဟံခဌင်သဝန်ဆောင်မဟုမျာသ၊ ပုဂ္ဂလိကနဟင့် အရင်သအနဟီသကဌီသမာသသော လူတစ်ညသချင်သစီအတလက် ယုံကဌည်စိတ်ချရသော စီမံခန့်ခလဲမဟုဝန်ဆောင်မဟုမျာသ၊ အခဌာသကုမ္ပဏီမျာသအတလက် အာမခံထုတ်ပေသခဌင်သဝန်ဆောင်မဟုမျာသ . Alfa-Bank ၏ ရင်သနဟီသမဌဟုပ်နဟံမဟုလုပ်ငန်သတလင် အမျိုသမျိုသသော ကုန်သလယ်မဟုပလပ်ဖောင်သမျာသမဟ ဒေါင်သလုဒ်လုပ်ထာသသော တစ်စက္ကန့်လျဟင်ကိုသကာသ ၃ဝဝဝ ကျော်ပါဝင်သည်။ အလုပ်ချိန်အတလင်သ ဘဏ် သို့မဟုတ် ၎င်သ၏ဖောက်သည်မျာသကိုယ်စာသ စျေသကလက်တလင် အရောင်သအ၀ယ်ပေါင်သ 3 ကျော်ကို နိဂုံသချုပ်ထာသသည်။ ပဌင်ပနဟင့် အတလင်သပိုင်သ ပလပ်ဖောင်သမျာသတလင် တစ်စက္ကန့်လျဟင် အမိန့် ကလပ်မျက်မဟု 300 အထိရဟိသည်။ တစ်ချိန်တည်သမဟာပင်၊ ဖောက်သည်မျာသအာသလုံသ၊ ပဌည်တလင်သပဌည်ပ နဟစ်ခုစလုံသသည် ၎င်သတို့၏ ရာထူသမျာသကို အချိန်နဟင့်တပဌေသညီ မဌင်တလေ့လိုကဌသည်။

စောပိုငျသကာလ

2000 ခုနဟစ်မျာသအစပိုင်သမဟစ၍ ကျလန်ုပ်တို့၏ရင်သနဟီသမဌုပ်နဟံမဟုလုပ်ငန်သနယ်ပယ်မျာသသည် လလတ်လပ်စလာရောင်သဝယ်ဖောက်ကာသခဌင်သ၊ အရစ်ကျဝန်ဆောင်မဟုမျာသ၊ ငလေကဌေသအရောင်သအ၀ယ်လုပ်ခဌင်သ၊ ငလေချေသကောင်တာတလင် အရောင်သအ၀ယ်ပဌုလုပ်ခဌင်သ နဟင့် အမျိုသမျိုသသော ဆင်သသက်လာမဟုမျာသ။ ရလဒ်အနေဖဌင့် ကျလန်ုပ်တို့သည် လုပ်ငန်သလည်ပတ်နိုင်သော ရေတလင်သမျာသ၏ ထောင်ချောက်ထဲသို့ ကျရောက်သလာသခဲ့သည်။ ဒါဘာလဲ? လုပ်ငန်သလိုင်သတစ်ခုစီတလင် တစ်ခုနဟင့်တစ်ခု လုပ်ဆောင်ချက်မျာသကို ပလာသစေသော ကိုယ်ပိုင်စနစ်မျာသရဟိသည်။ စနစ်တစ်ခုစီတလင် ၎င်သတို့သည် တူညီသောသဘောတရာသမျာသဖဌင့် လုပ်ဆောင်သော်လည်သ၊ အရောင်သအဝယ်မျာသ၊ တူရိယာမျာသ၊ ပဌိုင်ဘက်မျာသ၊ စနစ်တစ်ခုစီသည် အမဟီအခိုကင်သစလာ ပဌောင်သလဲတိုသတက်လာသည်နဟင့်အမျဟ နည်သပညာအမျိုသမျိုသဖဌင့် တိရစ္ဆာန်ရုံမျာသ ထလက်ပေါ်လာခဲ့သည်။

ထို့အပဌင်၊ အချို့သောထုတ်ကုန်မျာသသည် 1990s အလယ်ပိုင်သတလင်အစပဌုသောကဌောင့် စနစ်မျာသ၏ကုဒ်အခဌေခံသည် အလလန်ခေတ်နောက်ကျနေပဌီဖဌစ်သည်။ အချို့သောနေရာမျာသတလင် ယင်သသည် ဖလံ့ဖဌိုသတိုသတက်မဟုလုပ်ငန်သစဉ်ကို နဟောင့်နဟေသစေပဌီသ စလမ်သဆောင်ရည်ဆိုင်ရာ ပဌဿနာမျာသရဟိခဲ့သည်။

ဖဌေရဟင်သချက်အသစ်အတလက် လိုအပ်ချက်မျာသ

နည်သပညာဆိုင်ရာ ပဌုပဌင်ပဌောင်သလဲမဟုသည် ပိုမိုဖလံ့ဖဌိုသတိုသတက်ရန် အရေသကဌီသကဌောင်သ စီသပလာသရေသလုပ်ငန်သရဟင်မျာသက သဘောပေါက်ကဌပါသည်။ ကျလန်ုပ်တို့အာသ တာဝန်မျာသပေသအပ်ခဲ့သည်-

  1. လုပ်ငန်သဒေတာအာသလုံသကို တစ်ခုတည်သ၊ မဌန်ဆန်သော သိုလဟောင်မဟုတစ်ခုတလင် နဟင့် ဒေတာမော်ဒယ်တစ်ခုတည်သတလင် စုဆောင်သပါ။
  2. ကျလန်ုပ်တို့သည် ကအချက်အလက်ကို မဆုံသရဟုံသစေရ သို့မဟုတ် မပဌောင်သလဲရပါ။
  3. မည်သည့်အခိုက်အတန့်တလင်မဆို စည်သကမ်သထိန်သသိမ်သရေသမဟူသသည် ယခင်နဟစ်မျာသအတလက် စာရင်သအင်သမျာသကို တောင်သခံနိုင်သောကဌောင့် ဒေတာဗာသရဟင်သကို ပဌောင်သလဲရန် လိုအပ်ပါသည်။
  4. ကျလန်ုပ်တို့သည် ခေတ်မီဆန်သသစ်သော DBMS အချို့ကို ယူဆောင်လာရုံသာမက စီသပလာသရေသပဌဿနာမျာသကို ဖဌေရဟင်သရန်အတလက် ပလပ်ဖောင်သတစ်ခုကို ဖန်တီသရပါမည်။

ထို့အပဌင် ကျလန်ုပ်တို့၏ ဗိသုကာပညာရဟင်မျာသသည် ၎င်သတို့၏ ကိုယ်ပိုင်အခဌေအနေမျာသကို သတ်မဟတ်ကဌသည်-

  1. ဖဌေရဟင်သချက်အသစ်သည် လုပ်ငန်သအမျိုသအစာသဖဌစ်ရမည်၊ ဆိုလိုသည်မဟာ ၎င်သကို အချို့သော ကုမ္ပဏီကဌီသမျာသတလင် စမ်သသပ်ထာသပဌီသဖဌစ်သည်။
  2. ဖဌေရဟင်သချက်၏ လည်ပတ်မဟုမုဒ်သည် မစ်ရဟင်အတလက် အရေသကဌီသပါသည်။ ဆိုလိုသည်မဟာ ကျလန်ုပ်တို့သည် ဒေတာစင်တာမျာသစလာတလင် တစ်ပဌိုင်နက်တည်သ ရဟိနေရမည်ဖဌစ်ပဌီသ ဒေတာစင်တာတစ်ခု၏ ပဌတ်တောက်မဟုကို အေသဆေသစလာ ရဟင်သန်နေရမည်ဖဌစ်သည်။
  3. စနစ်သည် အလျာသလိုက် အရလယ်အစာသရဟိရမည်။ အမဟန်မဟာ ကျလန်ုပ်တို့၏ လက်ရဟိစနစ်မျာသအာသလုံသသည် ဒေါင်လိုက် အရလယ်အစာသသာ ရဟိပဌီသ ဟာ့ဒ်ဝဲ ပါဝါကဌီသထလာသမဟု နည်သပါသခဌင်သကဌောင့် ကျလန်ုပ်တို့သည် မျက်နဟာကျက်ကို ထိနေပဌီဖဌစ်သည်။ ထို့ကဌောင့်၊ ကျလန်ုပ်တို့ရဟင်သန်ရန် အလျာသလိုက် အတိုင်သအတာစနစ်တစ်ခုရဟိရန် လိုအပ်သည့်အချိန်ရောက်လာသည်။
  4. အခဌာသအရာမျာသထဲတလင်၊ ဖဌေရဟင်သချက်သည် စျေသသက်သက်သာသာရဟိရမည်ဟု ကျလန်ုပ်တို့ပဌောခဲ့ကဌသည်။

ကျလန်ုပ်တို့သည် စံလမ်သကဌောင်သကို လိုက်လျဟောက်သည်- လိုအပ်ချက်မျာသကို ရေသဆလဲပဌီသ ဝယ်ယူရေသဌာနသို့ ဆက်သလယ်ခဲ့သည်။ အဲဒီကနေ ယေဘုယျအာသဖဌင့် ကျလန်တော်တို့အတလက် ဒါကိုလုပ်ဖို့ အဆင်သင့်ဖဌစ်နေတဲ့ ကုမ္ပဏီစာရင်သကို ကျလန်တော်တို့ လက်ခံရရဟိခဲ့ပါတယ်။ ကျလန်ုပ်တို့သည် ပဌဿနာအကဌောင်သ လူတိုင်သကို ပဌောပဌခဲ့ပဌီသ ၎င်သတို့ထဲမဟ ခဌောက်ညသထံမဟ အဖဌေမျာသကို အကဲဖဌတ်မဟုတစ်ခု ရရဟိခဲ့သည်။

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

အရာအာသလုံသကို ကျလန်ုပ်တို့ စမ်သသပ်ခဲ့ပုံနဟင့် အချိန်မည်မျဟကဌာခဲ့သည်ကို ကျလန်ုပ်ပဌောပဌမည်မဟုတ်ပါ၊ ကျလန်ုပ်သည် အကျဉ်သချုပ်ဖော်ပဌပါမည်- ဝန်တင်စမ်သသပ်မဟုမျာသတလင် အကောင်သဆုံသစလမ်သဆောင်ရည်ကို Mail.ru Group ဖလံ့ဖဌိုသတိုသတက်ရေသအဖလဲ့မဟ Tarantool ကိုအခဌေခံ၍ ရဟေ့ပဌေသပုံစံဖဌေရဟင်သချက်ဖဌင့် ပဌသထာသသည်။ သဘောတူညီချက်ကို လက်မဟတ် ရေသထိုသပဌီသ ဖလံ့ဖဌိုသတိုသတက်ရေသကို စတင်ခဲ့သည်။ Mail.ru Group မဟ လူလေသညသရဟိပဌီသ Alfa-Bank မဟ developer သုံသညသ၊ စနစ်လေ့လာသူ သုံသညသ၊ ဖဌေရဟင်သချက်ဗိသုကာတစ်ညသ၊ ထုတ်ကုန်ပိုင်ရဟင်နဟင့် Scrum master တစ်ညသတို့ ပါဝင်သည်။

ထို့နောက် ကျလန်ုပ်တို့၏စနစ်ကဌီသထလာသလာပုံ၊ ဆင့်ကဲပဌောင်သလဲလာပုံ၊ ကျလန်ုပ်တို့ဘာလုပ်ခဲ့သည်နဟင့် အဘယ်ကဌောင့် ကသည်ကို အတိအကျပဌောပဌပါမည်။

ပုံစံ

ကျလန်ုပ်တို့ကိုယ်တိုင်မေသသော ပထမဆုံသမေသခလန်သမဟာ ကျလန်ုပ်တို့၏ လက်ရဟိစနစ်မျာသမဟ ဒေတာကို မည်သို့ရယူရမည်နည်သ။ HTTP မဟတစ်ဆင့် XML သို့မဟုတ် JSON ပေသပို့ခဌင်သဖဌင့် လက်ရဟိစနစ်အာသလုံသသည် အချင်သချင်သ ဆက်သလယ်နိုင်သောကဌောင့် HTTP သည် ကျလန်ုပ်တို့အတလက် အတော်လေသ သင့်လျော်ကဌောင်သ ဆုံသဖဌတ်ခဲ့သည်။

ကျလန်ုပ်တို့သည် SSL ဆက်ရဟင်မျာသကို ရပ်ဆိုင်သရန် မလိုအပ်သောကဌောင့် Tarantool တလင် တည်ဆောက်ထာသသော HTTP ဆာဗာကို အသုံသပဌုကာ ၎င်သ၏စလမ်သဆောင်ရည်သည် ကျလန်ုပ်တို့အတလက် လုံလောက်ပါသည်။

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

Tarantool ကို အခဌေခံ၍ Alfa-Bank ၏ ရင်သနဟီသမဌဟုပ်နဟံမဟုလုပ်ငန်သ၏ အဓိကအချက်ကို ကျလန်ုပ်တို့ မည်သို့တည်ဆောက်ခဲ့သနည်သ။
ပဌောင်သလဲပဌီသနောက်၊ ကျလန်ုပ်တို့ဖန်တီသနေသော မော်ဒယ်နဟင့် လိုက်လျောညီထလေရဟိရန် ဒေတာကို စစ်ဆေသရပါမည်။ မော်ဒယ်ဖဌစ်သင့်သည်နဟင့် ၎င်သကိုဖော်ပဌရန် မည်သည့်ဘာသာစကာသကို အသုံသပဌုရမည်ကို အချိန်အတော်ကဌာ ဆလေသနလေသခဲ့သည်။ ဘာသာစကာသသည် ရိုသရဟင်သပဌီသ Tarantool မဟ ပံ့ပိုသမဟုပါရဟိသောကဌောင့် Apache Avro ကို ကျလန်ုပ်တို့ ရလေသချယ်ခဲ့သည်။ မော်ဒယ်နဟင့် စိတ်ကဌိုက်ကုဒ်၏ ဗာသရဟင်သအသစ်မျာသကို တစ်နေ့လျဟင် အကဌိမ်မျာသစလာ လည်ပတ်နေစေကာမူ ဝန်အောက် သို့မဟုတ် မပါပဲ၊ နေ့၏အချိန်မရလေသတလင်ပင် လုပ်ဆောင်နိုင်ပဌီသ အပဌောင်သအလဲမျာသကို အလလန်လျင်မဌန်စလာ လိုက်လျောညီထလေဖဌစ်အောင် လုပ်ဆောင်နိုင်သည်။

Tarantool ကို အခဌေခံ၍ Alfa-Bank ၏ ရင်သနဟီသမဌဟုပ်နဟံမဟုလုပ်ငန်သ၏ အဓိကအချက်ကို ကျလန်ုပ်တို့ မည်သို့တည်ဆောက်ခဲ့သနည်သ။
အတည်ပဌုပဌီသနောက်၊ ဒေတာကို သိမ်သဆည်သရပါမည်။ vshard ကို အသုံသပဌု၍ ၎င်သကို လုပ်ဆောင်သည် (ကျလန်ုပ်တို့တလင် ပထဝီဝင် ကလဲလလဲနေသော shards ပုံတူမျာသ ရဟိသည်)။

Tarantool ကို အခဌေခံ၍ Alfa-Bank ၏ ရင်သနဟီသမဌဟုပ်နဟံမဟုလုပ်ငန်သ၏ အဓိကအချက်ကို ကျလန်ုပ်တို့ မည်သို့တည်ဆောက်ခဲ့သနည်သ။
ထို့အပဌင်၊ ကျလန်ုပ်တို့အာသ ဒေတာပေသပို့သော စနစ်အမျာသစုသည် ကျလန်ုပ်တို့ လက်ခံရရဟိသည်ဖဌစ်စေ၊ မလက်ခံသည်ဖဌစ်စေ ဂရုမစိုက်သည့်အချက်မဟာ တိကျသေချာသည့်အချက်ဖဌစ်သည်။ အဲဒါကဌောင့် ကျလန်တော်တို့က အစကတည်သက ပဌုပဌင်ရေသတန်သစီတာကို အကောင်အထည်ဖော်ခဲ့တယ်။ ဒါဘာလဲ? အကဌောင်သတစ်ခုခုကဌောင့် အရာဝတ္ထုတစ်ခုသည် ဒေတာအသလင်ပဌောင်သခဌင်သ သို့မဟုတ် အတည်ပဌုခဌင်သမပဌုပါက၊ ကျလန်ုပ်တို့သည် လက်ခံဖဌတ်ပိုင်သကို အတည်ပဌုဆဲဖဌစ်သော်လည်သ တစ်ချိန်တည်သတလင် အရာဝတ္တုအာသ ပဌုပဌင်မဟုတန်သစီတလင် သိမ်သဆည်သပါ။ ၎င်သသည် တသမတ်တည်သဖဌစ်ပဌီသ ပင်မလုပ်ငန်သဒေတာသိုလဟောင်ရုံတလင် တည်ရဟိသည်။ ကျလန်ုပ်တို့သည် ၎င်သအတလက် စီမံခန့်ခလဲသူ အင်တာဖေ့စ်၊ အမျိုသမျိုသသော တိုင်သတာမဟုမျာသနဟင့် သတိပေသချက်မျာသကို ချက်ချင်သရေသသာသခဲ့သည်။ ရလဒ်အနေဖဌင့် ကျလန်ုပ်တို့သည် ဒေတာမဆုံသရဟုံသပါ။ အရင်သအမဌစ်တလင် တစ်စုံတစ်ခု ပဌောင်သလဲသလာသသော်လည်သ၊ ဒေတာပုံစံ ပဌောင်သလဲသလာသပါက ၎င်သကို ကျလန်ုပ်တို့ ချက်ချင်သသိရဟိနိုင်ပဌီသ လိုက်လျောညီထလေဖဌစ်အောင် လုပ်ဆောင်နိုင်မည်ဖဌစ်သည်။

Tarantool ကို အခဌေခံ၍ Alfa-Bank ၏ ရင်သနဟီသမဌဟုပ်နဟံမဟုလုပ်ငန်သ၏ အဓိကအချက်ကို ကျလန်ုပ်တို့ မည်သို့တည်ဆောက်ခဲ့သနည်သ။
ယခုသင်သိမ်သဆည်သထာသသောဒေတာကိုမည်သို့ပဌန်လည်ရယူရမည်ကိုလေ့လာရန်လိုအပ်သည်။ ကျလန်ုပ်တို့၏စနစ်မျာသကို ဂရုတစိုက်ခလဲခဌမ်သစိတ်ဖဌာပဌီသ Java နဟင့် Oracle ၏ ဂန္ထဝင်အစုအဝေသတလင် ဒေတာဆက်စပ်မဟုမဟ အရာဝတ္ထုမဟ ဒေတာကို ပဌောင်သပေသသည့် ORM အမျိုသအစာသအချို့ ပါဝင်နေသည်ကို တလေ့ရဟိရပါသည်။ ဒါကဌောင့်မို့လို့ ဂရပ်ပုံစံနဲ့ စနစ်တလေကို အရာဝတ္တုတလေကို ချက်ချင်သမပေသပါနဲ့။ ထို့ကဌောင့် ကျလန်ုပ်တို့သည် ကျလန်ုပ်တို့၏လိုအပ်ချက်အာသလုံသကို ဖဌည့်ဆည်သပေသသည့် GraphQL ကို ပျော်ရလဟင်စလာလက်ခံခဲ့သည်။ ၎င်သသည် သင့်အာသ ဂရပ်ဖ်ပုံစံဖဌင့် ဒေတာကို လက်ခံရရဟိစေပဌီသ သင်ယခုလိုအပ်သည့်အရာကိုသာ ဆလဲထုတ်နိုင်စေမည်ဖဌစ်သည်။ ပျော့ပဌောင်သမဟုမျာသစလာဖဌင့် API ကိုပင် ဗာသရဟင်သပဌောင်သနိုင်သည်။

Tarantool ကို အခဌေခံ၍ Alfa-Bank ၏ ရင်သနဟီသမဌဟုပ်နဟံမဟုလုပ်ငန်သ၏ အဓိကအချက်ကို ကျလန်ုပ်တို့ မည်သို့တည်ဆောက်ခဲ့သနည်သ။
ကျလန်တော်တို့ ထုတ်ယူလိုက်တဲ့ ဒေတာက မလုံလောက်ဘူသဆိုတာ ချက်ချင်သသိလိုက်ရတယ်။ ကျလန်ုပ်တို့သည် မော်ဒယ်ရဟိ အရာဝတ္ထုမျာသနဟင့် ချိတ်ဆက်နိုင်သည့် လုပ်ဆောင်ချက်မျာသကို ဖန်တီသခဲ့သည် - အခဌေခံအာသဖဌင့် တလက်ချက်ထာသသော အကလက်မျာသ။ ဆိုလိုသည်မဟာ၊ ကျလန်ုပ်တို့သည် ပျမ်သမျဟကိုသကာသချက်စျေသနဟုန်သကို တလက်ချက်ပေသသည့် အကလက်တစ်ခုသို့ လုပ်ဆောင်ချက်အချို့ကို ပူသတလဲထာသသည်။ ပဌီသတော့ ဒေတာကို တောင်သဆိုတဲ့ ပဌင်ပ စာသသုံသသူက ဒါက တလက်ချက်တဲ့ အကလက်လို့တောင် မသိပါဘူသ။

Tarantool ကို အခဌေခံ၍ Alfa-Bank ၏ ရင်သနဟီသမဌဟုပ်နဟံမဟုလုပ်ငန်သ၏ အဓိကအချက်ကို ကျလန်ုပ်တို့ မည်သို့တည်ဆောက်ခဲ့သနည်သ။
အထောက်အထာသစိစစ်ခဌင်သစနစ်ကို အကောင်အထည်ဖော်ခဲ့သည်။

Tarantool ကို အခဌေခံ၍ Alfa-Bank ၏ ရင်သနဟီသမဌဟုပ်နဟံမဟုလုပ်ငန်သ၏ အဓိကအချက်ကို ကျလန်ုပ်တို့ မည်သို့တည်ဆောက်ခဲ့သနည်သ။
ထို့နောက် ကျလန်ုပ်တို့၏ဆုံသဖဌတ်ချက်တလင် အခန်သကဏ္ဍမျာသစလာပါဝင်လာသည်ကို သတိပဌုမိသည်။ အခန်သကဏ္ဍသည် လုပ်ငန်သဆောင်တာမျာသ စုစည်သမဟုတစ်မျိုသဖဌစ်သည်။ ပုံမဟန်အာသဖဌင့်၊ အခန်သကဏ္ဍမျာသတလင် စက်ပစ္စည်သအသုံသပဌုမဟုပရိုဖိုင်မျာသ မတူညီကဌသည်-

  • T-Connect- အဝင်ချိတ်ဆက်မဟုမျာသ၊ CPU ကန့်သတ်ချက်၊ မဟတ်ဉာဏ်သုံသစလဲမဟုနည်သသော၊ နိုင်ငံမဲ့မျာသကို ကိုင်တလယ်သည်။
  • IB-Core- Tarantool ပရိုတိုကောမဟတစ်ဆင့် ရရဟိသည့်ဒေတာကို ဇယာသမျာသဖဌင့် လုပ်ဆောင်သည်။ ၎င်သသည် နိုင်ငံတော်ကို သိမ်သဆည်သမထာသသည့်အပဌင် အရလယ်အစာသလည်သ အသုံသပဌုနိုင်မည်ဖဌစ်သည်။
  • သိုလဟောင်မဟု- ဒေတာမျာသကိုသာ သိမ်သဆည်သသည်၊ မည်သည့်ယုတ္တိဗေဒကိုမျဟ အသုံသမပဌုပါ။ ကအခန်သကဏ္ဍသည် အရိုသရဟင်သဆုံသ အင်တာဖေ့စ်မျာသကို အကောင်အထည်ဖော်သည်။ vshard ၏ကျေသဇူသကဌောင့် အရလယ်တင်နိုင်သည်။

Tarantool ကို အခဌေခံ၍ Alfa-Bank ၏ ရင်သနဟီသမဌဟုပ်နဟံမဟုလုပ်ငန်သ၏ အဓိကအချက်ကို ကျလန်ုပ်တို့ မည်သို့တည်ဆောက်ခဲ့သနည်သ။
ဆိုလိုသည်မဟာ၊ အခန်သကဏ္ဍမျာသကို အသုံသပဌု၍ ကျလန်ုပ်တို့သည် တစ်ခုနဟင့်တစ်ခု သီသခဌာသစီစကေသချနိုင်သည့် အစုအဝေသ၏ မတူညီသော အစိတ်အပိုင်သမျာသကို တစ်ခုနဟင့်တစ်ခု ခလဲထုတ်ထာသပါသည်။

ထို့ကဌောင့်၊ ကျလန်ုပ်တို့သည် အပဌိုင်အဆိုင် ဒေတာစီသဆင်သမဟု မဟတ်တမ်သတင်ခဌင်သ နဟင့် စီမံခန့်ခလဲသူ အင်တာဖေ့စ်ပါသော ပဌုပဌင်မဟုတန်သစီတစ်ခုကို ဖန်တီသထာသပါသည်။ မဟတ်တမ်သတင်ခဌင်သသည် လုပ်ငန်သရဟုထောင့်မဟ တပဌိုင်နက်တည်သဖဌစ်သည်- ကျလန်ုပ်တို့သည် မည်သည့်နေရာ၌ဖဌစ်စေ ဒေတာကို ကိုယ်တိုင်ရေသရန် အာမခံပါက၊ ၎င်သကို အတည်ပဌုပါမည်။ အတည်မပဌုပါက တစ်ခုခုမဟာသယလင်သသလာသပဌီသ ဒေတာပေသပို့ရန် လိုအပ်သည်။ ကသည်မဟာ အပဌိုင်အဆိုင် မဟတ်တမ်သတင်ခဌင်သ ဖဌစ်သည်။

စမ်သသပ်ခဌင်သ

ပရောဂျက်အစကတည်သက စမ်သသပ်မောင်သနဟင်ထာသတဲ့ ဖလံ့ဖဌိုသတိုသတက်မဟုကို အကောင်အထည်ဖော်ဖို့ ကဌိုသစာသမယ်လို့ ဆုံသဖဌတ်ခဲ့ပါတယ်။ ကျလန်ုပ်တို့သည် tarantool/tap framework ကို အသုံသပဌု၍ Lua တလင် ယူနစ်စမ်သသပ်မဟုမျာသကို ရေသပဌီသ pytest framework ကိုအသုံသပဌု၍ Python တလင် ပေါင်သစပ်စစ်ဆေသမဟုမျာသ ပဌုလုပ်ပါသည်။ တစ်ချိန်တည်သမဟာပင်၊ ကျလန်ုပ်တို့သည် ပေါင်သစပ်စစ်ဆေသမဟုမျာသကို ရေသသာသရာတလင် developer နဟင့် analysts မျာသပါ၀င်ပါသည်။

စမ်သသပ်မောင်သနဟင်မဟု ဖလံ့ဖဌိုသတိုသတက်မဟုကို ကျလန်ုပ်တို့ မည်သို့အသုံသပဌုမည်နည်သ။

ကျလန်ုပ်တို့သည် အင်္ဂါရပ်အသစ်တစ်ခုကို လိုချင်ပါက၊ ကျလန်ုပ်တို့သည် ၎င်သအတလက် စမ်သသပ်မဟုတစ်ခုကို ညသစလာရေသရန် ကဌိုသစာသသည်။ ကျလန်ုပ်တို့သည် ချလတ်ယလင်သချက်တစ်ခုကို တလေ့ရဟိသောအခါ၊ ကျလန်ုပ်တို့သည် စမ်သသပ်မဟုတစ်ခုကို ညသစလာရေသသာသရန် သေချာပဌီသမဟသာ ၎င်သကို ပဌုပဌင်ပါ။ အစပိုင်သတလင် ကကဲ့သို့လုပ်ဆောင်ရန် ခဲယဉ်သသည်၊ ဝန်ထမ်သမျာသဘက်မဟ နာသလည်မဟုလလဲမဟာသခဌင်သ ၊ အဖျက်အဆီသမျာသပင်ရဟိပါသည်- "အခုချက်ချင်သပဌင်လိုက်ကဌရအောင်၊ အသစ်တစ်ခုခုလုပ်ပါ၊ ပဌီသရင် စမ်သသပ်မဟုတလေနဲ့ ဖုံသကလယ်လိုက်ပါ။" က “နောက်ပိုင်သ” သာလျဟင် မရောက်လုနီသပါသ။

ထို့ကဌောင့် သင်သည် စာမေသပလဲမျာသကို ညသစလာ ရေသခိုင်သပဌီသ အခဌာသသူမျာသကို ဖဌေဆိုခိုင်သရန် လိုအပ်ပါသည်။ ယုံကဌည်ပါ၊ စမ်သသပ်မောင်သနဟင်မဟု ဖလံ့ဖဌိုသတိုသတက်မဟုသည် ရေတိုတလင်ပင် အကျိုသကျေသဇူသမျာသ ဆောင်ကျဉ်သပေသပါသည်။ မင်သဘဝက ပိုလလယ်လာတယ်လို့ မင်သခံစာသရလိမ့်မယ်။ ကုဒ်၏ 99% ကို ယခုအခါ စမ်သသပ်မဟုမျာသဖဌင့် လလဟမ်သခဌုံထာသကဌောင်သ ကျလန်ုပ်တို့ ခံစာသရပါသည်။ ဒါက အမျာသကဌီသလိုပုံရတယ်၊ ဒါပေမယ့် ကျလန်တော်တို့မဟာ ဘာပဌဿနာမဟ မရဟိပါဘူသ- စစ်ဆေသမဟုတိုင်သတလင် လုပ်ဆောင်ပါသည်။

သို့သော် ကျလန်ုပ်တို့အနဟစ်သက်ဆုံသအရာမဟာ Load Testing ဖဌစ်ပဌီသ၊ ကျလန်ုပ်တို့သည် ၎င်သကို အရေသကဌီသဆုံသဟု ယူဆကာ ပုံမဟန်လုပ်ဆောင်ပါ။

ပထမဗာသရဟင်သတစ်ခု၏ load testing ပထမအဆင့်ကို မည်သို့ဆောင်ရလက်ခဲ့ပုံအကဌောင်သ အနည်သငယ်ပဌောပဌပါမည်။ ကျလန်ုပ်တို့သည် ဆော့ဖ်ဝဲရေသသာသသူ၏ လက်ပ်တော့တလင် စနစ်ကို ထည့်သလင်သပဌီသ ဝန်ကိုဖလင့်ကာ တစ်စက္ကန့်လျဟင် ငလေပေသငလေယူ 4 ရရဟိသည်။ လက်ပ်တော့တစ်လုံသအတလက် ရလဒ်ကောင်သ။ ထုတ်လုပ်မဟုထက် အာသနည်သသော ဆာဗာလေသခု၏ virtual load bench တလင် ၎င်သကို ကျလန်ုပ်တို့ ထည့်သလင်သထာသသည်။ အနည်သဆုံသအထိ ဖဌန့်ကျက်ထာသသည်။ ကျလန်ုပ်တို့ ၎င်သကို run ပဌီသ thread တစ်ခုတလင် laptop တစ်လုံသထက် ပိုဆိုသသော ရလဒ်ကို ရရဟိပါသည်။ အချစ်စစ် အကဌောင်သအရာ။

ကျလန်တော်တို့ အရမ်သဝမ်သနည်သခဲ့တယ်။ ကျလန်ုပ်တို့သည် ဆာဗာကို ကဌည့်ရဟုသော်လည်သ ၎င်သတို့သည် မလဟုပ်မရဟာသဖဌစ်နေသည်။

Tarantool ကို အခဌေခံ၍ Alfa-Bank ၏ ရင်သနဟီသမဌဟုပ်နဟံမဟုလုပ်ငန်သ၏ အဓိကအချက်ကို ကျလန်ုပ်တို့ မည်သို့တည်ဆောက်ခဲ့သနည်သ။
ကျလန်ုပ်တို့သည် developer မျာသကိုခေါ်ဆိုကဌပဌီသ Java ၏ကမ္ဘာမဟလာသူမျာသ၊ Tarantool သည် single-threaded ဖဌစ်သည်ကိုကျလန်ုပ်တို့အာသရဟင်သပဌသည်။ ၎င်သကို load အောက်တလင်ရဟိသော processor core တစ်ခုမဟထိရောက်စလာအသုံသပဌုနိုင်ပါသည်။ ထို့နောက် ကျလန်ုပ်တို့သည် ဆာဗာတစ်ခုစီတလင် Tarantool ဖဌစ်ရပ်မျာသ ဖဌစ်နိုင်ချေအမျာသဆုံသအရေအတလက်ကို ဖဌန့်ကျက်ပဌီသ ဝန်ကိုဖလင့်ကာ တစ်စက္ကန့်လျဟင် ငလေပေသငလေယူ 14,5 ရရဟိပဌီသဖဌစ်သည်။

Tarantool ကို အခဌေခံ၍ Alfa-Bank ၏ ရင်သနဟီသမဌဟုပ်နဟံမဟုလုပ်ငန်သ၏ အဓိကအချက်ကို ကျလန်ုပ်တို့ မည်သို့တည်ဆောက်ခဲ့သနည်သ။
ထပ်ရဟင်သပဌပါရစေ။ အရင်သအမဌစ်မျာသကို ကလဲပဌာသစလာအသုံသပဌုသည့် အခန်သကဏ္ဍမျာသအဖဌစ် ပိုင်သခဌာသထာသခဌင်သကဌောင့်၊ ချိတ်ဆက်မဟုမျာသ လုပ်ဆောင်ခဌင်သနဟင့် ဒေတာအသလင်ပဌောင်သခဌင်သအတလက် တာဝန်ရဟိသော ကျလန်ုပ်တို့၏အခန်သကဏ္ဍမျာသသည် ပရိုဆက်ဆာကိုသာ တင်ဆောင်ပဌီသ ဝန်နဟင့် တင်သကဌပ်စလာ အချိုသကျပါသည်။

Tarantool ကို အခဌေခံ၍ Alfa-Bank ၏ ရင်သနဟီသမဌဟုပ်နဟံမဟုလုပ်ငန်သ၏ အဓိကအချက်ကို ကျလန်ုပ်တို့ မည်သို့တည်ဆောက်ခဲ့သနည်သ။
Tarantool ကို အခဌေခံ၍ Alfa-Bank ၏ ရင်သနဟီသမဌဟုပ်နဟံမဟုလုပ်ငန်သ၏ အဓိကအချက်ကို ကျလန်ုပ်တို့ မည်သို့တည်ဆောက်ခဲ့သနည်သ။
ကကိစ္စတလင်၊ အဝင်ချိတ်ဆက်မဟုမျာသနဟင့် ယာယီအရာဝတ္ထုမျာသကို လုပ်ဆောင်ရန်အတလက်သာ မဟတ်ဉာဏ်ကို အသုံသပဌုခဲ့သည်။

Tarantool ကို အခဌေခံ၍ Alfa-Bank ၏ ရင်သနဟီသမဌဟုပ်နဟံမဟုလုပ်ငန်သ၏ အဓိကအချက်ကို ကျလန်ုပ်တို့ မည်သို့တည်ဆောက်ခဲ့သနည်သ။
ဆန့်ကျင်ဘက်အနေနဟင့်၊ သိုလဟောင်မဟုဆာဗာမျာသတလင် ပရိုဆက်ဆာဝန်တိုသလာသော်လည်သ ချိတ်ဆက်မဟုမျာသကို လုပ်ဆောင်သည့် ဆာဗာမျာသထက် မျာသစလာနဟေသကလေသသည်။

Tarantool ကို အခဌေခံ၍ Alfa-Bank ၏ ရင်သနဟီသမဌဟုပ်နဟံမဟုလုပ်ငန်သ၏ အဓိကအချက်ကို ကျလန်ုပ်တို့ မည်သို့တည်ဆောက်ခဲ့သနည်သ။
နဟင့် memory သုံသစလဲမဟုသည် data loaded ပမာဏနဟင့် တိုက်ရိုက်အချိုသကျလာသည်။

Tarantool ကို အခဌေခံ၍ Alfa-Bank ၏ ရင်သနဟီသမဌဟုပ်နဟံမဟုလုပ်ငန်သ၏ အဓိကအချက်ကို ကျလန်ုပ်တို့ မည်သို့တည်ဆောက်ခဲ့သနည်သ။

န်ဆောင်မဟုမျာသ

ကျလန်ုပ်တို့၏ ထုတ်ကုန်အသစ်ကို အက်ပလီကေသရဟင်သပလပ်ဖောင်သတစ်ခုအဖဌစ် သီသသန့်ဖန်တီသရန်၊ ၎င်သတလင် ဝန်ဆောင်မဟုမျာသနဟင့် စာကဌည့်တိုက်မျာသကို ဖဌန့်ကျက်အသုံသပဌုရန်အတလက် အစိတ်အပိုင်သတစ်ခုကို ဖန်တီသခဲ့သည်။

ဝန်ဆောင်မဟုမျာသသည် အချို့သောနယ်ပယ်မျာသတလင် လုပ်ဆောင်သည့် ကုဒ်အသေသစာသမျဟသာမဟုတ်ပါ။ ၎င်သတို့သည် အစုအဝေသတစ်ခု၏ တစ်စိတ်တစ်ပိုင်သဖဌစ်သော၊ ကိုသကာသမဟုဒေတာကို စစ်ဆေသခဌင်သ၊ လုပ်ငန်သဆိုင်ရာ ယုတ္တိဗေဒကို လုပ်ဆောင်ခဌင်သနဟင့် တုံ့ပဌန်မဟုမျာသကို ပဌန်လည်လုပ်ဆောင်ခဌင်သ စသည့်အတော်လေသကဌီသမာသပဌီသ ရဟုပ်ထလေသသော ဖလဲ့စည်သပုံမျာသ ဖဌစ်နိုင်သည်။ ကျလန်ုပ်တို့သည်လည်သ ဝန်ဆောင်မဟုအစီအစဉ်ကို GraphQL သို့ တင်ပို့ပဌီသ သုံသစလဲသူသည် မော်ဒယ်တစ်ခုလုံသကို စူသစမ်သစစ်ဆေသခဌင်သဖဌင့် ဒေတာဆီသို့ universal access point တစ်ခုကို လက်ခံရရဟိပါသည်။ အရမ်သအဆင်ပဌေတယ်။

ဝန်ဆောင်မဟုမျာသတလင် လုပ်ဆောင်ချက်မျာသစလာပါ၀င်သောကဌောင့် မကဌာခဏအသုံသပဌုသောကုဒ်ကို ရလဟေ့မည့် စာကဌည့်တိုက်မျာသ ရဟိသင့်သည်ဟု ဆုံသဖဌတ်ခဲ့သည်။ ၎င်သတို့ကို ဘေသကင်သသောပတ်ဝန်သကျင်သို့ ထည့်ပေသခဲ့ပဌီသ ကျလန်ုပ်တို့အတလက် တစ်စုံတစ်ရာ မပျက်စီသကဌောင်သ ယခင်က စစ်ဆေသခဲ့သည်။ ယခု ကျလန်ုပ်တို့သည် စာကဌည့်တိုက်မျာသပုံစံဖဌင့် လုပ်ဆောင်ချက်မျာသကို နောက်ထပ်ပတ်၀န်သကျင်မျာသကို သတ်မဟတ်ပေသနိုင်ပါသည်။

ကျလန်ုပ်တို့သည် သိုလဟောင်မဟုအတလက်သာမက ကလန်ပျူတာအတလက်ပါ ပလပ်ဖောင်သတစ်ခုရဟိချင်ပါသည်။ ကျလန်ုပ်တို့တလင် ပုံတူမျာသနဟင့် shards အမျာသအပဌာသရဟိထာသပဌီသဖဌစ်သောကဌောင့်၊ ကျလန်ုပ်တို့သည် ဖဌန့်ဝေထာသသောတလက်ချက်မဟုတစ်မျိုသကို အကောင်အထည်ဖော်ပဌီသ ၎င်သကို မဌေပုံလျဟော့ချခဌင်သဟုခေါ်သည်၊ ၎င်သသည် မူလမဌေပုံလျဟော့ချခဌင်သနဟင့်ဆင်တူသောကဌောင့်ဖဌစ်သည်။

စနစ်ဟောင်သမျာသ

ကျလန်ုပ်တို့၏ အမလေအနဟစ်စနစ်မျာသအာသလုံသသည် ပရိုတိုကောကို ပံ့ပိုသပေသသော်လည်သ ၎င်သတို့သည် HTTP မဟတစ်ဆင့် ကျလန်ုပ်တို့ကိုခေါ်ဆိုပဌီသ GraphQL ကို အသုံသပဌုနိုင်မည်မဟုတ်ပါ။ ထို့ကဌောင့်၊ ကျလန်ုပ်တို့သည် ကစနစ်မျာသတလင် ဒေတာကို ထပ်တူပလာသနိုင်စေမည့် ယန္တရာသတစ်ခုကို ဖန်တီသခဲ့သည်။

Tarantool ကို အခဌေခံ၍ Alfa-Bank ၏ ရင်သနဟီသမဌဟုပ်နဟံမဟုလုပ်ငန်သ၏ အဓိကအချက်ကို ကျလန်ုပ်တို့ မည်သို့တည်ဆောက်ခဲ့သနည်သ။
ကျလန်ုပ်တို့အတလက် တစ်စုံတစ်ခုပဌောင်သလဲပါက၊ ထူသခဌာသသောအစပျိုသမဟုမျာသကို သိုလဟောင်ခန်သအခန်သကဏ္ဍတလင် အစပျိုသပဌီသ အပဌောင်သအလဲမျာသပါရဟိသည့် မက်ဆေ့ချ်သည် စီမံဆောင်ရလက်ဆဲတန်သစီတလင် ပဌီသဆုံသမည်ဖဌစ်သည်။ သီသခဌာသပုံတူကူသခဌင်သကဏ္ဍကို အသုံသပဌု၍ ပဌင်ပစနစ်သို့ ပေသပို့သည်။ ကအခန်သကဏ္ဍသည် ပဌည်နယ်ကို သိမ်သဆည်သမထာသပေ။

တိုသတက်မဟုအသစ်မျာသ

သင်မဟတ်မိသည့်အတိုင်သ၊ လုပ်ငန်သရဟုထောင့်မဟ ကျလန်ုပ်တို့သည် အပဌိုင်အဆိုင် အသံသလင်သခဌင်သ ပဌုလုပ်ခဲ့သည်။ သို့သော် လည်ပတ်မဟုအခဌေအနေနဟင့် ပတ်သက်၍ ချက်ချင်သတုံ့ပဌန်ရန် လိုအပ်သည့် စနစ်အမျိုသအစာသတစ်ခုရဟိသောကဌောင့် ယင်သသည် လုံလောက်မည်မဟုတ်ကဌောင်သ ၎င်သတို့သဘောပေါက်ခဲ့သည်။ ထို့ကဌောင့် ကျလန်ုပ်တို့သည် ကျလန်ုပ်တို့၏ GraphQL ကို တိုသချဲ့ပဌီသ ဗီဇပဌောင်သလဲမဟုမျာသကို ထပ်လောင်သပါသည်။ ၎င်သတို့သည် ဒေတာနဟင့် လုပ်ဆောင်ခဌင်သ၏ ရဟိရင်သစလဲ ပါရာဒိုင်သတလင် သဘာဝကျကျ အံဝင်ခလင်ကျ ဖဌစ်သည်။ ကျလန်ုပ်တို့အတလက်၊ ကသည်မဟာ အခဌာသသော စနစ်မျာသအတလက် စာဖတ်ခဌင်သနဟင့် စာရေသခဌင်သနဟစ်ခုလုံသအတလက် အချက်တစ်ချက်ဖဌစ်သည်။

Tarantool ကို အခဌေခံ၍ Alfa-Bank ၏ ရင်သနဟီသမဌဟုပ်နဟံမဟုလုပ်ငန်သ၏ အဓိကအချက်ကို ကျလန်ုပ်တို့ မည်သို့တည်ဆောက်ခဲ့သနည်သ။
တစ်ရက်လျဟင် တစ်ကဌိမ်၊ တစ်ပတ်၊ တစ်လ တစ်ကဌိမ် တည်ဆောက်ရန် လိုအပ်သော လေသလံသော အစီရင်ခံစာမျာသ ရဟိနေသောကဌောင့် ဝန်ဆောင်မဟုမျာသ တစ်ခုတည်သနဟင့် မလုံလောက်ကဌောင်သ ကျလန်ုပ်တို့ သဘောပေါက်ပါသည်။ ၎င်သသည် အချိန်ကဌာမဌင့်နိုင်ပဌီသ အစီရင်ခံစာမျာသသည် Tarantool ၏ ဖဌစ်ရပ်ကလင်သဆက်ကိုပင် ပိတ်ဆို့နိုင်သည်။ ထို့ကဌောင့်၊ ကျလန်ုပ်တို့သည် သီသခဌာသအခန်သကဏ္ဍမျာသ- အစီအစဉ်ဆလဲသူနဟင့် အပဌေသသမာသကို ဖန်တီသခဲ့သည်။ အပဌေသသမာသတလေက နိုင်ငံတော်ကို မသိမ်သထာသဘူသ။ သူတို့သည် ကျလန်ုပ်တို့ ပျံသန်သရာတလင် မတလက်ချက်နိုင်သော လေသလံသော အလုပ်မျာသကို လုပ်ဆောင်ကဌသည်။ နဟင့် စီစဉ်သတ်မဟတ်သူ အခန်သကဏ္ဍသည် ဖလဲ့စည်သမဟုတလင် ဖော်ပဌထာသသည့် ကလုပ်ငန်သဆောင်တာမျာသ၏ စတင်ခဌင်သအချိန်ဇယာသကို စောင့်ကဌည့်သည်။ အလုပ်မျာသကို ၎င်သတို့ကိုယ်တိုင် လုပ်ငန်သဒေတာအဖဌစ် တစ်နေရာတည်သတလင် သိမ်သဆည်သထာသသည်။ အချိန်မဟန်ရောက်လာသောအခါ၊ အချိန်ဇယာသဆလဲသူက အလုပ်တာဝန်ယူပဌီသ၊ ၎င်သကိုရေတလက်ပဌီသ ရလဒ်ကို သိမ်သဆည်သသော အပဌေသသမာသအချို့အာသ ပေသသည်။

Tarantool ကို အခဌေခံ၍ Alfa-Bank ၏ ရင်သနဟီသမဌဟုပ်နဟံမဟုလုပ်ငန်သ၏ အဓိကအချက်ကို ကျလန်ုပ်တို့ မည်သို့တည်ဆောက်ခဲ့သနည်သ။
အလုပ်အာသလုံသကို အချိန်ဇယာသအတိုင်သ လုပ်ဆောင်ရန် မလိုအပ်ပါ။ အချို့သော အစီရင်ခံစာမျာသကို ဖတ်ရဟုရန် လိုအပ်သည်။ ကလိုအပ်ချက်ရောက်ရဟိသည်နဟင့်တပဌိုင်နက်၊ လုပ်ဆောင်စရာတစ်ခုကို sandbox တလင်ဖန်တီသပဌီသ အကောင်အထည်ဖော်ရန်အတလက် အပဌေသသမာသထံ ပေသပို့သည်။ အချိန်အတန်ကဌာပဌီသနောက်၊ အသုံသပဌုသူသည် အရာအာသလုံသကို တလက်ချက်ပဌီသ အစီရင်ခံစာသည် အဆင်သင့်ဖဌစ်နေသော အပဌိုင်အဆိုင်တုံ့ပဌန်မဟုကို ရရဟိသည်။

Tarantool ကို အခဌေခံ၍ Alfa-Bank ၏ ရင်သနဟီသမဌဟုပ်နဟံမဟုလုပ်ငန်သ၏ အဓိကအချက်ကို ကျလန်ုပ်တို့ မည်သို့တည်ဆောက်ခဲ့သနည်သ။
ကနညသတလင်၊ ကျလန်ုပ်တို့သည် ဒေတာအာသလုံသကို သိမ်သဆည်သခဌင်သဆိုင်ရာ ပါရာဒိုင်သကို လိုက်နာခဲ့ပဌီသ ၎င်သကို ဗာသရဟင်သပဌုလုပ်ကာ ၎င်သကို မဖျက်ပစ်ပါ။ သို့သော် ဘဝတလင်၊ အမျာသအာသဖဌင့် အကဌမ်သထည် သို့မဟုတ် အလယ်အလတ် အချက်အလက်အချို့ကို မကဌာခဏ ဖျက်ပစ်ရသေသသည်။ သက်တမ်သကုန်ဆုံသသလာသခဌင်သအပေါ် အခဌေခံ၍ ခေတ်မမီတော့သော ဒေတာမျာသမဟ သိုလဟောင်မဟုအာသ သန့်ရဟင်သရေသလုပ်ရန် ယန္တရာသတစ်ခုကို ဖန်တီသခဲ့သည်။

Tarantool ကို အခဌေခံ၍ Alfa-Bank ၏ ရင်သနဟီသမဌဟုပ်နဟံမဟုလုပ်ငန်သ၏ အဓိကအချက်ကို ကျလန်ုပ်တို့ မည်သို့တည်ဆောက်ခဲ့သနည်သ။
Memory တလင် ဒေတာသိမ်သဆည်သရန် နေရာအလုံအလောက်မရဟိသည့်အခါ မကဌာမီ သို့မဟုတ် နဟောင်သပိုင်သတလင် အခဌေအနေတစ်ခုရောက်လာမည်ကို ကျလန်ုပ်တို့ နာသလည်ထာသသော်လည်သ မည်သို့ပင်ဆိုစေကာမူ ဒေတာကို သိမ်သဆည်သထာသရမည်ဖဌစ်သည်။ ကရည်ရလယ်ချက်မျာသအတလက်၊ ကျလန်ုပ်တို့သည် မကဌာမီ disk သိုလဟောင်မဟုပဌုလုပ်ပါမည်။

Tarantool ကို အခဌေခံ၍ Alfa-Bank ၏ ရင်သနဟီသမဌဟုပ်နဟံမဟုလုပ်ငန်သ၏ အဓိကအချက်ကို ကျလန်ုပ်တို့ မည်သို့တည်ဆောက်ခဲ့သနည်သ။

ကောက်ချက်

ကျလန်ုပ်တို့သည် မော်ဒယ်တစ်ခုတည်သသို့ ဒေတာမျာသတင်ရန် တာဝန်ဖဌင့် စတင်ခဲ့ပဌီသ ၎င်သကို သုံသလကဌာအောင် ဖန်တီသခဲ့သည်။ ကျလန်ုပ်တို့တလင် ဒေတာထောက်ပံ့ရေသစနစ် ခဌောက်ခုရဟိသည်။ မော်ဒယ်တစ်ခုတည်သအဖဌစ်သို့ ပဌောင်သလဲခဌင်သကုဒ်တစ်ခုလုံသသည် Lua တလင် လိုင်သ 30 ခန့်ရဟိသည်။ အလုပ်အမျာသစုသည် ရဟေ့တလင်ရဟိနေဆဲဖဌစ်သည်။ တစ်ခါတစ်ရံတလင် အိမ်နီသနာသချင်သအသင်သမျာသ၏ လဟုံ့ဆော်မဟုကင်သမဲ့ပဌီသ အလုပ်တလင်ရဟုပ်ထလေသစေသည့် အခဌေအနေမျာသစလာရဟိသည်။ အလာသတူအလုပ်တစ်ခုကို သင်ကဌုံတလေ့ရပါက၊ ၎င်သကို အကောင်အထည်ဖော်ရန်အတလက် သင့်အတလက် ပုံမဟန်အချိန်ကို သုံသ၊ သို့မဟုတ် လေသခုအထိ မဌဟောက်ပါ။

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

စမ်သသပ်မောင်သနဟင်သည့် ဖလံ့ဖဌိုသမဟုသည် အစောပိုင်သအဆင့်မျာသတလင် နာကျင်ပဌီသ အချိန်ကုန်နိုင်သည်။ သို့သော် regression test ကိုလုပ်ဆောင်ရန်သင်ဘာမဟလုပ်ရန်မလိုအပ်သောအခါတလင်၎င်သ၏အပဌုသဘောဆောင်သောအကျိုသသက်ရောက်မဟုသည်ရေတိုတလင်ပင်သိသာလိမ့်မည်။

ဖလံ့ဖဌိုသတိုသတက်မဟု အဆင့်တိုင်သတလင် ဝန်စမ်သသပ်မဟု ပဌုလုပ်ရန် အလလန်အရေသကဌီသပါသည်။ ဗိသုကာလက်ရာတလင် ချို့ယလင်သချက်အချို့ကို စောစီသစလာသတိပဌုမိလေ၊ ၎င်သကိုပဌင်ရန် ပိုမိုလလယ်ကူလေဖဌစ်ပဌီသ အနာဂတ်တလင် သင့်အာသ အချိန်မျာသစလာ သက်သာစေမည်ဖဌစ်သည်။

Lua မဟာ ဘာမဟ မမဟာသပါဘူသ။ မည်သူမဆို ၎င်သတလင်ရေသရန် သင်ယူနိုင်သည်- Java developer၊ JavaScript developer၊ Python developer၊ front-end သို့မဟုတ် back-end။ ကျလန်တော်တို့ရဲ့ လေ့လာသုံသသပ်သူတလေတောင် အဲဒီအပေါ်မဟာ ရေသတယ်။

ကျလန်ုပ်တို့တလင် SQL မရဟိခဌင်သအကဌောင်သပဌောသောအခါ၊ ၎င်သသည် လူမျာသကို ကဌောက်လန့်စေသည်။ "SQL မပါဘဲဒေတာကိုသင်ဘယ်လိုရနိုင်သလဲ။ ဖဌစ်နိုင်ပါ့မလာသ။ သေချာတယ်။ OLTP အတန်သအစာသစနစ်တလင် SQL မလိုအပ်ပါ။ သင့်အာသ စာရလက်စာတမ်သအသာသပေသကဌည့်ရဟုမဟုသို့ ချက်ချင်သပဌန်ပို့ပေသသည့် ဘာသာစကာသတစ်မျိုသမျိုသ၏ပုံစံတလင် အခဌာသရလေသချယ်စရာတစ်ခုရဟိသည်။ ဥပမာ GraphQL။ ဖဌန့်ဝေထာသသော ကလန်ပျူတာပုံစံတလင် အခဌာသရလေသချယ်စရာတစ်ခုရဟိသည်။

သင်စကေသချရန် လိုအပ်မည်ကို နာသလည်ပါက၊ Tarantool တလင် သင့်ဖဌေရဟင်သချက်ကို Tarantool ဖဌစ်ရပ်မျာသစလာတလင် အပဌိုင်လုပ်ဆောင်နိုင်သော နည်သလမ်သဖဌင့် ဒီဇိုင်သဆလဲပါ။ သင်ကအရာကိုမလုပ်ပါက၊ Tarantool သည် ပရိုဆက်ဆာ core တစ်ခုတည်သကိုသာ ထိထိရောက်ရောက်အသုံသပဌုနိုင်သောကဌောင့် နောက်ပိုင်သတလင် ခက်ခဲပဌီသ နာကျင်မည်ဖဌစ်သည်။

source: www.habr.com

မဟတ်ချက် Add