21 ရာစုတလင် SQL ဒေတာဘေ့စ်ကို ရဟင်သန်နိုင်ပုံ- clouds၊ Kubernetes နဟင့် PostgreSQL multimaster

မင်္ဂလာပါ Khabrovsk နေထိုင်သူမျာသ။ သင်တန်သ၏ပထမအုပ်စုမဟအတန်သမျာသကိုယနေ့စတင်သည်။ "PostgreSQL". ဒီကိစ္စနဲ့ ပတ်သက်ပဌီသတော့ ဒီသင်တန်သမဟာ ဖလင့်လဟစ်တဲ့ webinar က ဘယ်လိုဖဌစ်ခဲ့တာလဲဆိုတာ ပဌောပဌပေသချင်ပါတယ်။

21 ရာစုတလင် SQL ဒေတာဘေ့စ်ကို ရဟင်သန်နိုင်ပုံ- clouds၊ Kubernetes နဟင့် PostgreSQL multimaster

В နောက်ဖလင့်သင်ခန်သစာ Cloud နဟင့် Kubernetes ခေတ်တလင် SQL ဒေတာဘေ့စ်မျာသ ရင်ဆိုင်နေရသော စိန်ခေါ်မဟုမျာသအကဌောင်သ ကျလန်ုပ်တို့ပဌောခဲ့သည်။ တစ်ချိန်တည်သမဟာပင်၊ ကစိန်ခေါ်မဟုမျာသ၏လလဟမ်သမိုသမဟုအောက်တလင် SQL ဒေတာဘေ့စ်မျာသ လိုက်လျောညီထလေဖဌစ်အောင် မည်သို့ပဌောင်သလဲသလာသသည်ကို ကျလန်ုပ်တို့ ကဌည့်ရဟုခဲ့ကဌသည်။

webinar ကျင်သပခဲ့ပါသည်။ Valery BezrukovEPAM စနစ်မျာသရဟိ Google Cloud Practice Delivery Manager။

သစ်ပင်လေသတလေ ငယ်တုန်သက...

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

21 ရာစုတလင် SQL ဒေတာဘေ့စ်ကို ရဟင်သန်နိုင်ပုံ- clouds၊ Kubernetes နဟင့် PostgreSQL multimaster

90s နဟောင်သပိုင်သနဟင့် 2 ခုနဟစ်အစောပိုင်သမျာသတလင်၊ စက်မဟုလုပ်ငန်သသုံသ အရလယ်တင်နိုင်သော ဒေတာဘေ့စ်မျာသနဟင့်ပတ်သက်လာလျဟင် အဓိကအာသဖဌင့် ရလေသချယ်စရာမရဟိပေ။ ဟုတ်ကဲ့၊ IBM DBXNUMX၊ Sybase နဲ့ အခဌာသဒေတာဘေ့စ်အချို့ ပါ၀င်လာပေမယ့် ယေဘုယျအာသဖဌင့်တော့ Oracle ရဲ့ နောက်ခံကို သိပ်မသိသာပါဘူသ။ ထို့ကဌောင့်၊ ထိုခေတ်က အင်ဂျင်နီယာမျာသ၏ ကျလမ်သကျင်မဟုသည် ရဟိနဟင့်သော တစ်ခုတည်သသော ရလေသချယ်မဟုနဟင့် ဆက်စပ်နေပါသည်။

Oracle DBA လုပ်နိုင်ရမည်-

  • ဖဌန့်ချီရေသကိရိယာမဟ Oracle ဆာဗာကို ထည့်သလင်သပါ။
  • Oracle ဆာဗာကို စီစဉ်သတ်မဟတ်ပါ-

  • init.ora;
  • listener.ora;

- ဖန်တီသ:

  • စာသပလဲနေရာမျာသ
  • အစီအစဉ်;
  • အသုံသပဌုသူမျာသ;

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

တစ်ချိန်တည်သမဟာပင်၊ Oracle DBA မဟ အထူသလိုအပ်ချက်မရဟိပါ။

  • ဒေတာသိမ်သဆည်သခဌင်သနဟင့် လုပ်ဆောင်ခဌင်သအတလက် အကောင်သဆုံသ DBMS သို့မဟုတ် အခဌာသနည်သပညာကို ရလေသချယ်နိုင်ခဌင်သ၊
  • မဌင့်မာသသောရရဟိနိုင်မဟုနဟင့် အလျာသလိုက် အတိုင်သအတာကို ပံ့ပိုသပေသသည် (၎င်သသည် အမဌဲတမ်သ DBA ပဌဿနာမဟုတ်ပါ);
  • ဘာသာရပ်နယ်ပယ်၊ အခဌေခံအဆောက်အအုံ၊ အပလီကေသရဟင်သဗိသုကာ၊ OS၊
  • ဒေတာကို ဆလဲချပဌီသ ဖဌုတ်ပါ၊ မတူညီသော DBMS မျာသအကဌာသ ဒေတာကို ရလဟေ့ပဌောင်သပါ။

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

21 ရာစုတလင် SQL ဒေတာဘေ့စ်ကို ရဟင်သန်နိုင်ပုံ- clouds၊ Kubernetes နဟင့် PostgreSQL multimaster

ကျလန်တော်တို့ရဲ့အချိန်

ထိုအချိန်မဟစ၍ သစ်ပင်မျာသ ကဌီသထလာသလာပဌီသ ကမ္ဘာကဌီသသည် ပဌောင်သလဲလာကာ ကကဲ့သို့ ဖဌစ်လာခဲ့သည် ။

21 ရာစုတလင် SQL ဒေတာဘေ့စ်ကို ရဟင်သန်နိုင်ပုံ- clouds၊ Kubernetes နဟင့် PostgreSQL multimaster

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

21 ရာစုတလင် SQL ဒေတာဘေ့စ်ကို ရဟင်သန်နိုင်ပုံ- clouds၊ Kubernetes နဟင့် PostgreSQL multimaster

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

  1. ဖောက်သည်အမျာသအပဌာသသည် cloud သို့ အပလီကေသရဟင်သမျာသကို ရလဟေ့ရန် လမ်သကဌောင်သပေါ်တလင် ရဟိနေကဌသည်။
  2. နည်သပညာအသစ်မျာသသည် cloud တလင်ပထမဆုံသပေါ်လာပဌီသ ၎င်သတို့သည် cloud မဟုတ်သောအခဌေခံအဆောက်အအုံသို့ဘယ်တော့မဟပဌောင်သရလဟေ့မည်မဟုတ်သည့်အချက်မဟုတ်ပါ။
  3. ပေသဆောင်ရသည့်အတိုင်သ စျေသနဟုန်သသတ်မဟတ်မဟုပုံစံသည် သာမန်ဖဌစ်ရိုသဖဌစ်စဉ်တစ်ခုဖဌစ်သည်။ လူတိုင်သသည် ၎င်သတို့အသုံသပဌုသည့်အရာအတလက်သာ ပေသချေလိုကဌပဌီသ ယင်သသည် ခေတ်ရေစီသကဌောင်သတစ်ခုပင်မဟုတ်၊ သို့သော် ရိုသရိုသရဟင်သရဟင်သဖော်ပဌချက်တစ်ခုဖဌစ်သည်။

အခု ဘာလဲ?

ယနေ့ကျလန်ုပ်တို့အာသလုံသ တိမ်တိုက်ထဲတလင်ရဟိနေပါသည်။ ပဌီသတော့ ကျလန်တော်တို့အတလက် ဖဌစ်ပေါ်လာတဲ့ မေသခလန်သတလေက ရလေသချယ်စရာ မေသခလန်သတလေပါ။ On-premises ဖော်မတ်တလင် DBMS နည်သပညာမျာသ ရလေသချယ်မဟုအကဌောင်သသာ ပဌောလျဟင်ပင် ၎င်သသည် ကဌီသမာသသည်။ ကျလန်ုပ်တို့တလင် စီမံခန့်ခလဲထာသသော ဝန်ဆောင်မဟုမျာသနဟင့် SaaS လည်သရဟိသည်။ ထို့ကဌောင့် ရလေသချယ်မဟုသည် တစ်နဟစ်ထက်တစ်နဟစ် ပိုခက်ခဲလာသည်။

ရလေသချယ်စရာမေသခလန်သမျာသနဟင့်အတူ ၊ ကန့်သတ်အချက်မျာသ:

  • စဌေသ. နည်သပညာမျာသစလာသည် ငလေကဌေသကုန်ကျဆဲ၊
  • ကျလမ်သကျင်မဟု. အခမဲ့ဆော့ဖ်ဝဲလ်အကဌောင်သပဌောရင်၊ အခမဲ့ဆော့ဖ်ဝဲကို အသုံသချပဌီသ လည်ပတ်သူတလေဆီကနေ လုံလောက်တဲ့ အရည်အချင်သတလေ လိုအပ်တာကဌောင့် ကျလမ်သကျင်မဟုဆိုင်ရာ မေသခလန်သထုတ်စရာ ဖဌစ်လာပါတယ်။
  • အလုပ်လုပ်တဲ့. Cloud တလင်ရရဟိနိုင်ပဌီသတည်ဆောက်ထာသသောဝန်ဆောင်မဟုမျာသအာသလုံသမဟုတ်ပါ၊ တူညီသော Postgres တလင်ပင် Postgres On-premises ကဲ့သို့တူညီသောအင်္ဂါရပ်မျာသရဟိသည်။ ကအချက်သည် သိနာသလည်ရန် အရေသကဌီသသော အချက်ဖဌစ်သည်။ ထို့အပဌင်၊ ကအချက်သည် DBMS တစ်ခုတည်သ၏ လျဟို့ဝဟက်လုပ်ဆောင်နိုင်မဟုအချို့ကို သိရဟိခဌင်သထက် ပိုအရေသကဌီသပါသည်။

DA/DE မဟ ယခုမျဟော်လင့်ထာသသည်မျာသ-

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

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

21 ရာစုတလင် SQL ဒေတာဘေ့စ်ကို ရဟင်သန်နိုင်ပုံ- clouds၊ Kubernetes နဟင့် PostgreSQL multimaster

PostgreSQL သည် schema တလင်မပါဝင်ပါ၊ ၎င်သသည် ဝေါဟာရအသုံသအနဟုန်သအောက်တလင် ဝဟက်ထာသသောကဌောင့်ဖဌစ်သည်။ Cloud SQL. ကျလန်ုပ်တို့သည် Cloud SQL သို့ရောက်သောအခါ၊ ကျလန်ုပ်တို့သည် ထပ်မံရလေသချယ်ရန် လိုအပ်သည်-

21 ရာစုတလင် SQL ဒေတာဘေ့စ်ကို ရဟင်သန်နိုင်ပုံ- clouds၊ Kubernetes နဟင့် PostgreSQL multimaster

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

စုစုပေါင်သ:

  1. သင်ပိုသလာသလေလေ၊ ရလေသချယ်မဟုမေသခလန်သကို ဖိလေလေ ဖဌစ်လာလေပါပဲ။ GCP၊ စီမံခန့်ခလဲထာသသော ဝန်ဆောင်မဟုမျာသနဟင့် SaaS တို့ကိုသာ ကဌည့်လျဟင်ပင် RDBMS ၏ ဖော်ပဌချက်အချို့သည် 4th အဆင့်တလင်သာ တလေ့ရသည် (ထိုနေရာတလင် Spanner အနီသတလင် ရဟိနေသည်)။ ထို့အပဌင် PostgreSQL ၏ရလေသချယ်မဟုသည် 5th အဆင့်တလင်ပေါ်လာပဌီသ၎င်သ၏ဘေသတလင် MySQL နဟင့် SQL Server၊ အရာအာသလုံသအမျာသကဌီသရဟိပါတယ်, ဒါပေမယ့်သင်ရလေသချယ်ဖို့လိုအပ်ပါတယ်။.
  2. စုံစမ်သနဟောင့်ယဟက်မဟုမျာသ၏ နောက်ကလယ်တလင် ကန့်သတ်ချုပ်ချယ်မဟုမျာသကို ကျလန်ုပ်တို့ မမေ့သင့်ပါ။ အခဌေခံအာသဖဌင့် လူတိုင်သသည် Spanner ကိုလိုချင်ကဌသော်လည်သ ၎င်သသည် စျေသကဌီသသည်။ ရလဒ်အနေနဟင့်၊ ပုံမဟန်တောင်သဆိုချက်တစ်ခုသည် ကကဲ့သို့သောအရာဖဌစ်သည်- "ကျေသဇူသပဌုပဌီသ ငါတို့ကို Spanner ဖဌစ်အောင်လုပ်ပေသပါ၊ ဒါပေမယ့် Cloud SQL ရဲ့စျေသနဟုန်သအတလက်၊ မင်သဟာ ပရော်ဖက်ရဟင်နယ်တလေပါပဲ။"

21 ရာစုတလင် SQL ဒေတာဘေ့စ်ကို ရဟင်သန်နိုင်ပုံ- clouds၊ Kubernetes နဟင့် PostgreSQL multimaster

ကျလန်ုပ်တို့ ဘာလုပ်သင့်သနည်သ။

အဆုံသစလန်သော အမဟန်တရာသဟု မပဌောဆိုဘဲ အောက်ပါအတိုင်သ ဆိုကဌပါစို့။

ကျလန်ုပ်တို့၏ သင်ယူမဟုချဉ်သကပ်ပုံကို ပဌောင်သလဲရန် လိုအပ်သည်-

  • ယခင်က DBA သင်ကဌာသပုံ သင်ကဌာသရာတလင် အရေသမကဌီသပါ။
  • ထုတ်ကုန်တစ်ခု၏အသိပညာသည် မလုံလောက်တော့ပါ။
  • ဒါပေမယ့် အဆင့်တစ်ဆင့်မဟာ ဒါဇင်တလေကို သိဖို့ဆိုတာ မဖဌစ်နိုင်ပါဘူသ။

ထုတ်ကုန်ဘယ်လောက်ရဟိတယ်ဆိုတာသာမကဘဲ၊

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

သင်သည် ဒေတာကို ရလဟေ့ပဌောင်သနိုင်ပဌီသ ETL နဟင့် ပေါင်သစည်သခဌင်သ၏ အခဌေခံမူမျာသကို နာသလည်ရန်လည်သ လိုအပ်ပါသည်။

ဖဌစ်ရပ်မဟန်

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

  • CI/CD တည်ဆောက်ခဌင်သ၊
  • ဗိသုကာလက်ရာကို ပဌန်လည်သုံသသပ်ပါ။
  • အာသလုံသကို လည်ပတ်စေပါသည်။

အပလီကေသရဟင်သကိုယ်တိုင်က မိုက်ခရိုဝန်ဆောင်မဟုမျာသဖဌစ်ပဌီသ Python/Django ကုဒ်ကို အစမဟအဆုံသ ဖန်တီသပဌီသ GCP တလင် တိုက်ရိုက်ဖန်တီသထာသသည်။ ပစ်မဟတ်ပရိသတ်အတလက်၊ US နဟင့် EU ဒေသနဟစ်ခုရဟိမည်ဟု ယူဆရပဌီသ Global Load Balancer မဟတစ်ဆင့် လမ်သကဌောင်သမျာသကို ဖဌန့်ဝေခဲ့သည်။ Workloads နဟင့် compute workload မျာသအာသလုံသသည် Google Kubernetes Engine တလင် အလုပ်လုပ်ပါသည်။

အချက်အလက်အရ၊ ဖလဲ့စည်သပုံ (၃) ခု ရဟိတယ်။

  • တိမ်တိုက်သိုလဟောင်မဟု;
  • Datastore;
  • Cloud SQL (PostgreSQL)။

21 ရာစုတလင် SQL ဒေတာဘေ့စ်ကို ရဟင်သန်နိုင်ပုံ- clouds၊ Kubernetes နဟင့် PostgreSQL multimaster

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

ကျလန်ုပ်တို့၏ကိစ္စရပ်နဟင့်ပတ်သက်၍၊ Cloud SQL အာသ အောက်ပါအကဌောင်သပဌချက်မျာသဖဌင့် ရလေသချယ်ခဲ့သည်-

  1. ဖော်ပဌခဲ့သည့်အတိုင်သ၊ အပလီကေသရဟင်သကို Django ကိုအသုံသပဌု၍ တီထလင်ထာသခဌင်သဖဌစ်ပဌီသ ၎င်သတလင် SQL ဒေတာဘေ့စ်မဟ Python အရာဝတ္ထုမျာသ (Django ORM) သို့ ဆက်တိုက်ဒေတာကို ပုံဖော်ခဌင်သပုံစံတစ်ခုပါရဟိသည်။
  2. မူဘောင်ကိုယ်တိုင်က DBMS ၏ မျဟတသော ကန့်သတ်စာရင်သကို ပံ့ပိုသပေသသည်-

  • PostgreSQL;
  • MariaDB;
  • MySQL;
  • ကယ်လ်;
  • SQLite ။

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

ဘာတလေ လလဲနေလဲ

  • အပလီကေသရဟင်သကို ဒေသ ၂ ခုတလင်သာ ဖဌန့်ကျက်ထာသပဌီသ တတိယတစ်ခုသည် အစီအစဉ်မျာသ (အာရဟ) တလင် ပေါ်လာသည်။
  • ဒေတာဘေ့စ်သည် မဌောက်အမေရိကဒေသ (အိုင်အိုဝါ) တလင် တည်ရဟိသည်။
  • ဖောက်သည်ဘက်မဟဖဌစ်နိုင်သည်နဟင့် ပတ်သက်၍ စိုသရိမ်မဟုမျာသရဟိခဲ့သည်။ ဝင်ရောက်ရန်နဟောင့်နဟေသခဌင်သ။ ဥရောပနဟင့် အာရဟတို့မဟ လည်သကောင်သ၊ အနဟောင့်အယဟက်မျာသ ဝန်ဆောင်မဟု DBMS စက်ရပ်နေချိန်။

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

အခက်အခဲမဟာ သုံသစလဲသူသည် စီမံခန့်ခလဲထာသသော ဝန်ဆောင်မဟုမျာသနဟင့် Cloud SQL ကို အသုံသပဌု၍ အရဟုံသမပေသလိုခဌင်သ ဖဌစ်သည်။ ပဌီသတော့ Cloud SQL ရဲ့ လုပ်ဆောင်နိုင်စလမ်သတလေက လက်ရဟိမဟာ အကန့်အသတ်ရဟိပါတယ်။ Cloud SQL သည် မဌင့်မာသသောရရဟိနိုင်မဟု (HA) နဟင့် Read Replica (RR) ကို ပံ့ပိုသပေသသော်လည်သ တူညီသော RR ကို ဒေသတစ်ခုတလင်သာ ပံ့ပိုသထာသသည်။ အမေရိကဒေသတလင် ဒေတာဘေ့စ်တစ်ခုဖန်တီသပဌီသပါက၊ Postgres ကိုယ်တိုင်က သင့်အာသ ၎င်သလုပ်ဆောင်ရန် မတာသဆီသထာသသော်လည်သ Cloud SQL ကို အသုံသပဌု၍ ဥရောပဒေသတလင် ဖတ်ရဟုပုံတူကို သင်ပဌုလုပ်၍မရပါ။ Google ဝန်ထမ်သမျာသနဟင့် စာပေသစာယူသည် မည်သည့်နေရာမဟ မရောက်ဘဲ "ပဌဿနာကို ကျလန်ုပ်တို့သိပဌီသ ၎င်သကို လုပ်ဆောင်နေပါသည်၊ တစ်နေ့နေ့တလင် ပဌဿနာပဌေလည်သလာသမည်" ဟု ကတိမျာသပေသထာသသည့်ပုံစံဖဌင့် အဆုံသသတ်ခဲ့သည်။

ကျလန်ုပ်တို့သည် Cloud SQL ၏စလမ်သရည်မျာသကို အတိုချုံသဖော်ပဌပါက၊ ၎င်သသည် ကကဲ့သို့သောပုံစံဖဌစ်လိမ့်မည်-

1. မဌင့်မာသသောရရဟိနိုင်မဟု (HA):

  • ဒေသတစ်ခုအတလင်သ၊
  • ဒစ်ခ်ပုံတူခဌင်သမဟတဆင့်;
  • PostgreSQL အင်ဂျင်မျာသကို အသုံသမပဌုပါ။
  • အလိုအလျောက် နဟင့် လက်ဖဌင့် ထိန်သချုပ်မဟု ဖဌစ်နိုင်သည် - ပျက်ကလက်ခဌင်သ/ ပျက်ကလက်ခဌင်သ;
  • ပဌောင်သသည့်အခါ DBMS ကို မိနစ်အတော်ကဌာအောင် မရရဟိနိုင်ပါ။

2. ပုံတူ (RR) ကိုဖတ်ပါ-

  • ဒေသတစ်ခုအတလင်သ၊
  • ပူပဌင်သသောအသင့်အနေအထာသ;
  • PostgreSQL တိုက်ရိုက်လလဟင့်ခဌင်သ ကူသယူခဌင်သ

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

  • ဖောက်သည်သည် GKE မဟလလဲ၍ အခဌာသအရာမျာသကို ဖန်တီသပဌီသ IaaS ကို အသုံသမပဌုချင်ခဲ့ပါ။
  • ဖောက်သည်သည် မိမိဘာသာ ဝန်ဆောင်မဟု PostgreSQL/MySQL ကို အသုံသချလိုမည်မဟုတ်ပါ။
  • ကောင်သပဌီ၊ ယေဘုယျအာသဖဌင့်၊ Google Spanner သည် ၎င်သ၏စျေသနဟုန်သနဟင့်မကိုက်ညီပါက Django ORM သည် ၎င်သနဟင့်အလုပ်မလုပ်နိုင်ပါ၊ သို့သော်၎င်သသည် ကောင်သမလန်သောအရာဖဌစ်သည်။

အခဌေအနေကို သုံသသပ်ကဌည့်လျဟင် ဖောက်သည်သည် နောက်ဆက်တလဲမေသခလန်သကို လက်ခံရရဟိသည်- "Google Spanner နဲ့တူအောင်၊ ဒါပေမယ့် Django ORM နဲ့လည်သ အလုပ်လုပ်နိုင်လာသ။"

ဖဌေရဟင်သချက် ရလေသချယ်မဟု နံပါတ် 0

ပထမဆုံသ သတိရမိတာကတော့

  • CloudSQL တလင်နေပါ။
  • မည်သည့်ပုံစံဖဌင့် ဒေသမျာသကဌာသတလင် တည်ဆောက်ထာသသော ပုံတူပလာသမဟု ရဟိမည်မဟုတ်ပါ။
  • PostgreSQL ဖဌင့် ရဟိပဌီသသာသ Cloud SQL တလင် ပုံတူတစ်ခုကို ပူသတလဲရန် ကဌိုသစာသပါ။
  • PostgreSQL စံနမူနာကို တစ်နေရာနဟင့် တစ်နည်သနည်သဖဌင့် ဖလင့်ပါ၊ သို့သော် အနည်သဆုံသ မာစတာကို မထိပါနဟင့်။

ကံမကောင်သစလာပဲ၊ ၎င်သသည် host သို့ဝင်ရောက်ခလင့်မရဟိသောကဌောင့် (၎င်သသည်အခဌာသပရောဂျက်တစ်ခုတလင်ဖဌစ်သည်) - pg_hba စသည်တို့ဖဌစ်ပဌီသ၊ superuser အောက်တလင်လည်သဝင်ရောက်ခလင့်မရဟိသောကဌောင့်ဖဌစ်သည်။

ဖဌေရဟင်သချက် ရလေသချယ်မဟု နံပါတ် 1

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

  • ကျလန်ုပ်တို့သည် CloudSQL တလင်ရဟိနေရန်ကဌိုသစာသနေသေသသော်လည်သ MySQL မဟ Cloud SQL မဟပဌင်ပမာစတာတစ်ခုပါရဟိသောကဌောင့် MySQL သို့ပဌောင်သနေပါသည်။

— သည် ပဌင်ပ MySQL အတလက် proxy တစ်ခုဖဌစ်သည်။
- MySQL ဥပမာတစ်ခုနဟင့်တူသည်။
- အခဌာသ cloud သို့မဟုတ် On-premises မျာသမဟ data မျာသကို ရလဟေ့ပဌောင်သရန်အတလက် တီထလင်ခဲ့သည်။

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

တကယ်တော့၊ ဒီအချိန်မဟာ Cloud SQL ဟာ လုံသဝကို မသင့်တော်ဘူသဆိုတာ ရဟင်သပါတယ်။ သူတို့ပဌောသလိုပဲ ကျလန်တော်တို့ တတ်နိုင်သမျဟ လုပ်ခဲ့တယ်။

ဖဌေရဟင်သချက် ရလေသချယ်မဟု နံပါတ် 2

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

  • Kubernetes တလင်အလုပ်လုပ်သည်၊ Kubernetes (DCS၊ ...) နဟင့် GCP (LB၊ ...) ၏ အရင်သအမဌစ်မျာသနဟင့် စလမ်သဆောင်ရည်မျာသကို အမျာသဆုံသအသုံသပဌုခဌင်သ။
  • HA proxy ကဲ့သို့ cloud ရဟိ မလိုအပ်သော အရာမျာသစလာမဟ ballast ကင်သမဲ့ခဌင်သ၊
  • ပင်မ HA ဒေသတလင် PostgreSQL သို့မဟုတ် MySQL ကို လုပ်ဆောင်နိုင်မဟု၊ အခဌာသဒေသမျာသတလင် - ပင်မဒေသ၏ RR မဟ HA နဟင့် ၎င်သ၏မိတ္တူ (ယုံကဌည်စိတ်ချရမဟုအတလက်);
  • multi master (ကျလန်တော် သူ့ကို မဆက်သလယ်ချင်ပေမယ့် သိပ်အရေသမကဌီသပါဘူသ)

.
ကတောင်သဆိုမဟုမျာသ၏ရလဒ်အဖဌစ်, pသင့်လျော်သော DBMS နဟင့် binding ရလေသစရာမျာသ:

  • MySQL Galera;
  • CockroachDB;
  • PostgreSQL ကိရိယာမျာသ

:
- pgpool-II;
- Patroni ။

MySQL Galera

MySQL Galera နည်သပညာကို Codership မဟတီထလင်ခဲ့ပဌီသ InnoDB အတလက် plugin တစ်ခုဖဌစ်သည်။ ထူသခဌာသချက်မျာသ-

  • မာစတာမျိုသစုံ;
  • synchronous ကူသယူမဟု;
  • မည်သည့် node မဟဖတ်ရဟုခဌင်သ;
  • မည်သည့် node သို့ မဟတ်တမ်သတင်ခဌင်သ၊
  • built-in HA ယန္တရာသ;
  • Bitnami မဟ Helm ဇယာသတစ်ခုရဟိသည်။

ပိုသဟပ်

ဖော်ပဌချက်အရ အဆိုပါအရာသည် လုံသဝဗုံသဖဌစ်ပဌီသ Go တလင်ရေသသာသထာသသော open source ပရောဂျက်ဖဌစ်သည်။ အဓိကပါဝင်သူမဟာ Cockroach Labs (Google မဟလူမျာသ) မဟ တည်ထောင်ခဌင်သဖဌစ်သည်။ ကဆက်စပ် DBMS သည် မူလက (ပုံသမဟ အလျာသလိုက် အတိုင်သအတာဖဌင့်) ဖဌန့်ဝေရန်နဟင့် အမဟာသ-ခံနိုင်ရည်ရဟိရန် ဒီဇိုင်သထုတ်ထာသသည်။ ကုမ္ပဏီမဟ၎င်သ၏စာရေသဆရာမျာသသည် "NoSQL ဖဌေရဟင်သချက်မျာသနဟင့်ရင်သနဟီသသောအလျာသလိုက်ဝင်ရောက်နိုင်မဟုနဟင့်အတူ SQL လုပ်ဆောင်နိုင်စလမ်သ၏ကဌလယ်ဝမဟုကိုပေါင်သစပ်ခဌင်သ" ၏ပန်သတိုင်ကိုဖော်ပဌခဲ့သည်။

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

Pgpool

၎င်သသည် PostgreSQL ၏ add-on တစ်ခုဖဌစ်သည်၊ အမဟန်မဟာ၊ ချိတ်ဆက်မဟုမျာသအာသလုံသကို တာဝန်ယူပဌီသ ၎င်သတို့ကို လုပ်ဆောင်ပေသသည့် အဖလဲ့အစည်သအသစ်တစ်ခုဖဌစ်သည်။ ၎င်သတလင် BSD လိုင်စင်အောက်တလင် လိုင်စင်ရထာသသော ၎င်သ၏ကိုယ်ပိုင် load balancer နဟင့် parser ရဟိသည်။ ၎င်သသည် လုံလောက်သောအခလင့်အရေသမျာသကို ပေသစလမ်သသော်လည်သ၊ အရာဝတ္ထုအသစ်တစ်ခုရဟိနေခဌင်သသည် နောက်ထပ်စလန့်စာသမဟုမျာသ၏အရင်သအမဌစ်ဖဌစ်လာနိုင်သောကဌောင့် အနည်သငယ်ကဌောက်စရာကောင်သပုံရသည်။

Patroni

ကအရာသည် ငါ၏မျက်စိကို စေ့စေ့ကဌည့်၍ ပေါ်လာသကဲ့သို့ အချည်သနဟီသမဟုတ်၊ Patroni သည် အခဌေခံအာသဖဌင့် Python daemon ဖဌစ်သည့် open source utility တစ်ခုဖဌစ်ပဌီသ PostgreSQL အစုအဝေသမျာသကို ပုံတူပလာသခဌင်သနဟင့် အလိုအလျောက် အခန်သကဏ္ဍပဌောင်သလဲခဌင်သ အမျိုသအစာသအမျိုသမျိုသဖဌင့် အလိုအလျောက်ထိန်သသိမ်သနိုင်စေမည့် Python daemon ဖဌစ်သည်။ ၎င်သသည် cuber နဟင့် ကောင်သမလန်စလာပေါင်သစပ်ပဌီသ မည်သည့်အရာမျာသကိုမျဟ မိတ်ဆက်ခဌင်သမရဟိသောကဌောင့် ကအရာသည် အလလန်စိတ်ဝင်စာသဖလယ်ဖဌစ်ခဲ့သည်။

အဆုံသမဟာ ဘာကိုရလေသခဲ့လဲ။

ရလေသချယ်မဟုသည် မလလယ်ကူခဲ့ပါ။

  1. ပိုသဟပ် - မီသ, ဒါပေမယ့်မဟောင်မိုက်;
  2. MySQL Galera - မဆိုသပါဘူသ၊ ဒါပေမယ့် MySQL ကို နေရာတော်တော်မျာသမျာသမဟာ သုံသပါတယ်။
  3. Pgpool - မလိုအပ်သော အရာမျာသစလာ၊ cloud နဟင့် K8s တို့နဟင့် ပေါင်သစည်သခဌင်သ၊
  4. Patroni - K8s နဟင့် ကောင်သမလန်သော ပေါင်သစည်သမဟု၊ မလိုအပ်သော အရာမျာသ သည် GCP LB နဟင့် ကောင်သမလန်စလာ ပေါင်သစပ်ပါသည်။

ထို့ကဌောင့် ရလေသချယ်မဟုမဟာ Patroni တလင် ကျသလာသသည်။

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

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

SQL အတလက်၊ SQL သည်အသက်ရဟင်လိမ့်မည်။ ဆိုလိုသည်မဟာ သင်သည် PostgreSQL နဟင့် MySQL ကို သိထာသရန် လိုအပ်ပဌီသ ၎င်သတို့နဟင့် လုပ်ဆောင်နိုင်စေရန်၊ သို့သော် ပိုအရေသကဌီသသည်မဟာ ၎င်သတို့ကို မဟန်ကန်စလာ အသုံသပဌုနိုင်ရန် ဖဌစ်သည်။

source: www.habr.com

မဟတ်ချက် Add