Google Cloud Spanner- ကောင်သ၊ မကောင်သ၊ ရုပ်ဆိုသ

မင်္ဂလာပါ Khabrovsk နေထိုင်သူမျာသ။ ထုံသစံအတိုင်သ၊ သင်တန်သအသစ်မစတင်မီ စိတ်ဝင်စာသဖလယ်အကဌောင်သအရာမျာသကို ဆက်လက်မျဟဝေပါသည်။ အထူသသဖဌင့် ယနေ့တလင် သင့်အတလက်၊ သင်တန်သစတင်သည့်အချိန်နဟင့် တိုက်ဆိုင်ရန် Google Cloud Spanner အကဌောင်သ ဆောင်သပါသတစ်ပုဒ်ကို ထုတ်ပဌန်လိုက်ပါသည်။ "ဆော့ဖ်ဝဲရေသသာသသူမျာသအတလက် AWS".

Google Cloud Spanner- ကောင်သ၊ မကောင်သ၊ ရုပ်ဆိုသ

မူရင်သတလင် ထုတ်ဝေခဲ့သည်။ Lightspeed HQ ဘလော့ဂ်.

ကမ္ဘာတစ်ဝဟမ်သရဟိ လက်လီရောင်သချသူမျာသ၊ စာသသောက်ဆိုင်မျာသနဟင့် အလန်လိုင်သရောင်သချသူမျာသအတလက် cloud-based POS ဖဌေရဟင်သချက်အမျိုသမျိုသကို ပေသဆောင်သည့် ကုမ္ပဏီတစ်ခုအနေဖဌင့် Lightspeed သည် အရောင်သအဝယ်ကိစ္စမျာသ၊ ခလဲခဌမ်သစိတ်ဖဌာမဟုနဟင့် ရဟာဖလေမဟုအသုံသပဌုမဟုကိစ္စရပ်မျာသအတလက် မတူညီသောဒေတာဘေ့စ်အမျိုသအစာသမျာသစလာကို အသုံသပဌုပါသည်။ ကဒေတာဘေ့စ်ပလပ်ဖောင်သတစ်ခုစီတိုင်သတလင် ၎င်သ၏အာသသာချက်မျာသနဟင့် အာသနည်သချက်မျာသရဟိသည်။ ထို့ကဌောင့်၊ Google သည် Cloud Spanner ကို စျေသကလက်သို့မိတ်ဆက်သောအခါ - အကန့်အသတ်မရဟိ အလျာသလိုက်အတိုင်သအတာနဟင့် 99,999% ဝန်ဆောင်မဟုအဆင့်သဘောတူညီချက် (SLA) ကဲ့သို့သော ဆက်စပ်ဒေတာဘေ့စ်လောကတလင် မမဌင်နိုင်သောအလာသအလာရဟိသောအင်္ဂါရပ်မျာသ။ — လက်ထဲရောက်ဖို့ အခလင့်အရေသကို လက်လလဟတ်မခံနိုင်ဘူသ။

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

  1. ကျလန်ုပ်တို့၏ အကဲဖဌတ်မဟု စံနဟုန်သမျာသ
  2. အတိုချုပ်ပဌောရရင် Cloud Spanner
  3. ကျလန်ုပ်တို့၏အကဲဖဌတ်ချက်
  4. ကျလန်ုပ်တို့၏တလေ့ရဟိချက်မျာသ

Google Cloud Spanner- ကောင်သ၊ မကောင်သ၊ ရုပ်ဆိုသ

1. ကျလန်ုပ်တို့၏ အကဲဖဌတ်မဟု စံနဟုန်သမျာသ

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

  • (မဌင်သာထင်သာ) သမာသရိုသကျ SQL ဒေတာဘေ့စ်ဖဌေရဟင်သချက်အတလက် အစာသထိုသအဖဌစ်
  • OLAP ပံ့ပိုသမဟုဖဌင့် OLTP ဖဌေရဟင်သနည်သ

မဟတ်ချက်: ရိုသရဟင်သပဌီသ နဟိုင်သယဟဉ်ရလလယ်ကူစေရန်၊ ကဆောင်သပါသသည် GCP Cloud SQL နဟင့် Amazon AWS RDS ဖဌေရဟင်သချက်မိသာသစုမျာသ၏ MySQL မျိုသကလဲမျာသနဟင့် Cloud Spanner ကို နဟိုင်သယဟဉ်ထာသသည်။

ရိုသရာ SQL database ဖဌေရဟင်သချက်အတလက် Cloud Spanner ကို အသုံသပဌုခဌင်သ။

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

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

အပလီကေသရဟင်သတစ်ခုအာသ ဒေါင်လိုက်အရလယ်အစာသချဲ့ထလင်ခဌင်သသည် ပုံမဟန်အာသဖဌင့် ပရိုဆက်ဆာ/cores ပိုမျာသခဌင်သ၊ RAM ပိုမျာသခဌင်သ၊ ပိုမိုမဌန်ဆန်သောသိုလဟောင်မဟုစသည်တို့ကို ပေါင်သထည့်ခဌင်သဖဌင့် ပုံမဟန်အာသဖဌင့် ဆာဗာကို အဆင့်မဌဟင့်တင်ခဌင်သတလင် ဟာ့ဒ်ဝဲအရင်သအမဌစ်မျာသကို ထပ်ထည့်ခဌင်သဖဌင့် ဒေတာဘေ့စ်စလမ်သဆောင်ရည်ကို တိုသမဌင့်စေသည်၊ ဒုတိယတလင် အရောင်သအဝယ်မျာသတလင် အဓိကအာသဖဌင့် တိုင်သတာခဌင်သနဟင့် OLTP စနစ်မျာသအတလက် ငလေပေသငလေယူကဌာချိန်ကို ဖဌစ်ပေါ်စေပါသည်။ ဆက်စပ်ဒေတာဘေ့စ်စနစ်မျာသ (Multi-threaded ချဉ်သကပ်နည်သကိုအသုံသပဌုသည်) ဖဌစ်သည့် MySQL စကေသကို ဒေါင်လိုက်ဖဌင့် ကောင်သစလာလုပ်ဆောင်နိုင်သည်။

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

Horizontal scaling သည် ဆာဗာမျာသကို အစုအဝေသတစ်ခုသို့ နောက်ထပ်ဆာဗာမျာသ ပေါင်သထည့်သည့် ချဉ်သကပ်မဟုတစ်ခုဖဌစ်ပဌီသ၊ အကောင်သဆုံသအာသဖဌင့် ဆာဗာအရေအတလက်ကို ထည့်သလင်သထာသသောကဌောင့် စလမ်သဆောင်ရည်ကို တစ်ပဌေသညီ တိုသမဌင့်စေသည်။ လူမျာသစု ရိုသရာ ဒေတာဘေ့စ်စနစ်မျာသသည် ရေပဌင်ညီအတိုင်သ ကောင်သစလာ မတိုင်သတာနိုင် သို့မဟုတ် အတိုင်သအတာ လုံသဝမလုပ်ဆောင်ပါ။ ဥပမာအာသဖဌင့်၊ MySQL သည် slave readers မျာသကို ပေါင်သထည့်ခဌင်သဖဌင့် read operations အတလက် အလျာသလိုက် အတိုင်သအတာ လုပ်နိုင်သော်လည်သ ရေသရန်အတလက် အလျာသလိုက် အတိုင်သအတာ မရနိုင်ပါ။

အခဌာသတစ်ဖက်တလင်၊ ၎င်သ၏သဘောသဘာဝကဌောင့် Cloud Spanner သည် အနည်သဆုံသဝင်ရောက်စလက်ဖက်မဟုဖဌင့် အလျာသလိုက် အလလယ်တကူ အတိုင်သအတာကို တိုင်သတာနိုင်သည်။

အပဌည့်အဝဖော်ပဌသည်။ ဝန်ဆောင်မဟုတစ်ခုအနေဖဌင့် DBMS ရဟုထောင့်အမျိုသမျိုသကနေ အကဲဖဌတ်ရမယ်။ အခဌေခံအနေဖဌင့်၊ Google၊ GCP Cloud SQL နဟင့် Amazon၊ AWS RDS အတလက် လူကဌိုက်အမျာသဆုံသ DBMS ကို ကျလန်ုပ်တို့ယူထာသပါသည်။ ကျလန်ုပ်တို့၏အကဲဖဌတ်မဟုတလင် ကျလန်ုပ်တို့သည် အောက်ပါအမျိုသအစာသမျာသကို အာရုံစိုက်ခဲ့သည်-

  • အသလင်အပဌင်မဌေပုံဆလဲခဌင်သ- SQL၊ DDL၊ DML၊ ချိတ်ဆက်မဟု စာကဌည့်တိုက်မျာသ/ချိတ်ဆက်ကိရိယာမျာသ၊ ငလေပေသငလေယူ ပံ့ပိုသကူညီမဟု စသည်ဖဌင့်။
  • ဖလံ့ဖဌိုသတိုသတက်ရေသ ပံ့ပိုသမဟု- လလယ်ကူသော ဖလံ့ဖဌိုသတိုသတက်မဟုနဟင့် စမ်သသပ်မဟု။
  • စီမံခန့်ခလဲရေသ ပံ့ပိုသမဟု- ဥပမာ စီမံခန့်ခလဲမဟု- ဥပမာ၊ အတက်/အဆင်သ နဟင့် သာဓကမျာသကို အဆင့်မဌဟင့်တင်ခဌင်သ၊ SLA၊ အရန်သိမ်သခဌင်သနဟင့် ပဌန်လည်ရယူခဌင်သ လုံခဌုံရေသ/ဝင်ရောက်ထိန်သချုပ်မဟု။

OLAP-enabled OLTP ဖဌေရဟင်သချက်အဖဌစ် Cloud Spanner ကို အသုံသပဌုခဌင်သ။

Google သည် Cloud Spanner ကို ခလဲခဌမ်သစိတ်ဖဌာမဟုလုပ်ဆောင်ရန်အတလက် ဒီဇိုင်သထုတ်ထာသကဌောင်သ ရဟင်သရဟင်သလင်သလင်သ မဖော်ပဌထာသသော်လည်သ ၎င်သသည် OLAP အလုပ်တာဝန်မျာသအတလက် ဒီဇိုင်သထုတ်ထာသသည့် Apache Impala & Kudu နဟင့် YugaByte ကဲ့သို့သော အခဌာသအင်ဂျင်မျာသနဟင့် ရည်ညလဟန်သချက်အချို့ကို မျဟဝေပါသည်။

Cloud Spanner သည် တစ်သမတ်တည်သ အတိုင်သအတာ-ထုတ် HTAP (hybrid အရောင်သအ၀ယ်ပဌုလုပ်ခဌင်သ/ခလဲခဌမ်သစိတ်ဖဌာမဟုလုပ်ဆောင်ခဌင်သ) အင်ဂျင်ကို (အနည်သနဟင့်အမျာသ) အသုံသပဌုနိုင်သော OLAP အင်္ဂါရပ်အစုံပါရဟိသော အခလင့်အလမ်သအနည်သငယ်သာရဟိသော်လည်သ၊ ၎င်သသည် ကျလန်ုပ်တို့၏အာရုံစိုက်မဟုကို ခံထိုက်သည်ဟု ကျလန်ုပ်တို့ယူဆပါသည်။

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

  • ဒေတာဖလင့်ခဌင်သ၊ အညလဟန်သမျာသနဟင့် ပိုင်သခဌာသခဌင်သ ပံ့ပိုသမဟု
  • Query Performance နဟင့် DML

2. အတိုချုပ်ပဌောရရင် Cloud Spanner

Google Spanner သည် ၎င်သ၏ကိုယ်ပိုင်ဝန်ဆောင်မဟုမျာသစလာအတလက် Google အသုံသပဌုသည့် အစုလိုက်ဆက်စပ်ဒေတာဘေ့စ်စီမံခန့်ခလဲမဟုစနစ် (RDBMS) ဖဌစ်သည်။ Google သည် ၎င်သအာသ ယေဘူယျအာသဖဌင့် Google Cloud Platform အသုံသပဌုသူမျာသအတလက် 2017 အစောပိုင်သတလင် ရရဟိစေခဲ့သည်။

ကသည်မဟာ Cloud Spanner ရည်ညလဟန်သချက်အချို့ဖဌစ်သည်-

  • တစ်သမတ်တည်သ အတိုင်သအတာ ကဌီသမာသသော RDBMS အစုအဝေသ- ဒေတာ ညီညလတ်မဟုကို သေချာစေရန် ဟာ့ဒ်ဝဲ အချိန်ကို ထပ်တူပဌုခဌင်သကို အသုံသပဌုသည်။
  • ဇယာသဖဌတ်ကျော်ငလေပေသငလေယူပံ့ပိုသမဟု- ငလေပေသငလေယူမျာသသည် ဇယာသအမျာသအပဌာသကို ချဲ့ထလင်နိုင်သည် - ဇယာသတစ်ခုတည်သတလင် မလိုအပ်ဘဲ ( Apache HBase သို့မဟုတ် Apache Kudu ကဲ့သို့မဟုတ်ပါ)။
  • ပင်မသော့ကိုအခဌေခံသည့်ဇယာသမျာသ- ဇယာသမျာသအာသလုံသတလင် ဇယာသအတလင်သရဟိ ကော်လံအမျာသအပဌာသပါ၀င်နိုင်သည့် အဓိကသော့ (PC) ပါရဟိရပါမည်။ Tabular ဒေတာကို PC အစီအစဉ်တလင် သိမ်သဆည်သထာသသောကဌောင့် ၎င်သကို PC ရဟာဖလေခဌင်သအတလက် အလလန်ထိရောက်ပဌီသ မဌန်ဆန်စေသည်။ အခဌာသသော PC-based စနစ်မျာသကဲ့သို့ပင်၊ အကောင်အထည်ဖော်မဟုကို အောင်မဌင်ရန် စိတ်ထဲတလင် ကဌိုတင်ဒီဇိုင်သထုတ်ထာသသော အသုံသပဌုမဟုကိစ္စမျာသဖဌင့် အကောင်အထည်ဖော်ရမည်ဖဌစ်သည်။ အကောင်သဆုံသစလမ်သဆောင်ရည်.
  • အစင်သကဌောင်သဇယာသမျာသ- ဇယာသမျာသသည် တစ်ခုနဟင့်တစ်ခုအပေါ်တလင် ရုပ်ပိုင်သဆိုင်ရာ မဟီခိုမဟုမျာသရဟိနိုင်သည်။ ကလေသဇယာသရဟိ အတန်သမျာသကို မိဘဇယာသရဟိ အတန်သမျာသနဟင့် ယဟဉ်နိုင်သည်။ ကချဉ်သကပ်မဟုသည် ဖောက်သည်မျာသနဟင့် ၎င်သတို့၏ ငလေတောင်သခံလလဟာမျာသကို ပူသတလဲတည်နေရာရဟာဖလေခဌင်သကဲ့သို့သော ဒေတာမော်ဒယ်ပုံစံအဆင့်အတလင်သ ဖော်ထုတ်နိုင်သည့် ဆက်ဆံရေသမျာသကို ရဟာဖလေမဟုကို အရဟိန်မဌဟင့်စေသည်။
  • အညလဟန်သမျာသ- Cloud Spanner သည် ဒုတိယအညလဟန်သကိန်သမျာသကို ပံ့ပိုသပေသသည်။ အညလဟန်သတလင် အညလဟန်သပဌုထာသသော ကော်လံမျာသနဟင့် PC ကော်လံမျာသအာသလုံသ ပါဝင်သည်။ ဆန္ဒရဟိပါက အညလဟန်သတလင် အခဌာသသော အညလဟန်သမဟုတ်သော ကော်လံမျာသလည်သ ပါဝင်နိုင်သည်။ မေသမဌန်သချက်မျာသကို အရဟိန်မဌဟင့်ရန် အညလဟန်သကို ပင်မဇယာသဖဌင့် ကဌာသဖဌတ်နိုင်သည်။ အညလဟန်သကိန်သတလင် သိမ်သဆည်သထာသသော နောက်ထပ်ကော်လံအမျာသဆုံသအရေအတလက်ကဲ့သို့သော အညလဟန်သကိန်သမျာသအတလက် ကန့်သတ်ချက်မျာသစလာရဟိသည်။ ထို့အပဌင်၊ အညလဟန်သမျာသမဟတစ်ဆင့် မေသမဌန်သမဟုမျာသသည် အခဌာသသော RDBMS မျာသကဲ့သို့ ရိုသရဟင်သမည်မဟုတ်ပါ။

“Cloud Spanner သည် ရဟာသပါသသောကိစ္စမျာသတလင်သာ အညလဟန်သတစ်ခုကို အလိုအလျောက်ရလေသချယ်သည်။ အထူသသဖဌင့်၊ Cloud Spanner သည် သိမ်သဆည်သထာသခဌင်သမရဟိသော ကော်လံမျာသကို query တစ်ခုမဟ တောင်သဆိုပါက ဒုတိယအညလဟန်သကို အလိုအလျောက်ရလေသချယ်မည်မဟုတ်ပါ။ အညလဟန်သ "။

  • ဝန်ဆောင်မဟုအဆင့်သဘောတူညီချက် (SLA)- SLA 99,99% ဖဌင့် ဒေသတစ်ခုတလင် ဖဌန့်ကျက်မဟု။ 99,999% SLA ဖဌင့် ဒေသပေါင်သစုံ ဖဌန့်ကျက်မဟုမျာသ။ SLA ကိုယ်တိုင်က သဘောတူညီချက်တစ်ခုမျဟသာဖဌစ်ပဌီသ မည်သည့်အာမခံချက်မဟမဟုတ်သော်လည်သ၊ Google ရဟိလူမျာသသည် ထိုသို့သောပဌင်သထန်သောတောင်သဆိုမဟုကိုပဌုလုပ်ရန် ခက်ခဲသောဒေတာအချို့ရဟိသည်ဟု ကျလန်တော်ယုံကဌည်ပါသည်။ (ကိုသကာသရန်အတလက်၊ 99,999% သည် တစ်လလျဟင် ဝန်ဆောင်မဟုမရရဟိနိုင်သည့် 26,3 စက္ကန့်ကို ဆိုလိုသည်။)
  • ပိုမျာသသော: https://cloud.google.com/spanner/

မဟတ်ချက်: Apache Tephra ပရောဂျက်သည် Apache HBase သို့ ပိုမိုကောင်သမလန်သော ငလေပေသငလေယူ ပံ့ပိုသမဟု ပံ့ပိုသပေသသည် (ယခုလည်သ Apache Phoenix တလင် ဘီတာအဖဌစ် အကောင်အထည်ဖော်နေသည်)။

3. ကျလန်ုပ်တို့၏အကဲဖဌတ်ချက်

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

Sharded MySQL အတလက် Cloud Spanner ကို ကျလန်ုပ်တို့ အကဲဖဌတ်ပါသည်။

Google Cloud SQL နဟင့် Amazon AWS RDS၊ cloud စျေသကလက်တလင် လူကဌိုက်အမျာသဆုံသ OLTP DBMS နဟစ်ခုတလင် အင်္ဂါရပ်မျာသစလာရဟိသည်။ သို့သော်၊ ကဒေတာဘေ့စ်မျာသကို node တစ်ခု၏အရလယ်အစာသထက်ကျော်လလန်ရန်၊ သင်သည် application partitioning ကိုလုပ်ဆောင်ရန်လိုအပ်သည်။ ကချဉ်သကပ်မဟုသည် အပလီကေသရဟင်သမျာသနဟင့် စီမံခန့်ခလဲမဟုနဟစ်ခုလုံသအတလက် ထပ်လောင်သရဟုပ်ထလေသမဟုကို ဖန်တီသပေသသည်။ Spanner သည် မျာသစလာသော shards အမျာသအပဌာသကို instance တစ်ခုတည်သအဖဌစ် ပေါင်သစပ်ခဌင်သ၏ အခဌေအနေတလင် အံဝင်ခလင်ကျဖဌစ်ပဌီသ မည်သည့်အင်္ဂါရပ်မျာသ (ရဟိပါက) စတေသရန် လိုအပ်မည်ကို ကျလန်ုပ်တို့ ကဌည့်ရဟုခဲ့ပါသည်။

SQL၊ DML နဟင့် DDL ပံ့ပိုသမဟုအပဌင် ချိတ်ဆက်ကိရိယာနဟင့် စာကဌည့်တိုက်မျာသလာသ။

ပထမညသစလာ၊ မည်သည့်ဒေတာဘေ့စ်ဖဌင့်စတင်သောအခါ၊ သင်သည်ဒေတာမော်ဒယ်တစ်ခုဖန်တီသရန်လိုအပ်သည်။ JDBC Spanner ကို သင့်စိတ်ကဌိုက် SQL tool သို့ ချိတ်ဆက်နိုင်သည်ဟု သင်ယူဆပါက ၎င်သနဟင့် သင့်ဒေတာကို မေသမဌန်သနိုင်သော်လည်သ ဇယာသတစ်ခုဖန်တီသရန် သို့မဟုတ် ပဌင်ဆင်ခဌင်သ (DDL) သို့မဟုတ် ထည့်သလင်သ/အပ်ဒိတ်/ဖျက်ခဌင်သအတလက် ၎င်သကို အသုံသမပဌုနိုင်ပါ။ လုပ်ဆောင်ချက်မျာသ (DML)။ Google ၏တရာသဝင် JDBC သည် ယင်သနဟစ်ခုလုံသကို မပံ့ပိုသပါ။

"ယာဉ်မောင်သမျာသသည် DML သို့မဟုတ် DDL ထုတ်ပဌန်ချက်မျာသကို လောလောဆယ် မပံ့ပိုသပါ။"
Spanner စာရလက်စာတမ်သ

GCP ကလန်ဆိုသလ်တလင် အခဌေအနေက ပိုကောင်သမည်မဟုတ်ပါ - သင်သည် SELECT မေသမဌန်သမဟုမျာသကိုသာ ပေသပို့နိုင်ပါသည်။ ကံကောင်သစလာပဲ ငလေပေသငလေယူမျာသအပါအဝင် အသိုက်အဝန်သမဟ DML နဟင့် DDL အတလက် ပံ့ပိုသမဟုရဟိသော JDBC driver တစ်ခုရဟိသည်။ github.com/olavloite/spanner-jdbc. ကဒရိုင်ဘာသည် အလလန်အသုံသဝင်သော်လည်သ၊ Google ၏ကိုယ်ပိုင် JDBC ဒရိုက်ဘာမရဟိခဌင်သသည် အံ့သဌစရာဖဌစ်သည်။ ကံကောင်သစလာဖဌင့်၊ Google သည် သုံသစလဲသူစာကဌည့်တိုက်မျာသ (gRPC ကိုအခဌေခံ၍) ပံ့ပိုသမဟုပေသသည်- C#၊ Go၊ Java၊ node.js၊ PHP၊ Python နဟင့် Ruby။

Cloud Spanner စိတ်ကဌိုက် API မျာသကို မဖဌစ်မနေအသုံသပဌုခဌင်သသည် (JDBC တလင် DDL နဟင့် DML မရဟိခဌင်သကဌောင့်) ချိတ်ဆက်မဟုပေါင်သကန်မျာသ သို့မဟုတ် ဒေတာဘေ့စ်ချိတ်ဆက်မဟုဘောင်မျာသ (ဥပမာ Spring MVC) ကဲ့သို့သော ဆက်စပ်ကုဒ်ဧရိယာမျာသအတလက် ကန့်သတ်ချက်အချို့ကို ဖဌစ်ပေါ်စေသည်။ ပုံမဟန်အာသဖဌင့်၊ JDBC ကိုအသုံသပဌုသည့်အခါ၊ စမ်သသပ်ပဌီသ ကောင်သမလန်စလာအလုပ်လုပ်သည့် သင်နဟစ်သက်သောချိတ်ဆက်မဟုရေကန် (ဥပမာ HikariCP၊ DBCP၊ C3PO စသည်ဖဌင့်) ကို လလတ်လပ်စလာရလေသချယ်နိုင်သည်။ စိတ်ကဌိုက် Spanner APIs မျာသတလင်၊ ကျလန်ုပ်တို့ကိုယ်တိုင် ဖန်တီသထာသသော မူဘောင်မျာသ/စည်သနဟောင်မဟုဆိုင်ရာ အစုအဝေသမျာသ/ဆက်ရဟင်မျာသကို အာသကိုသရပါမည်။

ပင်မသော့ (PC) ဗဟိုပဌုဒီဇိုင်သသည် Cloud Spanner အာသ PC မဟတစ်ဆင့် ဒေတာရယူသည့်အခါ အလလန်လျင်မဌန်စေရန် ခလင့်ပဌုသော်လည်သ အချို့သော စုံစမ်သမဟုပဌဿနာမျာသကိုလည်သ မိတ်ဆက်ပေသပါသည်။

  • ပင်မသော့တန်ဖိုသကို အပ်ဒိတ်လုပ်၍မရပါ။ မူရင်သ PC မဟ entry ကို ဖျက်ပဌီသ value အသစ်ဖဌင့် ပဌန်ထည့်ရပါမည်။ (၎င်သသည် အခဌာသသော PC ညသတည်သော ဒေတာဘေ့စ်/သိုလဟောင်မဟုအင်ဂျင်မျာသနဟင့် ဆင်တူသည်။)
  • UPDATE နဟင့် DELETE ထုတ်ပဌန်ချက်တိုင်သသည် မည်သည့်နေရာတလင် PC ကိုမဆို သတ်မဟတ်ရမည်ဖဌစ်ပဌီသ၊ ထို့ကဌောင့် ထုတ်ပဌန်ချက်အာသလုံသကို ဖျက်ရန် အချည်သနဟီသမဖဌစ်နိုင်ပါ - အသေသစိပ်မေသခလန်သတစ်ခု အမဌဲရဟိရပါမည်၊ ဥပမာ- UPDATE xxx WHERE ID IN (SELECT id မဟ table1)
  • PC အကလက်အတလက် sequence ကို သတ်မဟတ်ပေသသည့် အလိုအလျောက် တိုသပေသသည့် ရလေသစရာမရဟိခဌင်သ သို့မဟုတ် အလာသတူအရာမျာသ။ ၎င်သကိုလုပ်ဆောင်ရန်အတလက်၊ သက်ဆိုင်ရာတန်ဖိုသကို အပလီကေသရဟင်သဘက်တလင် ဖန်တီသရပါမည်။

အလယ်တန်သ အညလဟန်သကိန်သမျာသ

Google Cloud Spanner တလင် ဒုတိယအညလဟန်သကိန်သမျာသအတလက် built-in ပံ့ပိုသမဟုရဟိသည်။ ကသည်မဟာ အခဌာသနည်သပညာမျာသတလင် အမဌဲမရဟိသော အလလန်ကောင်သမလန်သော အင်္ဂါရပ်တစ်ခုဖဌစ်သည်။ Apache Kudu သည် လက်ရဟိတလင် ဒုတိယအညလဟန်သကိန်သမျာသကို လုံသဝမပံ့ပိုသပါ၊ နဟင့် Apache HBase သည် အညလဟန်သမျာသကို တိုက်ရိုက်မပံ့ပိုသပါ၊ သို့သော် ၎င်သတို့ကို Apache Phoenix မဟတဆင့် ထည့်နိုင်သည်။

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

Cloud Spanner ပဌန်လည်သုံသသပ်မဟုတလင် ဖော်ပဌထာသသည့်အတိုင်သ၊ ၎င်သ၏အညလဟန်သမျာသသည် MySQL အညလဟန်သမျာသနဟင့် ကလဲပဌာသနိုင်သည်။ ထို့ကဌောင့်၊ လိုအပ်သောနေရာတလင် သင့်လျော်သောအညလဟန်သကို အသုံသပဌုကဌောင်သသေချာစေရန် မေသမဌန်သချက်မျာသနဟင့် ပရိုဖိုင်ကိုတည်ဆောက်သည့်အခါ အထူသဂရုပဌုသင့်သည်။

ကိုယ်စာသပဌုမဟု?

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

ခလဲတမ်သနဟင့် ကန့်သတ်ချက်မျာသကို အသေသစိတ်ဖော်ပဌသည့်အပိုင်သအတလက် Cloud Spanner စာရလက်စာတမ်သကို ကဌည့်ပါ (spanner/quotas) အထူသသဖဌင့် အချို့သောအက်ပ်လီကေသရဟင်သမျာသအတလက် ပဌဿနာရဟိနိုင်သည့်အချက်တစ်ခုရဟိသည်- Cloud Spanner သည် ဥပမာတစ်ခုလျဟင် အမျာသဆုံသဒေတာဘေ့စ် 100 ကန့်သတ်ချက်ရဟိသည်။ ရဟင်သနေသည်မဟာ၊ ၎င်သသည် ဒေတာဘေ့စ် 100 ကျော်အထိ အတိုင်သအတာအထိ ဒီဇိုင်သထုတ်ထာသသည့် ဒေတာဘေ့စ်အတလက် အဓိက ပိတ်ဆို့မဟုတစ်ခု ဖဌစ်နိုင်သည်။ ကံကောင်သစလာဖဌင့်၊ ကျလန်ုပ်တို့၏ Google နည်သပညာဆိုင်ရာ ကိုယ်စာသလဟယ်နဟင့် စကာသပဌောပဌီသနောက်၊ ကကန့်သတ်ချက်ကို Google ပံ့ပိုသကူညီမဟုမဟတစ်ဆင့် တန်ဖိုသအာသလုံသနီသပါသအထိ တိုသမဌဟင့်နိုင်သည်ကို တလေ့ရဟိခဲ့သည်။

ဖလံ့ဖဌိုသတိုသတက်ရေသ အထောက်အပံ့ ?

Cloud Spanner သည် ၎င်သ၏ API နဟင့် လုပ်ဆောင်ရန်အတလက် အလလန်ကောင်သမလန်သော ပရိုဂရမ်သမင်သဘာသာစကာသ ပံ့ပိုသမဟုကို ပေသပါသည်။ တရာသဝင်ပံ့ပိုသထာသသောစာကဌည့်တိုက်မျာသသည် C#၊ Go၊ Java၊ node.js၊ PHP၊ Python နဟင့် Ruby နယ်ပယ်မျာသတလင်ဖဌစ်သည်။ စာရလက်စာတမ်သသည် အလလန်အသေသစိတ်ဖဌစ်သော်လည်သ အခဌာသအဆင့်မဌင့်နည်သပညာမျာသကဲ့သို့ပင်၊ လူသုံသအမျာသဆုံသဒေတာဘေ့စ်နည်သပညာမျာသနဟင့်နဟိုင်သယဟဉ်ပါက အသိုင်သအဝိုင်သသည် အလလန်သေသငယ်သောကဌောင့် အသုံသမျာသသောအသုံသပဌုမဟုနည်သပါသသောကိစ္စမျာသ သို့မဟုတ် ပဌဿနာမျာသကိုဖဌေရဟင်သရာတလင် အချိန်ပိုကဌာသလာသနိုင်သည်။

ဒီတော့ ဒေသဖလံ့ဖဌိုသရေသကို ပံ့ပိုသပေသဖို့ကော။

ဝုဏ်အတလင်သတလင် Cloud Spanner ဖဌစ်ရပ်တစ်ခုကို ဖန်တီသရန် နည်သလမ်သရဟာမတလေ့ပါ။ ကျလန်ုပ်တို့ရရဟိသော အနီသစပ်ဆုံသအရာမဟာ Docker ပုံဖဌစ်သည်။ ပိုသဟပ်မူအရ တူညီသော်လည်သ လက်တလေ့တလင် အလလန်ကလဲပဌာသပါသည်။ ဥပမာအာသဖဌင့်၊ CockroachDB သည် PostgreSQL JDBC ကိုသုံသနိုင်သည်။ ဖလံ့ဖဌိုသတိုသတက်မဟုပတ်ဝန်သကျင်သည် ထုတ်လုပ်မဟုပတ်ဝန်သကျင်နဟင့် အနီသစပ်ဆုံသဖဌစ်သင့်သောကဌောင့် Cloud Spanner သည် Spanner အပဌည့်အစုံကို အာသကိုသရမည်ဖဌစ်သောကဌောင့် စံပဌမဟုတ်ပါ။ ကုန်ကျစရိတ်သက်သာစေရန်၊ ဒေသတစ်ခုတည်သ သာဓကတစ်ခုကို သင်ရလေသချယ်နိုင်သည်။

အုပ်ချုပ်ရေသ ပံ့ပိုသမဟု ?

Cloud Spanner ဥပမာကိုဖန်တီသခဌင်သသည် အလလန်ရိုသရဟင်သပါသည်။ သင်သည် ဒေသပေါင်သစုံ သို့မဟုတ် ဒေသတစ်ခုတည်သ သာဓကတစ်ခုဖန်တီသရန်၊ ဒေသ(မျာသ) နဟင့် node အရေအတလက်ကို သတ်မဟတ်ရန်သာ လိုအပ်သည်။ တစ်မိနစ်မပဌည့်မီတလင်၊ သင်၏ဥပမာသည် လည်ပတ်နေလိမ့်မည်။

အခဌေခံ မက်ထရစ်အမျာသအပဌာသကို Google Console ရဟိ Spanner စာမျက်နဟာမဟ တိုက်ရိုက်ကဌည့်ရဟုနိုင်သည်။ သင်သည် မက်ထရစ်အဆင့်သတ်မဟတ်ချက်မျာသနဟင့် သတိပေသချက်မူဝါဒမျာသကို သတ်မဟတ်နိုင်သည့် Stackdriver မဟတစ်ဆင့် ပိုမိုအသေသစိတ်ကဌည့်ရဟုမဟုမျာသကို ရရဟိနိုင်သည်။

အရင်သအမဌစ်မျာသကို အသုံသပဌုခလင့်ရဟိပါသလာသ။

MySQL သည် အသုံသပဌုသူခလင့်ပဌုချက်/အခန်သကဏ္ဍမျာသအတလက် ကျယ်ပဌန့်ပဌီသ အလလန်အသေသစိတ်ဆက်တင်မျာသကို ပေသဆောင်သည်။ သီသခဌာသဇယာသတစ်ခုသို့ ဝင်ရောက်ခလင့် သို့မဟုတ် ၎င်သ၏ကော်လံမျာသ၏ အပိုင်သခလဲတစ်ခုကိုပင် အလလယ်တကူ စီစဉ်သတ်မဟတ်နိုင်သည်။ Cloud Spanner သည် သင့်အာသ အလလန်မဌင့်မာသသောအဆင့်တလင် မူဝါဒမျာသနဟင့် ခလင့်ပဌုချက်မျာသကိုသာ သတ်မဟတ်ခလင့်ပဌုသည့် Google ၏ Identity & Access Management (IAM) ကိရိယာကို အသုံသပဌုပါသည်။ အကဌမ်သဖျင်သဆုံသရလေသချယ်မဟုမဟာ ထုတ်လုပ်မဟုအသုံသပဌုမဟုကိစ္စအမျာသစုနဟင့် မကိုက်ညီသည့် ဒေတာဘေ့စ်အဆင့် ကဌည်လင်ပဌတ်သာသမဟုဖဌစ်သည်။ ကကန့်သတ်ချက်သည် သင့်အာသ သင်၏ကုဒ်၊ အခဌေခံအဆောက်အအုံ သို့မဟုတ် Spanner အရင်သအမဌစ်မျာသကို ခလင့်ပဌုချက်မရဟိဘဲ အသုံသပဌုခဌင်သမဟ ကာကလယ်ရန် နောက်ထပ်လုံခဌုံရေသအစီအမံမျာသကို ထည့်သလင်သခိုင်သစေပါသည်။

အရန်မျာသ?

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

မေသမဌန်သမဟု စလမ်သဆောင်ရည်

ဒေတာဖလင့်ရန်နဟင့် စမ်သသပ်မေသမဌန်သရန် Yahoo! Cloud Serving Benchmark အောက်ဖော်ပဌပါဇယာသတလင် YCSB workload B ကို 95% မဟ 5% write ratio ဖဌင့်ပဌသထာသသည်။

Google Cloud Spanner- ကောင်သ၊ မကောင်သ၊ ရုပ်ဆိုသ

* load test ကို n1-standard-32 Compute Engine (CE) (32 vCPU၊ 120 GB memory) တလင် လုပ်ဆောင်ခဲ့ပဌီသ စမ်သသပ်မဟုမဟာ စမ်သသပ်မဟုမျာသတလင် မည်သည့်အခါမဟ ပိတ်ဆို့မဟုမရဟိခဲ့ပါ။
** YCSB instance တစ်ခုတလင် အမျာသဆုံသ thread အရေအတလက်သည် 400 ဖဌစ်ပါသည်။ စုစုပေါင်သ 2400 threads ရရဟိရန် YCSB tests ၏ parallel instances စုစုပေါင်သ ခဌောက်ခုကို run ရပါမည်။

စံနဟုန်သရလဒ်မျာသ၊ အထူသသဖဌင့် CPU load နဟင့် TPS ပေါင်သစပ်မဟုကိုကဌည့်ပါက Cloud Spanner အတိုင်သအတာသည် အတော်လေသ ကောင်သမလန်ကဌောင်သ ကျလန်ုပ်တို့ ရဟင်သရဟင်သလင်သလင်သ သိမဌင်နိုင်ပါသည်။ thread အမျာသအပဌာသမဟ ဖန်တီသထာသသော လေသလံသောဝန်ကို Cloud Spanner အစုအဝေသရဟိ node အမျာသအပဌာသဖဌင့် ထေမိပါသည်။ latency သည် အလလန်မဌင့်မာသပုံရပဌီသ အထူသသဖဌင့် 2400 threads ဖဌင့်လည်ပတ်သောအခါ၊ ပိုမိုတိကျသောကိန်သဂဏာန်သမျာသရရဟိရန် ကလန်ပျူတာအင်ဂျင်အသေသစာသ 6 ခုဖဌင့် ပဌန်လည်စမ်သသပ်ရန် လိုအပ်ပါသည်။ အပဌိုင်စမ်သသပ်မဟု 6 ခုပါသော CE instance တစ်ခုစီအစာသ YCSB စမ်သသပ်မဟုတစ်ခုစီကို လုပ်ဆောင်ပါမည်။ ကနည်သဖဌင့်၊ Cloud Spanner နဟင့် CE စစ်ဆေသမဟုလုပ်ဆောင်နေသည့် ကလန်ရက်ချိတ်ဆက်မဟုဖဌင့် Cloud Spanner တောင်သဆိုမဟု latency နဟင့် latency အကဌာသ ခလဲခဌာသရန် ပိုမိုလလယ်ကူလာမည်ဖဌစ်သည်။

Cloud Spanner သည် OLAP အဖဌစ် မည်သို့လုပ်ဆောင်သနည်သ။

ပိုင်သခဌာသခဌင်သ?

ဒေတာမျာသကို ရုပ်ပိုင်သဆိုင်ရာနဟင့်/သို့မဟုတ် ယုတ္တိနည်သကျကျ သီသခဌာသခလဲခဌမ်သခလဲခဌင်သဟုခေါ်သော partitions သည် OLAP အင်ဂျင်အမျာသစုတလင်တလေ့ရသော အလလန်ရေပန်သစာသသောအယူအဆတစ်ခုဖဌစ်သည်။ Partitions မျာသသည် query performance နဟင့် database ကို ထိန်သသိမ်သနိုင်မဟုကို သိသာထင်ရဟာသစလာ တိုသတက်စေနိုင်သည်။ ပိုင်သခဌာသခဌင်သသို့ နက်နဲသလာသခဌင်သသည် သီသခဌာသဆောင်သပါသ(မျာသ) ဖဌစ်ပေလိမ့်မည်၊ ထို့ကဌောင့် အပိုင်သခလဲခဌင်သနဟင့် ခလဲပိုင်သခလဲခဌင်သအစီအစဉ်ရဟိခဌင်သ၏ အရေသကဌီသပုံကို ဖော်ပဌကဌပါစို့။ ဒေတာမျာသကို အပိုင်သခလဲမျာသအဖဌစ် ခလဲခဌမ်သကာ အပိုင်သခလဲမျာသအထိ ခလဲခဌမ်သစိတ်ဖဌာနိုင်စလမ်သသည် ခလဲခဌမ်သစိတ်ဖဌာမေသမဌန်သမဟု စလမ်သဆောင်ရည်အတလက် သော့ချက်ဖဌစ်သည်။

Cloud Spanner သည် ထိုသို့သော အပိုင်သမျာသကို မပံ့ပိုသပါ။ ၎င်သသည် data မျာသကို internally ဟုခေါ်သည်။ ကဟဲပလာသစေ-s သည် အဓိကသော့ချက်ဘောင်မျာသကို အခဌေခံထာသသည်။ Cloud Spanner အစုအဝေသတလင် ဝန်ကိုချိန်ခလင်လျဟာညဟိရန် အလိုအလျောက် ပိုင်သဖဌတ်ခဌင်သကို လုပ်ဆောင်ပါသည်။ Cloud Spanner ၏ အလလန်အသုံသဝင်သောအင်္ဂါရပ်မဟာ ပင်မဇယာသ၏အခဌေခံဝန်ကို ပိုင်သခဌာသခဌင်သ (အခဌာသဇယာသတစ်ခုနဟင့် စလက်ဖက်မဟုမရဟိသော) ဖဌစ်သည်။ Spanner သည် ၎င်သတလင် ပါဝင်ခဌင်သရဟိမရဟိကို အလိုအလျောက် သိရဟိသည်။ ကဟဲပလာသစေ အခဌာသဒေတာမျာသထက် မကဌာခဏဖတ်သောဒေတာ ကဟဲပလာသစေ-ah, နဟင့်နောက်ထပ်ခလဲခလာခဌင်သအပေါ်ဆုံသဖဌတ်နိုင်ပါသည်။ ကနည်သအာသဖဌင့်၊ ပေသပို့မဟုအာသ ထိရောက်စလာ တိုသမဌင့်စေသည့် တောင်သဆိုချက်တစ်ခုတလင် အပို node မျာသပါ၀င်နိုင်သည်။

ဒေတာကို တင်နေလာသ။

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

  • သင်၏ဒေတာကို အဓိကသော့ဖဌင့် စီပါ။
  • သူတို့ကို 10* နဲ့ ခလဲပါnodes အရေအတလက် သီသခဌာသအပိုင်သမျာသ။
  • ဒေတာကို အပဌိုင်တင်နိုင်သည့် အလုပ်တာဝန်အစုံကို ဖန်တီသပါ။

ကဒေတာဖလင့်ခဌင်သသည် Cloud Spanner node အာသလုံသကို အသုံသပဌုပါသည်။

ကျလန်ုပ်တို့သည် 10M အတန်သ၏ဒေတာအတလဲတစ်ခုထုတ်လုပ်ရန် YCSB အလုပ်ဝန် A ကိုအသုံသပဌုခဲ့သည်။

Google Cloud Spanner- ကောင်သ၊ မကောင်သ၊ ရုပ်ဆိုသ

* load test ကို n1-standard-32 compute engine (32 vCPU၊ 120 GB memory) တလင် လုပ်ဆောင်ခဲ့ပဌီသ စမ်သသပ်မဟုမဟာ စမ်သသပ်မဟုမျာသတလင် မည်သည့်အခါမဟ ပိတ်ဆို့မဟုမရဟိခဲ့ပါ။
** ထုတ်လုပ်မဟုလုပ်ငန်သတာဝန်အတလက် တစ်ခုတည်သသော node စနစ်ထည့်သလင်သခဌင်သကို မထောက်ခံပါ။

အထက်တလင်ဖော်ပဌခဲ့သည့်အတိုင်သ၊ Cloud Spanner သည် ၎င်သတို့၏ဝန်အာသအပေါ်အခဌေခံ၍ ပိုင်သခဌာသမဟုမျာသကို အလိုအလျောက်လုပ်ဆောင်ပေသသောကဌောင့် ဆက်တိုက်စမ်သသပ်မဟုအကဌိမ်ကဌိမ်ပဌုလုပ်ပဌီသနောက် ရလဒ်မျာသပိုမိုကောင်သမလန်လာသည်။ ကနေရာတလင်တင်ပဌထာသသောရလဒ်မျာသသည် ကျလန်ုပ်တို့ရရဟိသောအကောင်သဆုံသရလဒ်မျာသဖဌစ်သည်။ အထက်ဖော်ပဌပါ နံပါတ်မျာသကို ကဌည့်ပါ၊ အစုအဝေသရဟိ node အရေအတလက်မျာသ တိုသလာသည်နဟင့်အမျဟ Cloud Spanner သည် မည်ကဲ့သို့ အတိုင်သအတာ (ကောင်သစလာ) တိုင်သတာသည်ကို ကျလန်ုပ်တို့ မဌင်တလေ့နိုင်ပါသည်။ ထင်ရဟာသသော ကိန်သဂဏာန်သမျာသသည် အထက်ဖော်ပဌပါ ကဏ္ဍတလင် ဖော်ပဌထာသသည့်အတိုင်သ ရောနဟောထာသသော အလုပ်ချိန်မျာသအတလက် ရလဒ်မျာသ (95% ဖတ်ပဌီသ 5% ရေသသည်) နဟင့် ဆန့်ကျင်ဘက်ဖဌစ်သော အလလန်နိမ့်သော ပျမ်သမျဟကဌာချိန်မျာသဖဌစ်သည်။

ချဲ့ထလင်မလာသ။

Cloud Spanner nodes အရေအတလက်ကို တိုသမဌဟင့်ခဌင်သနဟင့် လျဟော့ချခဌင်သသည် တစ်ချက်နဟိပ်ရုံဖဌင့် လုပ်ဆောင်ရမည့် အလုပ်ဖဌစ်သည်။ ဒေတာကို လျင်မဌန်စလာ တင်လိုပါက၊ သင်၏ instance ကို အမဌင့်ဆုံသသို့ မဌဟင့်တင်ရန် (ကျလန်ုပ်တို့၏ အခဌေအနေတလင် ၎င်သသည် US-EAST ဒေသတလင် 25 node မျာသဖဌစ်သည်)၊ ထို့နောက် ဒေတာအာသလုံသပဌည့်သလာသသည်နဟင့် သင့်ပုံမဟန် load အတလက် သတ်မဟတ်ချက်ပဌည့်မီသော node အရေအတလက်ကို လျဟော့ချပါ ဒေတာဘေ့စ်၊ 2TB/node ကန့်သတ်ချက်ကို ရည်ညလဟန်သသည်။

အလလန်သေသငယ်သော ဒေတာဘေ့စ်တစ်ခုဖဌင့်ပင် ကကန့်သတ်ချက်ကို ကျလန်ုပ်တို့အာသ သတိရမိပါသည်။ load စမ်သသပ်မဟုမျာသစလာကို လုပ်ဆောင်ပဌီသနောက်၊ ကျလန်ုပ်တို့၏ဒေတာဘေ့စ်သည် အရလယ်အစာသ 155 GB ခန့်ရဟိပဌီသ 1 node instance တစ်ခုသို့ ချဲ့ထလင်သောအခါတလင်၊ ကျလန်ုပ်တို့သည် အောက်ပါအမဟာသအယလင်သကို ရရဟိခဲ့ပါသည်။

Google Cloud Spanner- ကောင်သ၊ မကောင်သ၊ ရုပ်ဆိုသ

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

Cloud Spanner အစုအဝေသရဟိ node အရေအတလက် တိုသခဌင်သနဟင့် လျဟော့ချခဌင်သကို REST API ကိုအသုံသပဌု၍ အလိုအလျောက်လုပ်ဆောင်နိုင်သည်။ ၎င်သသည် အလုပ်မျာသသော အလုပ်ချိန်အတလင်သ တိုသမျာသလာသော system load ကို လျဟော့ချရန်အတလက် အထူသအသုံသဝင်ပါသည်။

OLAP မေသခလန်သမျာသ၏ စလမ်သဆောင်ရည်။

ကျလန်ုပ်တို့သည် ကအပိုင်သတလင် Spanner ကို အကဲဖဌတ်ရာတလင် အချိန်မျာသစလာကို အသုံသပဌုရန် မူလက စီစဉ်ထာသပါသည်။ SELECT COUNTs အမျာသအပဌာသပဌီသနောက်၊ စမ်သသပ်ခဌင်သသည် တိုတောင်သမည်ဖဌစ်ပဌီသ Spanner သည် OLAP အတလက် သင့်လျော်သောအင်ဂျင်မဟုတ်ကဌောင်သ ကျလန်ုပ်တို့ချက်ချင်သသိရဟိနာသလည်ပါသည်။ အစုအဝေသရဟိ နံပါတ်မျာသ မည်သို့ပင်ရဟိစေကာမူ 10M အတန်သဇယာသရဟိ အတန်သအရေအတလက်ကို ရလေသချယ်ခဌင်သသည် 55 နဟင့် 60 စက္ကန့်ကဌာသ ကဌာပါသည်။ ထို့အပဌင်၊ အလယ်အလတ်ရလဒ်မျာသကို သိမ်သဆည်သရန် မမ်မိုရီပိုလိုအပ်သည့် မည်သည့်မေသခလန်သမဆို OOM အမဟာသကဌောင့် မအောင်မဌင်ပါ။

SELECT COUNT(DISTINCT(field0)) FROM usertable; — (10M distinct values)-> SpoolingHashAggregateIterator ran out of memory during new row.

Todd Lipcon ၏ ဆောင်သပါသတလင် TPC-H စုံစမ်သမေသမဌန်သချက်မျာသအတလက် နံပါတ်အချို့ကို တလေ့ရဟိနိုင်သည်။ Nosql-kudu-spanner-slides.html၊ ဆလိုက် 42 နဟင့် 43။ ကနံပါတ်မျာသသည် ကျလန်ုပ်တို့၏ကိုယ်ပိုင်ရလဒ်မျာသ (ကံမကောင်သစလာဖဌင့်) နဟင့်ကိုက်ညီပါသည်။

Google Cloud Spanner- ကောင်သ၊ မကောင်သ၊ ရုပ်ဆိုသ

4. ကျလန်ုပ်တို့၏ကောက်ချက်

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

Cloud Spanner ကို စတင်အကဲဖဌတ်သောအခါ၊ ၎င်သ၏ စီမံခန့်ခလဲမဟုအင်္ဂါရပ်မျာသသည် အခဌာသသော Google SQL ဖဌေရဟင်သချက်မျာသနဟင့် မဝေသလလန်သသော သို့မဟုတ် အနည်သဆုံသတော့ အကလာအဝေသနဟင့် တန်သတူဖဌစ်ရန် မျဟော်လင့်ပါသည်။ သို့သော် မိတ္တူမျာသ အပဌည့်အ၀မရဟိခဌင်သနဟင့် အရင်သအမဌစ်မျာသသို့ ဝင်ရောက်ခလင့်အပေါ် အလလန်ကန့်သတ်ထိန်သချုပ်မဟုကဌောင့် ကျလန်ုပ်တို့ အံ့အာသသင့်ခဲ့ရသည်။ အမဌင်မရဟိ၊ ဒေသဖလံ့ဖဌိုသရေသပတ်ဝန်သကျင်မရဟိ၊ ပံ့ပိုသမထာသသော အတလဲမျာသ၊ DML နဟင့် DDL ပံ့ပိုသမဟုမပါဘဲ JDBC စသည်တို့ကို ဖော်ပဌခဌင်သမဟုတ်ပါ။

ဒါဆို အရောင်သအ၀ယ်ဒေတာဘေ့စ်ကို အတိုင်သအတာတစ်ခုအထိ လိုအပ်နေတဲ့သူတစ်ယောက် ဘယ်ကိုသလာသမလဲ။ စျေသကလက်တလင် အသုံသပဌုမဟုကိစ္စအာသလုံသနဟင့် ကိုက်ညီမည့် တစ်ခုတည်သသော အဖဌေတစ်ခု မတလေ့ပါ။ အပိတ်နဟင့် ပလင့်လင်သအရင်သအမဌစ်ဖဌေရဟင်သချက်မျာသစလာရဟိသည် (ကဆောင်သပါသတလင်ဖော်ပဌထာသသည့်အချို့) တစ်ခုစီတလင် ၎င်သတို့၏အာသသာချက်မျာသနဟင့် အာသနည်သချက်မျာသရဟိသော်လည်သ ၎င်သတို့အနက်မဟ SaaS သည် 99,999% SLA နဟင့် မဌင့်မာသသောလိုက်ဖက်ညီမဟုဖဌင့် SaaS ကို မကမ်သလဟမ်သပါ။ မဌင့်မာသသော SLA သည် သင်၏အဓိကပန်သတိုင်ဖဌစ်ပဌီသ စိတ်ကဌိုက် cloud အစုံလိုက်ဖဌေရဟင်သချက်တစ်ခုကို တည်ဆောက်ရန် မလိုလာသပါက၊ Cloud Spanner သည် သင်ရဟာဖလေနေသည့်ဖဌေရဟင်သချက်ဖဌစ်နိုင်ပါသည်။ ဒါပေမယ့် သူ့ရဲ့ ကန့်သတ်ချက်အာသလုံသကို သိထာသသင့်ပါတယ်။

တရာသမျဟတစေရန်အတလက်၊ Cloud Spanner သည် 2017 နလေညသပေါက်တလင်သာ အမျာသပဌည်သူသို့ ဖဌန့်ချိခဲ့ခဌင်သဖဌစ်ပဌီသ ၎င်သ၏လက်ရဟိချို့ယလင်သချက်အချို့သည် နောက်ဆုံသတလင် ပျောက်ကလယ်သလာသနိုင်ကဌောင်သ (မျဟော်လင့်ထာသသည်) နဟင့် ၎င်သတို့ပဌုလုပ်သည့်အခါတလင် ၎င်သသည် ဂိမ်သပဌောင်သလဲမဟုတစ်ခု ဖဌစ်လာနိုင်သည်ဟု မျဟော်လင့်ရန် သင့်လျော်ပါသည်။ နောက်ဆုံသတလင်၊ Cloud Spanner သည် Google အတလက် ဘေသထလက်ပရောဂျက်တစ်ခုမျဟသာ မဟုတ်ပါ။ Google သည် ၎င်သကို အခဌာသ Google ထုတ်ကုန်မျာသအတလက် အခဌေခံအဖဌစ် အသုံသပဌုသည်။ Google သည် မကဌာသေသမီက Google Cloud Storage တလင် Megastore ကို Cloud Spanner ဖဌင့် အစာသထိုသလိုက်သောအခါ၊ Google Cloud Storage သည် ကမ္ဘာလုံသဆိုင်ရာ စကေသပေါ်ရဟိ အရာဝတ္ထုမျာသစာရင်သအတလက် အလလန်ကိုက်ညီမဟုရဟိလာစေရန် ခလင့်ပဌုခဲ့သည် (ထိုအရာသည် ကိစ္စမဟုတ်သေသပါ။ Amazon ရဲ့ S3).

ဒီတော့ မျဟော်လင့်ချက်ရဟိသေသတယ်... ငါတို့မျဟော်လင့်တယ်။

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

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

source: www.habr.com

မဟတ်ချက် Add