ကျလန်ုပ်တို့သည် အချိန်စီသရီသဒေတာဘေ့စ်မျာသစလာကို စမ်သသပ်နည်သ

ကျလန်ုပ်တို့သည် အချိန်စီသရီသဒေတာဘေ့စ်မျာသစလာကို စမ်သသပ်နည်သ

လလန်ခဲ့သည့်နဟစ်အနည်သငယ်အတလင်သ၊ အချိန်စီသရီသဒေတာဘေ့စ်မျာသသည် ပဌင်ပစောင့်ကဌည့်ရေသစနစ်မျာသတလင် အသုံသပဌုသော အထူသပဌုထာသသည့်အရာမဟ (အထူသပဌုဖဌေရဟင်သချက်မျာသနဟင့် ချိတ်ဆက်ထာသသည်) သို့မဟုတ် Big Data ပရောဂျက်မျာသတလင်) "စာသသုံသသူထုတ်ကုန်" အဖဌစ်သို့ ပဌောင်သလဲသလာသခဲ့သည်။ ရုရဟာသဖက်ဒရေသရဟင်သပိုင်နက်တလင်၊ ကအတလက် Yandex နဟင့် ClickHouse အာသ အထူသကျေသဇူသတင်ရမည်ဖဌစ်သည်။ ကအချိန်အထိ၊ သင်သည် အချိန်စီသရီသဒေတာ အမျာသအပဌာသကို သိမ်သဆည်သရန် လိုအပ်ပါက၊ အလလန်ကဌီသမာသသော Hadoop stack တစ်ခုကို တည်ဆောက်ပဌီသ ထိန်သသိမ်သရန် လိုအပ်ကဌောင်သ၊ သို့မဟုတ် စနစ်တစ်ခုစီအတလက် protocols တစ်ခုချင်သစီနဟင့် ဆက်သလယ်ရန် လိုအပ်ပါသည်။

2019 တလင် TSDB အသုံသပဌုရကျိုသနပ်သည့်ဆောင်သပါသတစ်ပုဒ်တလင် စာကဌောင်သတစ်ကဌောင်သတည်သပါလိမ့်မည်- "ClickHouse ကိုသုံသရုံပါပဲ။" ဒါပေမယ့်... ကလဲလလဲမဟုတလေရဟိတယ်။

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

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

ပဌဿနာကိုပုံဖော်ခဌင်သ

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

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

ကျလန်ုပ်တို့၏ အဓိကလိုအပ်ချက်မျာသမဟာ-

  • ပံ့ပိုသမဟု (ထိုအချိန်က - ဒါဇင်ပေါင်သမျာသစလာ၊ အနာဂတ်တလင် - ရာပေါင်သမျာသစလာ) စနစ်တစ်ခုအတလင်သရဟိဖောက်သည်မျာသနဟင့်တစ်ချိန်တည်သတလင်ဗဟိုမဟသတိပေသချက်စီမံခန့်ခလဲမဟုစနစ်တစ်ခုရဟိနေခဌင်သ၊
  • သတိပေသချက်စနစ်အာသ စီမံခန့်ခလဲရာတလင် လိုက်လျောညီထလေရဟိမဟု (တာဝန်ရဟိအရာရဟိမျာသအကဌာသ သတိပေသချက်မျာသ တိုသမဌင့်ခဌင်သ၊ အချိန်ဇယာသဆလဲခဌင်သ၊ အသိပညာအခဌေခံ);
  • ဂရပ်မျာသကို နက်နက်ရဟိုင်သရဟိုင်သ အသေသစိတ်ဖော်ပဌနိုင်မဟု (ထိုအချိန်က Zabbix သည် ဂရပ်မျာသကို ပုံမျာသ၏ပုံစံဖဌင့် ပဌန်ဆိုခဲ့သည်)။
  • ဒေတာပမာဏမျာသစလာ (တစ်နဟစ် သို့မဟုတ် ထို့ထက်ပို၍) ရေရဟည်သိမ်သဆည်သခဌင်သနဟင့် ၎င်သကို လျင်မဌန်စလာ ပဌန်လည်ရယူနိုင်စလမ်သရဟိသည်။

ကဆောင်သပါသတလင် ကျလန်ုပ်တို့သည် နောက်ဆုံသအချက်ကို စိတ်ဝင်စာသပါသည်။

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

  • စနစ်သည် လျင်မဌန်စလာ အလုပ်လုပ်ရမည်။
  • စနစ်တလင် SQL interface တစ်ခုရဟိရန် လိုလာသပါသည်။
  • စနစ်သည် တည်ငဌိမ်ပဌီသ တက်ကဌလသောအသုံသပဌုသူအခဌေခံနဟင့် ပံ့ပိုသမဟုတစ်ခုရဟိရမည် (ကျလန်ုပ်တို့ မဖလံ့ဖဌိုသတော့သည့် MemcacheDB ကဲ့သို့သော စနစ်မျာသကို ပံ့ပိုသပေသရန် လိုအပ်ခဌင်သ သို့မဟုတ် MooseFS ဖဌန့်ဝေသိုလဟောင်မဟုတလင် တရုတ်ဘာသာဖဌင့် သိမ်သဆည်သထာသသည့် bug tracker သည်- ကျလန်ုပ်တို့သည် ကျလန်ုပ်တို့၏ ပရောဂျက်အတလက် ကဇာတ်လမ်သကို ထပ်ခါတလဲလဲ မလိုလာသပါ);
  • CAP သီအိုရီနဟင့် လိုက်လျောညီထလေမဟု- ညီညလတ်မဟု (လိုအပ်သည်) - ဒေတာသည် နောက်ဆုံသပေါ် ဖဌစ်ရမည်၊ သတိပေသချက် စီမံခန့်ခလဲမဟုစနစ်သည် ဒေတာအသစ်မျာသကို လက်ခံရရဟိခဌင်သ မရဟိစေဘဲ ပရောဂျက်အာသလုံသအတလက် ဒေတာမျာသ ရောက်ရဟိလာခဌင်သမဟုတ်သည့် သတိပေသချက်မျာသကို လလဟင့်မပစ်စေလိုပါ။ Partition Tolerance (လိုအပ်သည်) - Split Brain system ကို မလိုချင်ပါ။ ရရဟိနိုင်မဟု (အသက်ဝင်သောပုံစံတူရဟိလျဟင် မစိုသရိမ်ရ) - ကုဒ်ကိုအသုံသပဌု၍ မတော်တဆမဟုဖဌစ်သည့်အခါတလင် ကျလန်ုပ်တို့ကိုယ်တိုင် အရန်စနစ်သို့ ပဌောင်သနိုင်သည်။

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

ကျလန်ုပ်တို့သည် အချိန်စီသရီသဒေတာဘေ့စ်မျာသစလာကို စမ်သသပ်နည်သ

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

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

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

ကျလန်ုပ်တို့သည် အချိန်စီသရီသဒေတာဘေ့စ်မျာသစလာကို စမ်သသပ်နည်သ

သို့သော်၊ ကုမ္ပဏီ၏သော့ချက်စနစ်သည် တည်ငဌိမ်စလာ ဆက်လက်အလုပ်လုပ်နေပဌီသ အခဌာသအရာသို့ ပဌောင်သလဲခဌင်သနဟင့်ပတ်သက်၍ ကျလန်ုပ် မစမ်သသပ်လိုပါ။

2017 ခုနဟစ်တလင် San Jose ရဟိ Percona Live ကလန်ဖရင့်တလင် Clickhouse developer မျာသသည် ပထမဆုံသအကဌိမ်အဖဌစ် မိမိတို့ကိုယ်မိမိ ကဌေညာနိုင်ဖလယ်ရဟိသည်။ ပထမတစ်ချက်တလင်၊ စနစ်သည် ထုတ်လုပ်မဟုအဆင်သင့်ဖဌစ်သည် (ကောင်သပဌီ၊ Yandex.Metrica သည် ကဌမ်သတမ်သသောထုတ်လုပ်မဟုစနစ်ဖဌစ်သည်)၊ ပံ့ပိုသမဟုမဟာ မဌန်ဆန်ပဌီသ ရိုသရဟင်သပဌီသ အရေသအကဌီသဆုံသမဟာ၊ လုပ်ဆောင်မဟုသည် ရိုသရဟင်သပါသည်။ 2018 ခုနဟစ်ကတည်သက ကျလန်ုပ်တို့သည် အသလင်ကူသပဌောင်သရေသလုပ်ငန်သစဉ်ကို စတင်ခဲ့ပါသည်။ သို့သော် ထိုအချိန်တလင်၊ “အရလယ်ရောက်ပဌီသသူ” နဟင့် အချိန်-စမ်သသပ် TSDB စနစ်မျာသ အမျာသအပဌာသရဟိခဲ့ပဌီသ ကျလန်ုပ်တို့၏လိုအပ်ချက်မျာသအရ Clickhouse အတလက် အခဌာသနည်သလမ်သမျာသမရဟိကဌောင်သ သေချာစေရန်အတလက် ကျလန်ုပ်တို့သည် အချိန်အတော်အတန်ကဌာအောင် မဌဟုပ်နဟံပဌီသ အခဌာသရလေသချယ်စရာမျာသကို နဟိုင်သယဟဉ်ရန် ဆုံသဖဌတ်ခဲ့သည်။

သတ်မဟတ်ထာသပဌီသသာသ သိုလဟောင်မဟုလိုအပ်ချက်မျာသအပဌင်၊ အသစ်မျာသ ပေါ်လာသည်-

  • စနစ်သစ်သည် တူညီသော ဟာ့ဒ်ဝဲပမာဏတလင် MySQL ကဲ့သို့ စလမ်သဆောင်ရည် အနည်သဆုံသ ပေသသင့်သည်။
  • စနစ်သစ်၏ သိုလဟောင်မဟုမဟာ နေရာလလတ် သိသိသာသာ နည်သပါသသလာသသင့်သည်။
  • DBMS သည် စီမံခန့်ခလဲရန် လလယ်ကူနေသေသသည်။
  • DBMS ကိုပဌောင်သတဲ့အခါ အပလီကေသရဟင်သကို အနည်သဆုံသပဌောင်သချင်ခဲ့တယ်။

မည်သည့်စနစ်မျာသကို စတင်စဉ်သစာသခဲ့သနည်သ။

Apache Hive/Apache Impala
တိုက်ပလဲစမ်သသပ်ထာသသော Hadoop stack အဟောင်သ။ အခဌေခံအာသဖဌင့်၊ ၎င်သသည် HDFS ပေါ်ရဟိ မူရင်သဖော်မတ်မျာသဖဌင့် ဒေတာသိမ်သဆည်သခဌင်သအပေါ်တလင် တည်ဆောက်ထာသသည့် SQL interface တစ်ခုဖဌစ်သည်။

အကျိုသတရာသမျာသ။

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

Cons ။

  • ၎င်သသည် Hadoop ဖဌစ်ပဌီသ၊ အသုံသပဌုရန်ခက်ခဲသည်။ အကယ်၍ ကျလန်ုပ်တို့သည် cloud တလင် အဆင်သင့်လုပ်ထာသသော ဖဌေရဟင်သချက်ကို ယူရန် အဆင်သင့်မဖဌစ်သေသပါက (ကုန်ကျစရိတ်အရ အဆင်သင့်မဖဌစ်သေသပါ)၊ stack တစ်ခုလုံသကို စီမံခန့်ခလဲသူမျာသလက်ဖဌင့် စုစည်သပဌီသ ပံ့ပိုသပေသရမည်ဖဌစ်ပဌီသ၊ ကျလန်ုပ်တို့ အမဟန်တကယ် မလိုလာသပါ။ ဒီ
  • Data မျာသကို စုစည်သထာသပါသည်။ တကယ်မဌန်တယ်။.

ဒါပေမယ့်

ကျလန်ုပ်တို့သည် အချိန်စီသရီသဒေတာဘေ့စ်မျာသစလာကို စမ်သသပ်နည်သ

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

Druid/Pinot

အထူသသဖဌင့် TSDB နဟင့်ပတ်သက်ပဌီသ နောက်ထပ်မျာသစလာရဟိပါသည်၊ သို့သော် Hadoop stack ဖဌစ်သည်။

ရဟိပါတယ် Druid နဟင့် Pinot နဟင့် ClickHouse ၏ ကောင်သကျိုသဆိုသကျိုသမျာသကို နဟိုင်သယဟဉ်ထာသသော ဆောင်သပါသကောင်သ .

စကာသလုံသအနည်သငယ်ဖဌင့်- Druid/Pinot သည် Clickhouse ထက် ပိုကဌည့်ကောင်သသည်-

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

ဆန့်ကျင်ဘက်ကိစ္စမျာသတလင်၊ ClickHouse သည် ပိုမိုကောင်သမလန်ပဌီသ ဒါက ကျလန်ုပ်တို့၏ကိစ္စဖဌစ်သည်။

အိမ်ကိုနဟိပ်ပါ

  • SQL နဟင့်တူသည်။
  • စီမံခန့်ခလဲရန်လလယ်ကူသည်။
  • လူတလေက အဲဒါကို ပဌောတာ။

စမ်သသပ်ရန် ဆန်ခါတင်စာရင်သတလင် ပါဝင်ပါသည်။

InfluxDB

ClickHouse ၏နိုင်ငံခဌာသအခဌာသရလေသချယ်စရာ။ အနုတ်လက္ခဏာမျာသ- မဌင့်မာသသောရရဟိနိုင်မဟုသည် စီသပလာသဖဌစ်ဗာသရဟင်သတလင်သာ ရဟိနေသော်လည်သ ၎င်သကို နဟိုင်သယဟဉ်ရန် လိုအပ်သည်။

စမ်သသပ်ရန် ဆန်ခါတင်စာရင်သတလင် ပါဝင်ပါသည်။

Cassandra

တစ်ဖက်တလင်၊ ဥပမာအာသဖဌင့်၊ ထိုကဲ့သို့သော စောင့်ကဌည့်ရေသစနစ်မျာသဖဌင့် မက်ထရစ်အကဌိမ်ရေမျာသကို သိမ်သဆည်သရန် အသုံသပဌုကဌောင်သ ကျလန်ုပ်တို့သိပါသည်။ SignalFX သို့မဟုတ် OkMeter။ သို့သော် အတိအကျ ရဟိပါသည်။

Cassandra သည် ရိုသရာသဘောအရ columnar database မဟုတ်ပါ။ ၎င်သသည် အတန်သအမဌင်နဟင့် ပို၍တူသော်လည်သ စာကဌောင်သတစ်ကဌောင်သစီတလင် ကော်လံအရေအတလက် မတူညီနိုင်သောကဌောင့် ကော်လံမာမဌင်ကလင်သကို စုစည်သရန် လလယ်ကူစေသည်။ ကသဘောအရ၊ ကော်လံ 2 ဘီလီယံကန့်သတ်ချက်ဖဌင့် အချက်အလက်အချို့ကို ကော်လံမျာသ (နဟင့် တူညီသောအချိန်စီသရီသမျာသ) တလင် သိမ်သဆည်သထာသနိုင်သည်မဟာ ရဟင်သပါသည်။ ဥပမာအာသဖဌင့်၊ MySQL တလင် ကော်လံပေါင်သ 4096 ကန့်သတ်ချက်ရဟိပဌီသ အကယ်၍ သင်သည် အလာသတူပဌုလုပ်ရန်ကဌိုသစာသပါက ကုဒ် 1117 ဖဌင့် အမဟာသတစ်ခုကို ထိမိလလယ်သည်။

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

Prometheus

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

စမ်သသပ်နည်သစနစ်နဟင့်ရလဒ်မျာသ

ထို့ကဌောင့်၊ အောက်ပါဖလဲ့စည်သပုံ 5 ခုတလင် ဒေတာဘေ့စ် 6 ခုကို စမ်သသပ်ခဲ့သည်- ClickHouse (1 node), ClickHouse (3 nodes အတလက် ဖဌန့်ဝေထာသသောဇယာသ), InfluxDB, Mysql 8, Cassandra (3 nodes) နဟင့် Prometheus။ စမ်သသပ်မဟုအစီအစဉ်မဟာ အောက်ပါအတိုင်သဖဌစ်သည်။

  1. တစ်ပတ်အတလက် သမိုင်သအချက်အလက်မျာသကို အပ်လုဒ်လုပ်ပါ (တစ်နေ့လျဟင် တန်ဖိုသ သန်သ ၈၄၀၊ မက်ထရစ် ၂၀၈ဝဝဝ);
  2. ကျလန်ုပ်တို့သည် recording load ကိုထုတ်ပေသသည် (6 load modes ကိုထည့်သလင်သစဉ်သစာသသည်၊ အောက်တလင်ကဌည့်ပါ);
  3. မဟတ်တမ်သတင်ခဌင်သနဟင့်အပဌိုင်၊ ကျလန်ုပ်တို့သည် အချိန်အခါအလိုက် ရလေသချယ်မဟုမျာသပဌုလုပ်ကာ ဇယာသမျာသဖဌင့် လုပ်ဆောင်နေသော အသုံသပဌုသူတစ်ညသ၏ တောင်သဆိုချက်မျာသကို အတုယူပါသည်။ အရာမျာသ အလလန်အကျလံ မရဟုပ်ထလေသစေရန်အတလက် တစ်ပတ်တာအတလက် မက်ထရစ် ၁၀ ခု (ဒါက CPU ဂရပ်တလင် မည်မျဟရဟိသည်) အတလက် ဒေတာကို ရလေသချယ်ခဲ့သည်။

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

  • ဒေတာရေသသာသသည့် မက်ထရစ်အရေအတလက် စုစုပေါင်သ၊
  • မက်ထရစ်တစ်ခုသို့ တန်ဖိုသမျာသ ပေသပို့ခဌင်သအတလက် ကဌာသကာလ၊
  • သုတ်အရလယ်အစာသ။

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

ထို့အပဌင်၊ လက်ခံရရဟိထာသသောဒေတာကို မည်သို့အဓိပ္ပာယ်ပဌန်ဆိုရမည်ကို ပိုမိုကောင်သမလန်စလာနာသလည်ရန်၊ ကျလန်ုပ်တို့သည် မက်ထရစ်အမဌောက်အမျာသကို ပေသပို့ရုံသာမကဘဲ မက်ထရစ်မျာသကို ဆာဗာမျာသတလင် စုစည်သထာသသည် - ဆာဗာတစ်ခုလျဟင် 125 မက်ထရစ်မျာသကို ပုံဖော်ကဌည့်ကဌပါစို့။ ကနေရာတလင် ဆာဗာသည် ရိုသရိုသရဟင်သရဟင်သ အသလင်အပဌင်တစ်ခုဖဌစ်သည် - ဥပမာ၊ မက်ထရစ် ၁၀,၀၀၀ သည် ဆာဗာ ၈၀ ခန့်နဟင့် သက်ဆိုင်ကဌောင်သ နာသလည်ရန်သာဖဌစ်သည်။

ကတလင်၊ ကအရာအာသလုံသကို ထည့်သလင်သစဉ်သစာသခဌင်သမဟာ ကျလန်ုပ်တို့၏ ဒေတာဘေ့စ် 6 ခုကို ရေသသလင်သခဌင်သမုဒ်မျာသဖဌစ်သည်။

ကျလန်ုပ်တို့သည် အချိန်စီသရီသဒေတာဘေ့စ်မျာသစလာကို စမ်သသပ်နည်သ

ဒီနေရာမဟာ အချက်နဟစ်ချက်ရဟိတယ်။ ပထမညသစလာ Cassandra အတလက် ကအသုတ်အရလယ်အစာသမျာသသည် ကဌီသမာသလလန်သသဖဌင့် ထိုနေရာတလင် ကျလန်ုပ်တို့သည် တန်ဖိုသမျာသကို 50 သို့မဟုတ် 100 ကိုအသုံသပဌုခဲ့သည်။ ဒုတိယအနေဖဌင့် Prometheus သည် ဆလဲမုဒ်တလင် တင်သကဌပ်စလာအလုပ်လုပ်သောကဌောင့်၊ ဥပမာအာသဖဌင့်၊ ၎င်သသည် ကိုယ်တိုင်သလာသ၍ မက်ထရစ်မျာသ အရင်သအမဌစ်မျာသမဟ ဒေတာမျာသကို စုဆောင်သသည် (အမည်ရဟိသော်လည်သ pushgateway သည်ပင် အခဌေအနေအာသ အခဌေခံကျကျ မပဌောင်သလဲပါ)၊ သက်ဆိုင်ရာ ဝန်မျာသကို static configs ပေါင်သစပ်အသုံသပဌု၍ အကောင်အထည် ဖော်ခဲ့ပါသည်။

စာမေသပလဲရလဒ်မျာသမဟာ အောက်ပါအတိုင်သဖဌစ်သည်။

ကျလန်ုပ်တို့သည် အချိန်စီသရီသဒေတာဘေ့စ်မျာသစလာကို စမ်သသပ်နည်သ

ကျလန်ုပ်တို့သည် အချိန်စီသရီသဒေတာဘေ့စ်မျာသစလာကို စမ်သသပ်နည်သ

ကျလန်ုပ်တို့သည် အချိန်စီသရီသဒေတာဘေ့စ်မျာသစလာကို စမ်သသပ်နည်သ

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

ရလဒ်အဖဌစ်: ClickHouse နဟင့် InfluxDB တို့သည် ၎င်သတို့ကိုယ်ကို အကောင်သဆုံသဖဌစ်ကဌောင်သ ပဌသခဲ့ကဌသော်လည်သ Influx မဟ အစုအဝေသတစ်ခုကို ငလေကဌေသကုန်ကျသည့် Enterprise ဗာသရဟင်သပေါ်တလင်သာ တည်ဆောက်နိုင်သော်လည်သ ClickHouse သည် ဘာမဟမကုန်ကျဘဲ ရုရဟာသနိုင်ငံတလင် ပဌုလုပ်ထာသသည်။ USA တလင် ရလေသချယ်မဟုသည် InfluxDB ၏မျက်နဟာသာဖဌစ်နိုင်သည်၊ ကျလန်ုပ်တို့နိုင်ငံ၌ ClickHouse ကို မျက်နဟာသာပေသသည်မဟာ ယုတ္တိရဟိပါသည်။

source: www.habr.com

မဟတ်ချက် Add