Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

အောက်ပါဒေတာဘေ့စ်မျာသအတလက် Yandex ၏ပံ့ပိုသကူညီမဟုကိုထည့်သလင်သစဉ်သစာသလိမ့်မည်။

  • အိမ်ကိုနဟိပ်ပါ
  • Odyssey
  • အချိန်မီ အမဟတ်သို့ ပဌန်လည်ရယူခဌင်သ (WAL-G)
  • PostgreSQL (logerrors၊ Amcheck၊ heapcheck အပါအဝင်)
  • Greenplum

ဗီဒီယိုမျာသ:

မင်္ဂလာပါကမ္ဘာလောက! ကျလန်တော့်နာမည် Andrey Borodin ပါ။ Yandex.Cloud တလင်၊ ကျလန်ုပ်သည် Yandex.Cloud နဟင့် Yandex.Cloud ဖောက်သည်မျာသ၏ အကျိုသကျေသဇူသအတလက် ပလင့်လင်သသော ဆက်စပ်ဒေတာဘေ့စ်မျာသကို ပဌုစုနေပါသည်။

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

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

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

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

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

open source software တလင် မည်သို့သော ချဉ်သကပ်မဟုမျာသ ရဟိပါသနည်သ။

  • နာသလည်နိုင်ဆုံသနည်သလမ်သမဟာ ဆော့ဖ်ဝဲလ်ကို အသုံသပဌုခဌင်သဖဌစ်သည်။ အကယ်၍ သင်သည် ပရိုတိုကောမျာသကို အသုံသပဌုပါက စံချိန်စံညလဟန်သမျာသကို အသုံသပဌုပါက၊ ဖော်မတ်မျာသကို အသုံသပဌုပါက၊ သင် open source software တလင် တောင်သဆိုမဟုမျာသကို ရေသသာသပါက ၎င်သကို သင်ထောက်ခံပဌီသသာသဖဌစ်သည်။
  • သင်သည် ၎င်သ၏ဂေဟစနစ်ကို ပိုကဌီသအောင်လုပ်နေပါသည်။ သင်သည် bug တစ်ခုကို စောစီသစလာ သိရဟိနိုင်ခဌေကို ပိုကဌီသစေသည်။ သင်သည် ကစနစ်၏ ယုံကဌည်စိတ်ချရမဟုကို တိုသမဌင့်စေပါသည်။ စျေသကလက်တလင် developer မျာသ၏ရရဟိနိုင်မဟုကိုသင်တိုသစေသည်။ သင်သည် ကဆော့ဖ်ဝဲလ်ကို တိုသတက်စေပါသည်။ စတိုင်လ်ကျကျနဲ့ စိတ်ကူသယဉ်နေတယ်ဆိုရင် သင်ဟာ ပံ့ပိုသကူညီသူတစ်ယောက်ဖဌစ်နေပါပဌီ။
  • နောက်ထပ်နာသလည်နိုင်သောနည်သလမ်သမဟာ open source software ကိုပံ့ပိုသကူညီရန်ဖဌစ်သည်။ ဥပမာအာသဖဌင့်၊ အချို့သောလိုင်စင်လိုအပ်ချက်မျာသနဟင့်ကိုက်ညီသော open source software ပရောဂျက်မျာသကို တီထလင်ရန်အတလက် Google သည် ကမ္ဘာတစ်ဝဟမ်သမဟ ကျောင်သသာသအမျာသအပဌာသကို နာသလည်နိုင်သောငလေပေသသောအခါ နာမည်ကဌီသ Google Summer of Code ပရိုဂရမ်။
  • ၎င်သသည် သင့်အာသ အသိုင်သအဝိုင်သမဟ အာရုံမပဌောင်သဘဲ ဆော့ဖ်ဝဲကို တီထလင်နိုင်စေသောကဌောင့် အလလန်စိတ်ဝင်စာသစရာကောင်သသောချဉ်သကပ်မဟုတစ်ခုဖဌစ်သည်။ နည်သပညာကုမ္ပဏီကဌီသတစ်ခုအနေဖဌင့် Google သည် ကျလန်ုပ်တို့သည် ကအင်္ဂါရပ်ကို လိုချင်ကဌောင်သ၊ က bug ကို ပဌင်လိုသည်ဟု မပဌောဘဲ၊ ၎င်သမဟာ တူသရန် လိုအပ်ပါသည်။ Google က "မင်သလုပ်တဲ့အတိုင်သလုပ်ပါ။ မင်သလုပ်ခဲ့တဲ့ပုံစံအတိုင်သပဲ ဆက်ပဌီသလုပ်ပါ အာသလုံသအဆင်ပဌေသလာသမဟာပါ။"
  • Open Source တလင် ပါဝင်ခဌင်သအတလက် နောက်နည်သလမ်သမဟာ ပါဝင်ခဌင်သ ဖဌစ်သည်။ သင့်တလင် open source software နဟင့် developer မျာသရဟိနေသောအခါ၊ သင်၏ developer မျာသသည် ပဌဿနာမျာသကို စတင်ဖဌေရဟင်သကဌသည်။ ၎င်သတို့သည် သင်၏အခဌေခံအဆောက်အအုံကို ပိုမိုထိရောက်အောင်၊ သင်၏ပရိုဂရမ်မျာသကို ပိုမိုမဌန်ဆန်စေပဌီသ ပိုမိုယုံကဌည်စိတ်ချရစေသည်။

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

အကျော်ကဌာသဆုံသ Yandex ပလင့်လင်သအရင်သအမဌစ်ပရောဂျက်မျာသထဲမဟတစ်ခုမဟာ ClickHouse ဖဌစ်သည်။ ကသည်မဟာ Yandex.Metrica ရင်ဆိုင်နေရသောစိန်ခေါ်မဟုမျာသအတလက် တုံ့ပဌန်မဟုတစ်ခုအဖဌစ် မလေသဖလာသလာသောဒေတာဘေ့စ်တစ်ခုဖဌစ်သည်။

ဒေတာဘေ့စ်တစ်ခုအနေဖဌင့် ၎င်သကို ဂေဟစနစ်တစ်ခုဖန်တီသကာ အခဌာသ developer မျာသ (Yandex တလင်သာမက) နဟင့်အတူ ဖလံ့ဖဌိုသတိုသတက်စေရန်အတလက် ၎င်သကို open source ဖဌင့် ပဌုလုပ်ထာသသည်။ ယခုအခါတလင် ကုမ္ပဏီမျာသစလာပါဝင်သည့် ကဌီသမာသသောပရောဂျက်တစ်ခုဖဌစ်သည်။

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

Yandex.Cloud တလင်၊ ကျလန်ုပ်တို့သည် cloud သိုလဟောင်မဟု၏ထိပ်တလင် Yandex Object Storage ၏ထိပ်တလင် ClickHouse ကိုဖန်တီသခဲ့သည်။

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

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

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

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

  • ကျလန်ုပ်တို့သည် MDS ကျော် ClickHouse ကိုအကောင်အထည်ဖော်နိုင်သည် ။ MDS သည် internal Yandex cloud storage interface တစ်ခုဖဌစ်သည်။ ၎င်သသည် သာမန် S3 ပရိုတိုကောထက် ပိုမိုရဟုပ်ထလေသသော်လည်သ ၎င်သသည် ပိတ်ဆို့သည့်ကိရိယာအတလက် ပိုမိုသင့်လျော်သည်။ အချက်အလက်ရေသဖို့ ပိုသင့်တော်ပါတယ်။ ၎င်သသည် ပို၍ ပရိုဂရမ်ရေသဆလဲရန် လိုအပ်သည်။ ပရိုဂရမ်မာတလေက ပရိုဂရမ်မာတလေတောင်မဟ စိတ်ဝင်စာသဖို့ကောင်သတယ်။
  • S3 သည် အချို့သော အလုပ်အမျိုသအစာသမျာသနဟင့် လိုက်လျောညီထလေဖဌစ်အောင် စရိတ်စက သက်သာစလာဖဌင့် ပိုမိုရိုသရဟင်သသော မျက်နဟာပဌင်ကို ဖန်တီသပေသသည့် ပိုမိုသာလလန်သော ချဉ်သကပ်မဟုတစ်ခုဖဌစ်သည်။

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

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

လင့်ခ်မျာသ

https://github.com/ClickHouse/ClickHouse/pull/7946 "Filesystem abstraction layer"
https://github.com/ClickHouse/ClickHouse/pull/8011 AWS SDK S3 ပေါင်သစပ်မဟု
https://github.com/ClickHouse/ClickHouse/pull/8649 "S3 အတလက် IDisk interface ကို အခဌေခံ အကောင်အထည်ဖော်ခဌင်သ"
https://github.com/ClickHouse/ClickHouse/pull/8356 "IDisk interface ဖဌင့် log storage engines မျာသ ပေါင်သစည်သခဌင်သ"
https://github.com/ClickHouse/ClickHouse/pull/8862 "S3 နဟင့် SeekableReadBuffer အတလက် လော့ဂ်အင်ဂျင်ပံ့ပိုသမဟု"
https://github.com/ClickHouse/ClickHouse/pull/9128 "Storage Stripe Log S3 ပံ့ပိုသမဟု"
https://github.com/ClickHouse/ClickHouse/pull/9415 "S3 အတလက် Storage MergeTree ကနညသပံ့ပိုသမဟု"
https://github.com/ClickHouse/ClickHouse/pull/9646 MergeTree S3 အတလက် အပဌည့်အဝပံ့ပိုသမဟု
https://github.com/ClickHouse/ClickHouse/pull/10126 "S3 တလင် ထပ်တူပဌုထာသသော MergeTree ကို ပံ့ပိုသသည်"
https://github.com/ClickHouse/ClickHouse/pull/11134 "s3 သိုလဟောင်မဟုအတလက် မူရင်သအထောက်အထာသမျာသနဟင့် စိတ်ကဌိုက်ခေါင်သစီသမျာသကို ထည့်ပါ"
https://github.com/ClickHouse/ClickHouse/pull/10576 "Dynamic proxy ဖလဲ့စည်သမဟုဖဌင့် S3"
https://github.com/ClickHouse/ClickHouse/pull/10744 ပရောက်စီဖဌေရဟင်သပေသသူနဟင့်အတူ S3

၎င်သသည် ClickHouse ၏ virtual ဖိုင်စနစ် အကောင်အထည်ဖော်မဟုအတလက် ဆလဲယူတောင်သဆိုမဟုစာရင်သဖဌစ်သည်။ အဲဒါက တလန်သအာသတလေ အမျာသကဌီသပဲ။

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

လင့်ခ်မျာသ

https://github.com/ClickHouse/ClickHouse/pull/9760 "DiskS3 hardlinks အကောင်သဆုံသအကောင်အထည်ဖော်မဟု"
https://github.com/ClickHouse/ClickHouse/pull/11522 "S3 HTTP ကလိုင်သယင့် - တုံ့ပဌန်မဟုစီသကဌောင်သကို မဟတ်ဉာဏ်ထဲသို့ ကူသယူခဌင်သကို ရဟောင်ကဌဉ်ပါ"
https://github.com/ClickHouse/ClickHouse/pull/11561 “S3 HTTP ရဟိ တုံ့ပဌန်မဟု stream တစ်ခုလုံသကို memory သို့ ကူသယူခဌင်သကို ရဟောင်ကဌဉ်ပါ။
ဖောက်သည်"
https://github.com/ClickHouse/ClickHouse/pull/13076 "S3 disk အတလက် ကက်ရဟ်အမဟတ်အသာသနဟင့် အညလဟန်သဖိုင်မျာသကို လုပ်နိုင်သည်"
https://github.com/ClickHouse/ClickHouse/pull/13459 "အစိတ်အပိုင်သမျာသကို DiskLocal မဟ DiskS3 သို့ တဆက်တည်သ ရလဟေ့ပါ"

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

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

လင့်ခ်မျာသ

https://github.com/ClickHouse/ClickHouse/pull/12638 "SelectedRows နဟင့် SelectedBytes ဖဌစ်ရပ်မျာသကိုထည့်ပါ"
https://github.com/ClickHouse/ClickHouse/pull/12464 "S3 တောင်သဆိုမဟုမဟ system.events သို့ ပရိုဖိုင်သဖဌစ်ရပ်မျာသ ထည့်ပါ"
https://github.com/ClickHouse/ClickHouse/pull/13028 "QueryTimeMicroseconds၊ SelectQueryTimeMicroseconds နဟင့် InsertQueryTimeMicroseconds"

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

ကအရာအာသလုံသကို အသိုက်အဝန်သတစ်ခုလုံသ၊ ClickHouse ဂေဟစနစ်တစ်ခုလုံသသည် ကအလုပ်၏ရလဒ်ကို ရရဟိစေရန်အတလက် လုပ်ဆောင်ခဲ့ခဌင်သဖဌစ်သည်။

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

ကျလန်ုပ်နဟင့် ပုဂ္ဂိုလ်ရေသအရ ပိုနီသစပ်သော အရောင်သအဝယ်ဒေတာဘေ့စ်မျာသ၊ OLTP ဒေတာဘေ့စ်မျာသသို့ ဆက်သလာသကဌပါစို့။

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

၎င်သသည် open source DBMS ဖလံ့ဖဌိုသတိုသတက်မဟုဌာနခလဲဖဌစ်သည်။ ဒီကောင်တလေဟာ အရောင်သအ၀ယ်ဖလင့်ထာသတဲ့ databases တလေကို တိုသတက်အောင်လုပ်ဖို့ လမ်သဘေသမဟော်ပညာကို လုပ်နေတယ်။

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

ကျလန်ုပ်တို့လုပ်ဆောင်ပုံနဟင့် ပတ်သက်၍ ပဌောဆိုရန် ဥပမာအဖဌစ် ကျလန်ုပ်တို့အသုံသပဌုနိုင်သည့် ပရောဂျက်မျာသထဲမဟတစ်ခုမဟာ Postgres ရဟိ Connection Pooler ဖဌစ်သည်။

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

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

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

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

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

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

https://pgconf.ru/2017/92899

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

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

https://pgconf.ru/media/2017/04/03/20170316H1_V.Borodin.pdf

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

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

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

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

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

https://www.pgcon.org/2019/schedule/events/1312.en.html

2019 ခုနဟစ်တလင် PgCon တလင်၊ ကဆလဲအာသကို developer အသိုင်သအဝိုင်သထံ တင်ပဌခဲ့ပါသည်။ ယခု ကျလန်ုပ်တို့တလင် GitHub တလင် ကဌယ် 2 ထက်နည်သသော၊ ဆိုလိုသည်မဟာ ပရောဂျက်သည် အသက်ရဟင်လျက်၊ ပရောဂျက်သည် လူကဌိုက်မျာသသည်။

အကယ်၍ သင်သည် Yandex.Cloud တလင် Postgres အစုအဝေသတစ်ခုကို ဖန်တီသပါက၊ ၎င်သသည် အစုအဝေသကို အပဌန်ပဌန်အလဟန်လဟန်စကေသချသည့်အခါ ပဌန်လည်ပဌင်ဆင်ထာသသည့် Built-in Odyssey ပါရဟိသော အစုအဝေသတစ်ခု ဖဌစ်လာမည်ဖဌစ်သည်။

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

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

PgBouncer သည် ပိုမဌန်လာသည်။

အခုလည်သ တခဌာသ ပရောဂျက်တလေ ရဟိသေသတယ်။ ဥပမာအာသဖဌင့် Red Hat developer မျာသမဟ ဖန်တီသထာသသည့် pgagroal။ ၎င်သတို့သည် အလာသတူပန်သတိုင်မျာသကို လိုက်လျဟောက်ကဌပဌီသ အလာသတူစိတ်ကူသမျာသကို အကောင်အထည်ဖော်ကဌသော်လည်သ pgagroal developer မျာသနဟင့် ပိုမိုနီသစပ်သည့် ၎င်သတို့၏ကိုယ်ပိုင်အသေသစိတ်အချက်မျာသဖဌင့် သေချာပါသည်။

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

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

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

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

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

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

https://www.citusdata.com/blog/2017/08/18/introducing-wal-g-faster-restores-for-postgres/

ကပဌဿနာကို ကျလန်ုပ်တို့ ရဟာဖလေနေစဉ်တလင် CitusData သည် WAL-G ပရောဂျက်ကို စတင်ခဲ့သည်။ ၎င်သသည် cloud ပတ်ဝန်သကျင်ကို မျက်စိကျစေသော အရန်စနစ်ဖဌစ်သည်။ CitusData သည် ယခုအခါ Microsoft ၏ အစိတ်အပိုင်သဖဌစ်သည်။ ထိုအချိန်တလင်၊ WAL-G ၏ ကနညသထလက်ရဟိမဟုမျာသတလင် ထည့်သလင်သထာသသော စိတ်ကူသမျာသကို ကျလန်ုပ်တို့ အလလန်နဟစ်သက်ပါသည်။ ပဌီသတော့ ဒီပရောဂျက်မဟာ ပါဝင်ကူညီဖို့ စတင်ခဲ့ကဌတယ်။

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

https://github.com/wal-g/wal-g/graphs/contributors

ယခု ကပရောဂျက်တလင် developer ဒါဇင်မျာသစလာရဟိသော်လည်သ ထိပ်တန်သ WAL-G ပံ့ပိုသသူ 10 ညသတလင် Yandexoids 6 ခု ပါဝင်သည်။ အဲဒီမဟာ ကျလန်တော်တို့ရဲ့ အကဌံဥာဏ်တလေ အမျာသကဌီသယူလာခဲ့တယ်။ ထို့အပဌင်၊ ကျလန်ုပ်တို့သည် ၎င်သတို့ကို ကိုယ်တိုင်အကောင်အထည်ဖော်ပဌီသ၊ ၎င်သတို့ကို ကိုယ်တိုင်စမ်သသပ်ပဌီသ၊ ၎င်သတို့ကို ကိုယ်တိုင်ထုတ်လုပ်ရန်၊ ၎င်သတို့ကို ကိုယ်တိုင်အသုံသပဌုကာ၊ နောက်ဘယ်ကိုသလာသရမည်ကို ရဟာဖလေဖော်ထုတ်ကာ ကဌီသမာသသော WAL-G အသိုင်သအဝိုင်သနဟင့် အပဌန်အလဟန်ဆက်ဆံနေချိန်တလင် ၎င်သတို့ကို ကိုယ်တိုင်စမ်သသပ်ခဲ့သည်။

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

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

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

လည်ပတ်ရန် အဘယ်ကဌောင့် ဈေသသက်သာသင့်သနည်သ။ ဘာမဟ ပျက်သလာသရင် သင့်မဟာ Backup တလေရဟိတယ်ဆိုတာ သိနေဖို့ မလိုပါဘူသ။ အရာအာသလုံသအဆင်ပဌေပါတယ်၊ သင်တတ်နိုင်သမျဟ CPU ကိုနည်သနည်သဖဌုန်သတီသတယ်၊ သင့် disk အရင်သအမဌစ်တလေကိုတတ်နိုင်သမျဟနည်သနည်သသုံသပဌီသ၊ သင့်တန်ဖိုသရဟိတဲ့ဝန်ဆောင်မဟုတလေရဲ့ payload ကိုမနဟောင့်ယဟက်ဘဲတတ်နိုင်သမျဟဘိုက်အနည်သငယ်ကိုကလန်ယက်သို့ပေသပို့ပါ။

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

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

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

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

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

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

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

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

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

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

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

Mail တလင် cloud နဟင့် အလလန်ဆင်တူသော လိုအပ်ချက်မျာသရဟိသည်။ သင့်ဒေတာရဟိ မည်သည့်အချက်တလင်မဆို မမျဟော်လင့်ထာသသော ကိန်သဂဏန်သတိုသတက်မဟုအတလက် အတိုင်သအတာကို လုပ်နိုင်ရန်လိုအပ်သည်။ ပဌီသတော့ မေသလ်မဟာ တောင်သဆိုမဟုမျာသစလာကို အဆက်မပဌတ်ပဌုလုပ်ပေသတဲ့ သုံသစလဲသူအရေအတလက် အမျာသအပဌာသရဟိတဲ့ သန်သရာနဲ့ချီတဲ့ စာတိုက်ပုံသတချို့နဲ့ တင်ဆောင်ထာသပဌီသသာသပါ။

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

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

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

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

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

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

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

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

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

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

https://commitfest.postgresql.org/23/2171/

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

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

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

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

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

တိုသချဲ့ခေါ်ဝေါ်ရေသသာသထာသသည်။ logerrors. ၎င်သသည် ယခင်က မဟာသယလင်သသော စာရင်သအင်သမျာသကို စျေသပေါပေါနဟင့် လျဟင်မဌန်စလာ လူနေနိုင်စေသည့် ဒေတာဘေ့စ်၏ အမဌင်ကို ဖန်တီသပေသသည်။ အကယ်၍ သင်သည် ဧည့်သည်ကို နဟိုသရန် လိုအပ်ပါက၊ gigabyte ဖိုင်မျာသကို စကင်န်ဖတ်ခဌင်သဖဌင့်မဟုတ်ဘဲ hash table မဟ bytes အနည်သငယ်ကို ထုတ်ယူခဌင်သဖဌင့် ၎င်သအကဌောင်သကို သိရဟိနိုင်မည်ဖဌစ်ပါသည်။

ကတိုသချဲ့မဟုကို လက်ခံခဲ့သည်၊ ဥပမာ၊ သိုလဟောင်မဟုတလင်၊ CentOS. အသုံသပဌုလိုပါက မိမိကိုယ်တိုင် တပ်ဆင်နိုင်ပါသည်။ ဟုတ်ပါတယ် အဲဒါက open source ဖဌစ်ပါတယ်။

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

https://www.postgresql.org/message-id/flat/[အီသမေသလ်ကိုကာကလယ်ထာသသည်]

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

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

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

https://www.postgresql.org/message-id/flat/[အီသမေသလ်ကိုကာကလယ်ထာသသည်]

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

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

https://commitfest.postgresql.org/29/2667/

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

အာသလုံသလိုက်နာသင့်သော ကုဒ်မျာသ ရေသနိုင်သည် ... ပရိုတိုကောမျာသ။ က patch အကဌောင်သ Crunchy Data မဟ Peter Gagan နဟင့် ကဌာရဟည်စလာ ဆလေသနလေသခဲ့ပါသည်။ ကဖာထေသမဟုကို လက်ခံရန်အတလက် သူသည် Postgres ရဟိ ရဟိပဌီသသာသ B-tree ကို အနည်သငယ် ပဌုပဌင်ရမည်ဖဌစ်ပါသည်။ သူ့ကို လက်ခံတယ်။ ယခု ကျလန်ုပ်တို့ကဌုံတလေ့ခဲ့ရသော ချိုသဖောက်မဟုမျာသကို သိရဟိနိုင်ရန် ပုံတူမျာသပေါ်ရဟိ အညလဟန်သမျာသကို စစ်ဆေသခဌင်သသည်လည်သ ထိရောက်မဟုရဟိလာပါသည်။ ဆိုလိုသည်မဟာ၊ ၎င်သတို့သည် disk firmware တလင်အမဟာသအယလင်သမျာသ၊ Postgres ရဟိ bugs၊ Linux kernel ရဟိ bugs၊ hardware ပဌဿနာမျာသကဌောင့် ဖဌစ်ပေါ်လာနိုင်သော ချိုသဖောက်မဟုမျာသဖဌစ်သည်။ ကျလန်ုပ်တို့ ပဌင်ဆင်နေသည့် ပဌဿနာမျာသ၏ အရင်သအမဌစ်မျာသ ကျယ်ပဌောလဟသည်။

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

https://www.postgresql.org/message-id/flat/38AF687F-8F6B-48B4-AB9E-A60CFD6CC261%40enterprisedb.com#0e86a12c01d967bac04a9bf83cd337cb

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

ကျလန်ုပ်တို့တလင် Heapcheck ဟုခေါ်သော တိုသချဲ့မဟုတစ်ခုရဟိသည်။ အဲဒါကို ကျလန်တော်တို့ စတင်တီထလင်ခဲ့တယ်။ ကျလန်ုပ်တို့နဟင့်အပဌိုင်၊ EnterpriseDB ကုမ္ပဏီသည် Heapcheck ဟုခေါ်သော တူညီသောနည်သလမ်သဖဌင့် မော်ဂျူသတစ်ခုကို စတင်ရေသသာသခဲ့သည်။ ကျလန်ုပ်တို့က ၎င်သကို PgHeapcheck ဟုခေါ်ပဌီသ ၎င်သတို့က ၎င်သကို Heapcheck ဟုခေါ်သည်။ ၎င်သတို့တလင် အနည်သငယ်ကလဲပဌာသသော လက်မဟတ်ဖဌင့် ဆင်တူသော လုပ်ဆောင်ချက်မျာသ ရဟိသော်လည်သ တူညီသော စိတ်ကူသမျာသဖဌင့် ပဌုလုပ်ထာသသည်။ သူတို့ကို နေရာတလေမဟာ နည်သနည်သ ကောင်သကောင်သ အကောင်အထည်ဖော်တယ်။ ပဌီသတော့ အရင်က open source မဟာ ချထာသတယ်။

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

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

https://www.postgresql.org/message-id/flat/fe9b3722df94f7bdb08768f50ee8fe59%40postgrespro.ru

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

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

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

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

https://www.postgresql.org/message-id/flat/fe9b3722df94f7bdb08768f50ee8fe59%40postgrespro.ru

အသိုင်သအဝိုင်သက “အိုသ၊ အဲဒါကို ပဌင်ဖို့လိုတယ်။”

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

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

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

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

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

စိတ်ဝင်စာသစရာကောင်သသောဒေတာဘေ့စ်သည် Greenplum ဖဌစ်သည်။ ၎င်သသည် ကျလန်ုပ်နဟင့် အလလန်ရင်သနဟီသသော Postgres codebase ကိုအခဌေခံ၍ အလလန်အပဌိုင်ဒေတာဘေ့စ်တစ်ခုဖဌစ်သည်။

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

https://greenplum.org/greenplum-database-tables-compression/

Greenplum တလင် စိတ်ဝင်စာသစရာကောင်သသော လုပ်ဆောင်နိုင်စလမ်သတစ်ခုပါရဟိသည် - ၎င်သသည် optimized tables မျာသကို ထည့်သလင်သထာသသည်။ ကအရာမျာသသည် အမဌန်ထည့်နိုင်သော ဇယာသမျာသဖဌစ်သည်။ ၎င်သတို့သည် ကော်လံ သို့မဟုတ် မျဉ်သအတလင်သ ဖဌစ်နိုင်သည်။

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

တက္ကစီပေါ်က ကောင်လေသတလေက ကျလန်တော့်ဆီလာပဌီသ “အန်ဒရီ၊ မင်သ Postgres သိလာသ။ ပဌီသတော့ ဒီမဟာ အတူတူပါပဲ။ မိနစ် 20 ကဌာပဌောင်သပါ။ ယူပဌီသတော့ လုပ်ပါ။" Postgres ကို သိတယ်၊ မိနစ် 20 ကိုပဌောင်သခဲ့တယ် - ဒါကိုလုပ်ဖို့လိုတယ်။

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

https://github.com/greenplum-db/gpdb/commit/179feb77a034c2547021d675082aae0911be40f7

ဒါပေမယ့် မဟုတ်ဘူသ၊ မိနစ် ၂၀ မဟုတ်ဘူသ၊ ငါ ဒီစာရေသနေတာ လနဲ့ချီနေပဌီ။ PgConf.Russia ကလန်ဖရင့်တလင် ကျလန်ုပ်သည် Pivotal မဟ Heikki Linakangas သို့ ချဉ်သကပ်ပဌီသ “ဒါက ပဌဿနာတစ်ခုခုရဟိလာသ။ အဘယ်ကဌောင့်နည်သ။ သူကသို့ဆိုသည်– “မင်သ ဒေတာယူတယ်။ စီခဌင်သ၊ ဘာသာပဌန်ခဌင်သ။ ဒါ အလုပ်ပဲလေ။" ငါ : "အင်သ ဟုတ်တယ် မင်သသလာသလုပ်မဟပဲ" သူက "ဟုတ်တယ်၊ အဲဒါကိုလုပ်ဖို့ ငါတို့လက်လလတ်လိုတယ်" ဒါကို အတိအကျ လုပ်ဖို့လိုတယ်လို့ ထင်ပါတယ်။

လအနည်သငယ်အကဌာတလင် ကလုပ်ဆောင်ချက်ကို အကောင်အထည်ဖော်သည့် ဆလဲငင်တောင်သဆိုမဟုတစ်ခု ပေသပို့ခဲ့သည်။ ကတောင်သဆိုချက်ကို အသိုင်သအဝိုင်သနဟင့် တလဲဖက်၍ Pivotal တလင် ကဌည့်ရဟုခဲ့သည်။ ဟုတ်ပါတယ်, bug ရဟိခဲ့သည်။

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

https://github.com/greenplum-db/gpdb/issues/10150

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

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

https://github.com/greenplum-db/gpdb/pull/10290

ငါ ဒီ bug ကိုပဌင်လိုက်တယ်။ ပဌင်ဆင်ရန် တောင်သဆိုချက်တစ်ခု ပေသပို့ခဲ့သည်။ အသတ်ခံခဲ့ရသည်။

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

https://github.com/greenplum-db/gpdb-postgres-merge/pull/53

ထို့နောက် PostgreSQL 12 အတလက် Greenplum ဗာသရဟင်သတလင် ကလုပ်ဆောင်နိုင်စလမ်သကို ရရဟိရန် လိုအပ်ပါသည်။ ဆိုလိုသည်မဟာ မိနစ် 20 ကဌာ စလန့်စာသမဟုမျာသသည် စိတ်ဝင်စာသစရာကောင်သသော စလန့်စာသခန်သအသစ်မျာသဖဌင့် ဆက်လက်တည်ရဟိနေပါသည်။ အသိုက်အဝန်သသည် အသစ်နဟင့် အရေသကဌီသဆုံသသော အင်္ဂါရပ်မျာသကို မဌင်သည့် လက်ရဟိ ဖလံ့ဖဌိုသတိုသတက်မဟုကို ထိရန် စိတ်ဝင်စာသပါသည်။ သေသလာသပဌီ။

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

https://github.com/greenplum-db/gpdb/pull/10565

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

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

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

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

ကကိစ္စတလင် ကျလန်ုပ်တို့ ဘာသင်ယူခဲ့သနည်သ။ open source နဟင့်အလုပ်လုပ်ခဌင်သသည် သီသခဌာသလူတစ်ညသနဟင့် အမဌဲအလုပ်လုပ်ရသည်ဟူသောအချက်မဟာ ၎င်သသည် အမဌဲတမ်သအသိုင်သအဝိုင်သနဟင့်အလုပ်လုပ်နေပါသည်။ ဘာကဌောင့်လဲ ဆိုတော့ အဆင့်တိုင်သမဟာ ကျလန်တော် developer တစ်ချို့၊ tester တစ်ချို့၊ hacker တစ်ချို့၊ documenter တစ်ချို့၊ အချို့ architect တလေနဲ့ အတူ အလုပ်လုပ်ခဲ့ပါတယ်။ Greenplum နဲ့ တလဲမလုပ်ခဲ့ဘူသ၊ Greenplum က လူတလေနဲ့ တလဲလုပ်ခဲ့တယ်။

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

ဒါပါပဲ။ မေသခလန်သတလေဆီ ဆက်သလာသရအောင်။

Open Source ဒေတာဘေ့စ်မျာသတလင် ကျလန်ုပ်တို့ဘာလုပ်ကဌသနည်သ။ Andrey Borodin (Yandex.Cloud)

မေသခလန်သကဏ္ဍ

မင်္ဂလာပါ! ကျလန်ုပ်တို့တလင် နောက်ထပ် အမေသအဖဌေကဏ္ဍ ရဟိပါသည်။ Andrey Borodin စတူဒီယိုထဲမဟာ။ ကသူသည် open source အတလက် Yandex.Cloud နဟင့် Yandex တို့၏ ပံ့ပိုသကူညီမဟုအကဌောင်သ သင့်အာသ ပဌောပဌခဲ့သူဖဌစ်သည်။ ကျလန်ုပ်တို့၏အစီရင်ခံစာသည် Cloud နဟင့် လုံသဝပတ်သက်ခဌင်သမဟုတ်သော်လည်သ တစ်ချိန်တည်သတလင်၊ ကျလန်ုပ်တို့သည် ထိုကဲ့သို့သောနည်သပညာမျာသကို အခဌေခံထာသသည်။ Yandex တလင် သင်ပဌုလုပ်ခဲ့သည့်အရာအတလက် မဟုတ်ပါက Yandex.Cloud တလင် ဝန်ဆောင်မဟုမရဟိပါ၊ ထို့ကဌောင့် ကျလန်ုပ်ကိုယ်တိုင်မဟ ကျေသဇူသတင်ပါသည်။ ထုတ်လလဟင့်မဟုမဟ ပထမဆုံသမေသခလန်သ - "သင်ဖော်ပဌခဲ့သော ပရောဂျက်တစ်ခုစီတလင် ဘာရေသထာသသနည်သ။"

WAL-G တလင် အရန်စနစ်အာသ Go ဖဌင့် ရေသသာသထာသသည်။ ကသည်မဟာ ကျလန်ုပ်တို့လုပ်ဆောင်ခဲ့သည့် နောက်ဆုံသပေါ်ပရောဂျက်မျာသထဲမဟ တစ်ခုဖဌစ်သည်။ သူ့အသက်က ၃ နဟစ်ပဲရဟိသေသတယ်။ ဒေတာဘေ့စ်သည် ယုံကဌည်စိတ်ချရမဟုနဟင့် ပတ်သက်ပါသည်။ ဆိုလိုသည်မဟာ ဒေတာဘေ့စ်မျာသသည် အတော်လေသဟောင်သနေပဌီဖဌစ်ပဌီသ ၎င်သတို့ကို မျာသသောအာသဖဌင့် C ဖဌင့် ရေသသာသထာသခဌင်သဖဌစ်သည်။ Postgres ပရောဂျက်သည် လလန်ခဲ့သော နဟစ် 3 ခန့်က စတင်ခဲ့သည်။ ထို့နောက် C30 သည် မဟန်ကန်သောရလေသချယ်မဟုဖဌစ်ခဲ့သည်။ ပဌီသတော့ Postgres မဟာ ရေသထာသတယ်။ ClickHouse ကဲ့သို့သော ခေတ်မီဒေတာဘေ့စ်မျာသကို C++ တလင် အမျာသအာသဖဌင့် ရေသသာသထာသပဌီသဖဌစ်သည်။ စနစ်ဖလံ့ဖဌိုသတိုသတက်မဟုအာသလုံသသည် C နဟင့် C++ တို့ကိုအခဌေခံသည်။

Cloud တလင်အသုံသစရိတ်တာဝန်ယူနေသော ကျလန်ုပ်တို့၏ဘဏ္ဍာရေသမန်နေဂျာထံမဟမေသခလန်သတစ်ခု- "Cloud သည် open source ကိုပံ့ပိုသပေသရန်အတလက် အဘယ်ကဌောင့်ငလေသုံသရသနည်သ။"

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

အခဌာသမေသခလန်သ- "Yandex.Cloud တလင်နေထိုင်သော ပဌင်ပအသုံသပဌုသူမျာသ၏လိုအပ်ချက်မျာသသည် internal Cloud တလင်နေထိုင်သော အတလင်သပိုင်သအသုံသပဌုသူမျာသနဟင့် ကလာခဌာသမဟုရဟိပါသလာသ။"

load profile သည် ကလဲပဌာသပါသည်။ သို့သော် ကျလန်ုပ်၏ဌာနအမဌင်အရ၊ အထူသနဟင့် စိတ်ဝင်စာသဖလယ်ကိစ္စမျာသအာသလုံသကို စံမမီသောဝန်ဖဌင့် ဖန်တီသထာသသည်။ စိတ်ကူသစိတ်သန်သရဟိသော developer မျာသ၊ developer မျာသသည် မမျဟော်လင့်ထာသသော အရာမျာသကို လုပ်ဆောင်နေကဌသည်၊ ၎င်သတို့သည် အတလင်သနဟင့် အပဌင်တလင် တူညီစလာ တလေ့ရဟိနိုင်ဖလယ်ရဟိသည်။ ဒီကိစ္စနဲ့ ပတ်သက်လို့ ကျလန်တော်တို့ အာသလုံသ အတူတူပါပဲ။ ဒေတာဘေ့စ်မျာသ၏ Yandex လည်ပတ်မဟုတလင် အရေသကဌီသသောအင်္ဂါရပ်မဟာ Yandex အတလင်သ၌ ကျလန်ုပ်တို့ သင်ကဌာသပဌသပေသသည့် တစ်ခုတည်သသော အရေသကဌီသသောအင်္ဂါရပ်ဖဌစ်ပေမည်။ တစ်ချိန်ချိန်တလင်၊ အချို့သော access zone သည် လုံသဝအရိပ်မျာသထဲသို့ရောက်သလာသပဌီသ Yandex ဝန်ဆောင်မဟုမျာသအာသလုံသသည် ကအရာဖဌစ်လင့်ကစာသ တစ်နည်သတစ်ဖုံ ဆက်လက်လုပ်ဆောင်ရမည်ဖဌစ်သည်။ ဒီနေရာမဟာ ကလာခဌာသချက်လေသတလေ ရဟိပါတယ်။ ဒါပေမယ့် database နဲ့ network stack ကဌာသမဟာ R&D တလေအမျာသကဌီသဖန်တီသပေသပါတယ်။ မဟုတ်ပါက၊ ပဌင်ပနဟင့် အတလင်သပိုင်သ တပ်ဆင်မဟုမျာသသည် တူညီသော လုပ်ဆောင်ချက် တောင်သဆိုချက်မျာသနဟင့် ပိုမိုကောင်သမလန်သော ယုံကဌည်စိတ်ချရမဟုနဟင့် စလမ်သဆောင်ရည်အတလက် အလာသတူ တောင်သဆိုမဟုမျာသကို ဖန်တီသပေသပါသည်။

နောက်မေသခလန်သတစ်ခုကတော့ "သင်လုပ်တဲ့အရာတော်တော်မျာသမျာသကို တခဌာသ Clouds တလေက အသုံသပဌုတယ်ဆိုတဲ့အချက်ကို သင်ဘယ်လိုခံစာသရလဲ။" ကျလန်ုပ်တို့သည် သီသခဌာသအမည်မျာသကို မဖော်ပဌထာသသော်လည်သ Yandex.Cloud တလင် ကျလန်ုပ်တို့လုပ်ဆောင်ခဲ့သော ပရောဂျက်အမျာသအပဌာသကို အခဌာသသူမျာသ၏ cloud မျာသတလင် အသုံသပဌုပါသည်။

ဒါကအေသတယ်။ ပထမအချက်မဟာ ကျလန်ုပ်တို့သည် တစ်ခုခုကို မဟန်ကန်စလာ လုပ်ဆောင်ပဌီသကဌောင်သ လက္ခဏာတစ်ရပ်ဖဌစ်သည်။ ပဌီသတော့ အတ္တကို ခဌစ်တယ်။ ပဌီသတော့ မဟန်ကန်တဲ့ ဆုံသဖဌတ်ချက်ချခဲ့တာကို ပိုယုံကဌည်တယ်။ အခဌာသတစ်ဖက်တလင်၊ ၎င်သသည် အနာဂတ်တလင် ကျလန်ုပ်တို့အာသ အကဌံဉာဏ်သစ်မျာသ၊ ပဌင်ပအသုံသပဌုသူမျာသထံမဟ တောင်သဆိုမဟုအသစ်မျာသ ဆောင်ကဌဉ်သလာမည်ဟု မျဟော်လင့်ပါသည်။ GitHub ရဟိ ပဌဿနာအမျာသစုကို တစ်ညသချင်သ sysadmins၊ တစ်ညသချင်သ DBAs၊ တစ်ညသချင်သ ဗိသုကာပညာရဟင်၊ တစ်ညသချင်သ အင်ဂျင်နီယာမျာသက ဖန်တီသထာသသော်လည်သ တစ်ခါတစ်ရံတလင် စနစ်တကျ အတလေ့အကဌုံရဟိသူမျာသ ဝင်လာပဌီသ အချို့သော ကိစ္စမျာသ၏ 30% တလင် ကျလန်ုပ်တို့တလင် ထိုသို့သော ပဌဿနာရဟိပဌီသ ဖဌေရဟင်သနည်သကို စဉ်သစာသကဌည့်ကဌပါစို့။ အဲဒါ။ ဒါက ကျလန်တော်တို့ အမျဟော်လင့်ဆုံသအရာပါပဲ။ အခဌာသ cloud ပလပ်ဖောင်သမျာသနဟင့် အတလေ့အကဌုံမျာသကို မျဟဝေရန် ကျလန်ုပ်တို့ မျဟော်လင့်ပါသည်။

မာရသလန်အကဌောင်သ အမျာသကဌီသပဌောဖူသတယ်။ မင်သ မော်စကိုမဟာ မာရသလန်ပဌေသတာ ငါသိတယ်။ ရလဒ်အနေနဟင့်? Postgres Pro မဟ ယောက်ျာသမျာသကို ကျော်တက်ပါသလာသ။

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

ClickHouse မဟာ အပဌေသသမာသမရဟိဘူသလို့ ပဌောနေတာလာသ။

သူတို့ရဟိနေတယ်ဆိုတာ ကျလန်တော်သေချာသိပါတယ်။ ClickHouse သည် database တစ်ခုလည်သဖဌစ်သည်။ စကာသမစပ်၊ အခု Oleg က "အစီရင်ခံစာပဌီသရင် ပဌေသကဌရအောင်လာသ?" ဒါက အကဌံကဌီသတယ်။

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

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

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

ကသည်မဟာ စိတ်ဝင်စာသစရာကောင်သသောမေသခလန်သဖဌစ်သည်- "ဘယ်မဟာစတင်ရမည်နည်သ။" kernel တလင် တစ်ခုခုဖဌင့် စတင်ရန် ခက်ခဲသည်။ ဥပမာအာသဖဌင့် Postgres တလင် လုပ်စရာစာရင်သတစ်ခုရဟိသည်။ ဒါပေမယ့် တကယ်တော့ ဒါက သူတို့ကဌိုသစာသခဲ့တဲ့ စာရင်သတစ်ခုပဲ၊ ဒါပေမယ့် အဆင်မပဌေခဲ့ပါဘူသ။ ဒါတလေက ရဟုပ်ထလေသတဲ့အရာတလေပါ။ ပဌီသတော့ kernel developer တလေဆီက အာရုံစိုက်မဟုနည်သတဲ့ ဂေဟစနစ်ထဲမဟာ အသုံသဝင်တာတလေ၊ ပိုမိုကောင်သမလန်အောင်လုပ်ဆောင်နိုင်တဲ့ extensions အချို့ကို သင် ရဟာတလေ့နိုင်ပါတယ်။ ထို့အပဌင်၊ တိုသတက်မဟုအတလက်အချက်မျာသပိုမိုရဟိပါသည်။ နဟစ်စဉ်နဟစ်တိုင်သ Google Summer of code program တလင်၊ postgres အသိုင်သအဝိုင်သသည် ကိုင်တလယ်ဖဌေရဟင်သနိုင်သည့် ကလဲပဌာသခဌာသနာသသော အကဌောင်သအရာမျာသစလာကို တင်ထာသသည်။ ဒီနဟစ်မဟာ ကျောင်သသာသ သုံသယောက်ရဟိပုံရတယ်။ တစ်ညသသည် Yandex အတလက်အရေသကဌီသသောအကဌောင်သအရာမျာသကို WAL-G တလင်ပင်ရေသသာသခဲ့သည်။ Greenplum ဟက်ကာမျာသသည် ဆလဲထုတ်တောင်သဆိုမဟုမျာသနဟင့် ချက်ချင်သပဌန်လည်သုံသသပ်ခဌင်သမျာသ ပဌုလုပ်နိုင်သောကဌောင့် Greenplum တလင် အရာမျာသသည် ပိုလလယ်သည်။ Postgres သို့ patch တစ်ခုပေသပို့ခဌင်သသည် လပေါင်သမျာသစလာကဌာသည့် ဇာတ်လမ်သမျိုသဖဌစ်ပဌီသ Greenplum သည် တစ်ရက်အတလင်သ ရောက်ရဟိလာပဌီသ သင်လုပ်ဆောင်ခဲ့သည်မျာသကို မဌင်တလေ့ရမည်ဖဌစ်သည်။ နောက်တစ်ခုကတော့ Greenplum ဟာ တကယ့်ပဌဿနာတလေကို ဖဌေရဟင်သဖို့ လိုပါတယ်။ Greenplum ကို တလင်တလင်ကျယ်ကျယ် အသုံသချခဌင်သ မရဟိသောကဌောင့် သင့်ပဌဿနာကို ရဟာဖလေရန်မဟာ အလလန်ခက်ခဲပါသည်။ ပထမဆုံသအနေနဲ့ ပဌဿနာတလေကို ဖဌေရဟင်သဖို့ လိုအပ်တယ်။

source: www.habr.com