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

အာသလုံသမင်္ဂလာပါ။ Vladislav Rodin က ဆက်သလယ်နေပါတယ်။ ကျလန်ုပ်သည် OTUS တလင် High Workload Architect သင်တန်သအတလက် Course Leader ဖဌစ်ပဌီသ Software Architect သင်တန်သမျာသကိုလည်သ သင်ကဌာသပေသပါသည်။

သင်ကဌာသခဌင်သအပဌင်၊ သင်သတိပဌုမိသည့်အတိုင်သ၊ ကျလန်ုပ်သည် Habré တလင် OTUS ဘလော့ဂ်အတလက် မူရင်သအကဌောင်သအရာကို ရေသနေပဌီသ သင်တန်သစဖလင့်ချိန်နဟင့် တိုက်ဆိုင်စေရန် ယနေ့ဆောင်သပါသနဟင့် တိုက်ဆိုင်လိုပါသည်။ "PostgreSQL"အခုပဲ စာရင်သသလင်သဖို့ ဖလင့်ထာသပါတယ်။

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

နိဒါန်သ

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

သီသခဌာသထာသခဌင်သ

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

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

ညစ်ပတ်ရေသ

ကလဲလလဲချက်၏ အနဟစ်သာရမဟာ ငလေပေသငလေယူမျာသသည် ခလင့်မပဌုထာသသော အချက်အလက်မျာသကို ထပ်ရေသနိုင်သည် ။

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

ကကလဲလလဲချက်သည် အရောင်သအဝယ်နဟစ်ခုစလုံသကို ကျူသလလန်ပဌီသနောက် (ပုံပါအတိုင်သ) ဒေတာသည် ပဋိပက္ခဖဌစ်နိုင်ရုံသာမက အနုမဌူဓာတ်ကို ချိုသဖောက်ခဌင်သကဌောင့်လည်သ ဖဌစ်နိုင်သည်- ကျလန်ုပ်တို့သည် ကတိက၀တ်မပဌုထာသသော အချက်အလက်မျာသကို ထပ်ရေသခလင့်ပဌုထာသသောကဌောင့်၊ အခဌာသငလေပေသငလေယူတစ်ခုအာသ မထိခိုက်စေဘဲ မည်သို့ပဌန်လဟည့်ရမည်ကို ရဟင်သရဟင်သလင်သလင်သမသိရသေသပါ။ .

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

ညစ်ပတ်တယ်

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

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

နမူနာကို အခဌေခံ၍ လုပ်ဆောင်ချက်မျာသ သို့မဟုတ် ဆုံသဖဌတ်ချက်မျာသ ချမဟတ်ရန် လိုအပ်သည့်အခါ ပဌဿနာမျာသ ဖဌစ်ပေါ်လာပါသည်။

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

မလမ်သမံမဟု ပျောက်ဆုံသသလာသခဲ့သည်။

ပျောက်ဆုံသနေသောအပ်ဒိတ်ဆိုသည်မဟာ ပျောက်ဆုံသနေသောအပ်ဒိတ်မျာသကို ဆိုလိုပဌီသ ဘာသာပဌန်ချက်သည် ပဌဿနာ၏အနဟစ်သာရကို တိကျစလာထင်ဟပ်စေသည်-

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

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

ကာဆာ အပ်ဒိတ် ပျောက်ဆုံသသလာသသည်

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

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

ထပ်ခါတလဲလဲ မဖတ်နိုင်ပါ။

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

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

ဒါက ဘာ့ကဌောင့် ပဌဿနာဖဌစ်တာလဲ။ ပုံတလင်ရဟိသော ငလေပေသငလေယူ T2 ၏ပန်သတိုင်မဟာ USD 150 အောက်ရဟိသော ကုန်ပစ္စည်သအာသလုံသကို ရလေသချယ်ရန်ဖဌစ်သည်ကို စိတ်ကူသကဌည့်ပါ။ တစ်စုံတစ်ယောက်က စျေသနဟုန်သကို $200 သို့ အပ်ဒိတ်လုပ်ခဲ့သည်။ ထို့ကဌောင့် ထည့်သလင်သထာသသော filter သည် အလုပ်မလုပ်ပါ။

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

Phantom ဖတ်တယ်။

Phantom သည် အခဌာသငလေပေသငလေယူဖဌင့် ထည့်ထာသသည့် ဒေတာဖတ်ခဌင်သတစ်ခုဖဌစ်သည်။

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

ဥပမာအနေဖဌင့်၊ ကပုံသဏ္ဍာန်ဖဌစ်ပေါ်သောအခါတလင်၊ ကျလန်ုပ်တို့သည် ဈေသအသက်သာဆုံသထုတ်ကုန်၏ မဟာသယလင်သသောရလေသချယ်မဟုကို ကဌည့်ရဟုနိုင်ပါသည်။

phantom reads တလေကို ဖယ်ရဟာသဖို့က တော်တော်ခက်ခဲနေပါပဌီ။ မရဟိသေသသောအရာကို ကျလန်ုပ်တို့ မပိတ်ဆို့နိုင်သောကဌောင့် ပုံမဟန်ပိတ်ဆို့ခဌင်သသည် မလုံလောက်ပါ။ 2PL စနစ်မျာသသည် ကဌိုတင်ခန့်မဟန်သသော လော့ခ်ချခဌင်သကို အသုံသပဌုပဌီသ MVCC စနစ်မျာသတလင် ထည့်သလင်သခဌင်သဖဌင့် အနဟောင့်အယဟက်ဖဌစ်နိုင်သော ငလေပေသငလေယူမျာသကို ပဌန်လဟည့်ပေသသည့် ငလေပေသငလေယူအချိန်ဇယာသတစ်ခု ရဟိသည်။ ပထမနဟင့် ဒုတိယ ယန္တရာသနဟစ်ခုလုံသသည် အလလန်လေသလံပါသည်။

စောင်သဖတ်

ကျလန်ုပ်တို့သည် ဇယာသမျာသစလာဖဌင့် အလုပ်လုပ်သောအခါတလင် ဖတ်ရန်စဲသလာသခဌင်သ ဖဌစ်ပေါ်ပဌီသ အကဌောင်သအရာမျာသကို တသမတ်တည်သ ပဌောင်သလဲရမည်ဖဌစ်သည်။

ကျလန်ုပ်တို့တလင် ပို့စ်မျာသနဟင့် ၎င်သတို့၏ မက်တာအချက်အလက်ကို ကိုယ်စာသပဌုသည့် ဇယာသမျာသရဟိသည် ဆိုကဌပါစို့။

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

ငလေပေသငလေယူတစ်ခုသည် ဇယာသမျာသမဟဖတ်သည်၊ အခဌာသတစ်ခုက ၎င်သတို့ကို ပဌင်ဆင်သည်-

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

ငလေပေသငလေယူ T1 ၏ရလဒ်အနေဖဌင့်၊ ပို့စ်တလင် ခေါင်သစဉ် = Good နဟင့် updated_by = T2 ရဟိပဌီသ၊ ၎င်သမဟာ ကလဲလလဲမဟုတစ်မျိုသဖဌစ်သည်။

တကယ်တော့၊ ဒါက ထပ်တလဲလဲဖတ်လို့မရပေမယ့် ဇယာသတော်တော်မျာသမျာသရဲ့ တစ်စိတ်တစ်ပိုင်သပါ။

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

လိမ်ရေသပါ။

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

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

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

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

ကသည်မဟာ ထပ်ခါတလဲလဲ မဖတ်နိုင်သော အတူတူပင်။ တနည်သအာသဖဌင့် ရလေသချယ်မဟုမျာသသည် ကမဟတ်တမ်သမျာသတလင် လော့ခ်ချနိုင်သည်။

skew နဟင့် read skew တို့သည် ယခင်ကလဲလလဲချက်မျာသ၏ ပေါင်သစပ်မဟုမျာသဖဌစ်သည်။ အခဌေခံအာသဖဌင့် phantom read ဖဌစ်သည့် write skew ကို သင်စဉ်သစာသနိုင်သည်။ ဝန်ထမ်သမျာသ၏အမည်မျာသ၊ ၎င်သတို့၏လစာမျာသနဟင့် ၎င်သတို့လုပ်ဆောင်နေသော ပရောဂျက်မျာသပါရဟိသော ဇယာသကို သုံသသပ်ကဌည့်ပါ-

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

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

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

ပဌဿနာရဲ့ အကဌောင်သရင်သက phantom reading နဲ့ အတူတူပါပဲ။

တလေ့ရဟိချက်မျာသ

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

သင်တန်သအကဌောင်သပိုမိုလေ့လာပါ။

source: www.habr.com

မဟတ်ချက် Add