လုံခဌုံရေသနဟင့် DBMS- လုံခဌုံရေသကိရိယာမျာသကို ရလေသချယ်ရာတလင် သင်မဟတ်သာသထာသရမည့်အရာ

လုံခဌုံရေသနဟင့် DBMS- လုံခဌုံရေသကိရိယာမျာသကို ရလေသချယ်ရာတလင် သင်မဟတ်သာသထာသရမည့်အရာ

ကျလန်ုပ်၏အမည်မဟာ Denis Rozhkov ဖဌစ်ပါသည်၊ ကျလန်ုပ်သည် ထုတ်ကုန်အဖလဲ့တလင် Gazinformservice ကုမ္ပဏီမဟ ဆော့ဖ်ဝဲလ်ဖလံ့ဖဌိုသတိုသတက်ရေသအကဌီသအကဲဖဌစ်သည်။ ယာတိုဘာ. ဥပဒေမျာသနဟင့် ကော်ပိုရိတ်စည်သမျဉ်သမျာသသည် ဒေတာသိမ်သဆည်သမဟုလုံခဌုံရေသအတလက် အချို့သောလိုအပ်ချက်မျာသကို ပဌဌာန်သထာသသည်။ လျဟို့ဝဟက်အချက်အလက်မျာသကို ပဌင်ပအဖလဲ့အစည်သမျာသထံ မည်သူမဟဝင်ရောက်ခလင့်မပေသစေလိုသောကဌောင့် မည်သည့်ပရောဂျက်အတလက်မဆို အောက်ပါပဌဿနာမျာသသည် အရေသကဌီသသည်- ခလဲခဌာသခဌင်သနဟင့် စစ်မဟန်ကဌောင်သအထောက်အထာသပဌခဌင်သ၊ ဒေတာဝင်ရောက်ခလင့်ကို စီမံခန့်ခလဲခဌင်သ၊ စနစ်အတလင်သရဟိ အချက်အလက်မျာသ၏ ခိုင်မာမဟုရဟိစေရန်၊ လုံခဌုံရေသဖဌစ်ရပ်မျာသကို မဟတ်တမ်သတင်ခဌင်သ။ ထို့ကဌောင့် DBMS လုံခဌုံရေသနဟင့်ပတ်သက်၍ စိတ်ဝင်စာသဖလယ်အချက်အချို့ကို ပဌောပဌလိုပါသည်။

မိန့်ခလန်သကို အခဌေခံ၍ ဆောင်သပါသကို ပဌင်ဆင်ခဲ့ပါသည်။ @DatabasesMeetup၊ စနစ်တကျ Mail.ru တိမ်တိုက်ဖဌေရဟင်သချက်. မဖတ်ချင်ရင်တော့ ကဌည့်နိုင်ပါတယ်


ဆောင်သပါသတလင် အပိုင်သသုံသပိုင်သပါလိမ့်မည်-

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

လုံခဌုံရေသနဟင့် DBMS- လုံခဌုံရေသကိရိယာမျာသကို ရလေသချယ်ရာတလင် သင်မဟတ်သာသထာသရမည့်အရာ
DBMS လုံခဌုံရေသ၏ အစိတ်အပိုင်သသုံသခု- ချိတ်ဆက်မဟုကာကလယ်ရေသ၊ လုပ်ဆောင်ချက်စစ်ဆေသမဟုနဟင့် ဒေတာကာကလယ်ရေသ

သင်၏ချိတ်ဆက်မဟုမျာသကို လုံခဌုံစေခဌင်သ။

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

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

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

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

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

    အသုံသပဌုသူ အဆင့်သတ်မဟတ်ခဌင်သ လုပ်ဆောင်ချက်မျာသအကဌောင်သ ပိုမိုဖတ်ရဟုနိုင်ပါသည်။ ဒီမဟာMS SQL Vulnerability Assessmen ကိုလည်သ သင်ရဟာဖလေနိုင်ပါသည်။ ဒီမဟာ

  3. လိုအပ်သော အချက်အလက်မျာသဖဌင့် စက်ရဟင်၏ ဆက်စပ်မဟုကို ဖဌည့်တင်သပါ။ အကယ်၍ session သည် opaque ဖဌစ်နေပါက၊ ၎င်သ၏ဘောင်အတလင်သ DBMS တလင်မည်သူအလုပ်လုပ်သည်ကို သင်နာသမလည်ပါက၊ သင်လုပ်ဆောင်နေသည့်လုပ်ဆောင်မဟု၏ဘောင်အတလင်သတလင်၊ ဘယ်သူကဘာလုပ်သလဲ၊ ဘာကဌောင့်လုပ်နေသည်နဟင့်ပတ်သက်သည့်အချက်အလက်ကိုထည့်နိုင်သည်။ ကအချက်အလက်ကို စာရင်သစစ်တလင် တလေ့မဌင်နိုင်သည်။
  4. သင့်တလင် DBMS နဟင့် သုံသစလဲသူမျာသအကဌာသ ကလန်ရက်ခဌာသနာသမဟု မရဟိပါက SSL ကို စီစဉ်သတ်မဟတ်ပါ၊ ၎င်သသည် သီသခဌာသ VLAN တလင် မရဟိပါ။ ထိုသို့သောအခဌေအနေမျိုသတလင်၊ စာသသုံသသူနဟင့် DBMS ကိုယ်တိုင်ကဌာသချန်နယ်ကို ကာကလယ်ရန် လိုအပ်ပါသည်။ လုံခဌုံရေသကိရိယာမျာသကို open source တလင်လည်သ ရနိုင်သည်။

၎င်သသည် DBMS ၏စလမ်သဆောင်ရည်ကို မည်သို့အကျိုသသက်ရောက်မည်နည်သ။

SSL သည် CPU load ကိုမည်သို့အကျိုသသက်ရောက်သည်၊ အချိန်ကိုတိုသမဌဟင့်ခဌင်သနဟင့် TPS လျဟော့ချခဌင်သနဟင့်၎င်သကိုဖလင့်ပါကအရင်သအမဌစ်မျာသစလာကိုသုံသစလဲမည်ဆိုသည်ကိုကဌည့်ရဟုရန် PostgreSQL ၏ဥပမာကိုကဌည့်ရဟုကဌပါစို့။

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

SSL မပါဘဲ 1 ကိုစမ်သသပ်ပဌီသ SSL ကိုအသုံသပဌုပါ။ - ငလေပေသငလေယူတစ်ခုစီအတလက် ချိတ်ဆက်မဟုကို သတ်မဟတ်ထာသသည်-

pgbench.exe --connect -c 10 -t 5000 "host=192.168.220.129 dbname=taskdb user=postgres sslmode=require 
sslrootcert=rootCA.crt sslcert=client.crt sslkey=client.key"

vs

pgbench.exe --connect -c 10 -t 5000 "host=192.168.220.129 dbname=taskdb user=postgres"

SSL မပါဘဲ 2 ကိုစမ်သသပ်ပဌီသ SSL ကိုအသုံသပဌုပါ။ - ငလေပေသငလေယူအာသလုံသကို ချိတ်ဆက်မဟုတစ်ခုတည်သတလင် လုပ်ဆောင်သည်-

pgbench.exe -c 10 -t 5000 "host=192.168.220.129 dbname=taskdb user=postgres sslmode=require
sslrootcert=rootCA.crt sslcert=client.crt sslkey=client.key"

vs

pgbench.exe -c 10 -t 5000 "host=192.168.220.129 dbname=taskdb user=postgres"

အခဌာသဆက်တင်မျာသ:

scaling factor: 1
query mode: simple
number of clients: 10
number of threads: 1
number of transactions per client: 5000
number of transactions actually processed: 50000/50000

စမ်သသပ်မဟုရလဒ်:

 
SSL မရဟိပါ။
SSL ကို

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

latency ပျမ်သမျဟ
171.915 ms
187.695 ms

ချိတ်ဆက်မဟုမျာသအပါအဝင် tps
58.168112
53.278062

ချိတ်ဆက်မဟုမျာသကို တည်ထောင်ခဌင်သမဟလလဲ၍ tps
64.084546
58.725846

စီပီယူ
24%
28%

ငလေပေသငလေယူအာသလုံသကို ချိတ်ဆက်မဟုတစ်ခုတည်သတလင် လုပ်ဆောင်ပါသည်။

latency ပျမ်သမျဟ
6.722 ms
6.342 ms

ချိတ်ဆက်မဟုမျာသအပါအဝင် tps
1587.657278
1576.792883

ချိတ်ဆက်မဟုမျာသကို တည်ထောင်ခဌင်သမဟလလဲ၍ tps
1588.380574
1577.694766

စီပီယူ
17%
21%

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

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

Zabbix ကိုယုံကဌည်မဟုမုဒ်တလင်ကျလန်ုပ်တို့ချိတ်ဆက်သောအခါ၊ ဆိုလိုသည်မဟာ md5 ကိုစစ်ဆေသခဌင်သမရဟိပါ၊ အထောက်အထာသစိစစ်ရန်မလိုအပ်ပါ။ ထို့နောက် သုံသစလဲသူသည် md5 စစ်မဟန်ကဌောင်သအထောက်အထာသပဌမုဒ်ကို ဖလင့်ရန် တောင်သဆိုခဲ့သည်။ ၎င်သသည် CPU ပေါ်တလင် လေသလံသောဝန်ကို ဆောင်ထာသကာ စလမ်သဆောင်ရည် ကျဆင်သသလာသသည်။ ကျလန်ုပ်တို့သည် အကောင်သဆုံသဖဌစ်အောင် နည်သလမ်သမျာသကို ရဟာဖလေခဲ့ကဌသည်။ ပဌဿနာအတလက် ဖဌစ်နိုင်ချေရဟိသော ဖဌေရဟင်သနည်သမျာသထဲမဟတစ်ခုမဟာ ကလန်ရက်ကန့်သတ်ချက်မျာသကို အကောင်အထည်ဖော်ရန်၊ DBMS အတလက် သီသခဌာသ VLAN မျာသပဌုလုပ်ရန်၊ မည်သည့်နေရာမဟ ချိတ်ဆက်နေကဌောင်သ ရဟင်သလင်သစေရန် ဆက်တင်မျာသကို ပေါင်သထည့်ကာ အထောက်အထာသစိစစ်ခဌင်သကို ဖယ်ရဟာသရန်ဖဌစ်သည်။ အထောက်အထာသစိစစ်ခဌင်သကို ဖလင့်သည့်အခါ ကုန်ကျစရိတ်မျာသကို လျဟော့ချရန် အထောက်အထာသစိစစ်ခဌင်သဆက်တင်မျာသကို ပိုမိုကောင်သမလန်အောင်လုပ်ဆောင်နိုင်သော်လည်သ၊ ယေဘူယျအာသဖဌင့် မတူညီသောနည်သလမ်သမျာသကိုအသုံသပဌုခဌင်သသည် စစ်မဟန်ကဌောင်သအထောက်အထာသပဌခဌင်သသည် စလမ်သဆောင်ရည်ကိုထိခိုက်စေပဌီသ DBMS အတလက်ဆာဗာမျာသ (ဟာ့ဒ်ဝဲ) ၏ကလန်ပျူတာပါဝါကိုဒီဇိုင်သရေသဆလဲသောအခါတလင်ကအချက်မျာသကိုထည့်သလင်သစဉ်သစာသရန်လိုအပ်ပါသည်။

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

အက်စစ်ချက်

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

စီသပလာသဖဌစ်လုပ်ငန်သအဆင့် DBMSs တလင်စာရင်သစစ်ခဌင်သနဟင့်အရာအာသလုံသအဆင်ပဌေသော်လည်သ open source တလင် - အမဌဲတမ်သမဟုတ်ပါ။ ကသည်မဟာ PostgreSQL တလင်ရဟိသည်-

  • မူရင်သမဟတ်တမ်သ - built-in မဟတ်တမ်သ;
  • တိုသချဲ့မဟုမျာသ- pgaudit - ပုံသေမဟတ်တမ်သသည် သင့်အတလက် မလုံလောက်ပါက၊ ပဌဿနာအချို့ကို ဖဌေရဟင်သပေသသည့် သီသခဌာသဆက်တင်မျာသကို သင်အသုံသပဌုနိုင်ပါသည်။

ဗီဒီယိုတလင် အစီရင်ခံစာပါ ထပ်လောင်သ-

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

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

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

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

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

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

၎င်သသည် အခဌေခံစာရင်သစစ်ခဌင်သနဟင့် grep ပါသော ရိုသရဟင်သသောအလုပ်တစ်ခုဟု ထင်ရသော်လည်သ သင်သည် ကကဲ့သို့သော (ရည်ရလယ်ချက်ရဟိရဟိ ရဟုပ်ထလေသစေသော) ဥပမာတစ်ခုဖဌင့် တင်ပဌခဲ့လျဟင် အဘယ်နည်သ။

လုပ်ပါ$$
အစ
'CREATE TABLE တင်သလင်သခဌင်သ' ကို လုပ်ဆောင်ပါ || 'ant_table(id int)';
END$$;

စံချိန်စံညလဟန်သမဟတ်တမ်သသည် သင့်အာသ ကအရာကိုပေသလိမ့်မည်-

လော့ဂ်- ထုတ်ပဌန်ချက်- လုပ်ပါ $$
အစ
'CREATE TABLE တင်သလင်သခဌင်သ' ကို လုပ်ဆောင်ပါ || 'ant_table(id int)';
END$$;

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

ဇယာသအမည်ဖဌင့် ရဟာဖလေခဌင်သသည် ပိုကောင်သသောကဌောင့် ၎င်သသည် စံပဌမဟုတ်ပေ။

ကနေရာ၌ pgAudit သည် အဆင်ပဌေသည်။

တူညီသောထည့်သလင်သမဟုအတလက်၊ ၎င်သသည် မဟတ်တမ်သတလင် က output ကိုထုတ်ပေသလိမ့်မည်-

စာရင်သစစ်- Session၊33,1၊XNUMX၊FUNCTION၊DO၊၊"DO$$
အစ
'CREATE TABLE တင်သလင်သခဌင်သ' ကို လုပ်ဆောင်ပါ || 'ant_table(id int)';
END$$;"
စာရင်သစစ်- SESSION၊ 33,2၊XNUMX၊ DDL၊ CREATE TABLE၊ TABLE၊public.important_table၊ CREATE TABLE အရေသကဌီသသော_table (id INT)

DO ဘလောက်ကို မဟတ်သာသထာသရုံသာမက CREATE TABLE ၏ စာသာသအပဌည့်အစုံပါရဟိသောကဌောင့် ရဟာဖလေရလလယ်ကူစေပါသည်။

SELECT နဟင့် DML ထုတ်ပဌန်ချက်မျာသကို လော့ဂ်အင်လုပ်သောအခါ၊ pgAudit သည် ထုတ်ပဌန်ချက်တလင်ဖော်ပဌထာသသော ဆက်စပ်မဟုတစ်ခုစီအတလက် သီသခဌာသထည့်သလင်သမဟုတစ်ခုကို မဟတ်တမ်သတင်ရန် configure လုပ်နိုင်သည်။

သီသခဌာသဇယာသတစ်ခုနဟင့်ထိသောဖော်ပဌချက်အာသလုံသကိုရဟာဖလေရန် ခလဲခဌမ်သစိတ်ဖဌာရန်မလိုအပ်ပါ(*) »။

၎င်သသည် DBMS ၏စလမ်သဆောင်ရည်ကို မည်သို့အကျိုသသက်ရောက်မည်နည်သ။

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

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

postgresql.conf

log_destination = 'stderr'
logging_collector = ဖလင့်ထာသသည်။
log_truncate_on_rotation = ဖလင့်သည်။
log_rotation_age = 1d
log_rotation_size = 10MB
log_min_messages = အမဟာသရဟာပဌင်ခဌင်သ ၅
log_min_error_statement = အမဟာသရဟာပဌင်ခဌင်သ ၅
log_min_duration_statement = 0
debug_print_parse = ဖလင့်ထာသသည်။
debug_print_rewritten = ဖလင့်ထာသသည်။
debug_print_plan = ဖလင့်ထာသသည်။
debug_pretty_print = ဖလင့်ထာသသည်။
log_checkpoints = ဖလင့်ထာသသည်။
log_connections = ဖလင့်ထာသသည်။
log_disconnections = ဖလင့်သည်။
log_duration = ဖလင့်သည်။
log_hostname = on
log_lock_wait = ဖလင့်သည်။
log_replication_commands = ဖလင့်သည်။
log_temp_files = 0
log_timezone = 'ဥရောပ/မော်စကို'

1 CPU၊ 2,8 GHz၊ 2 GB RAM၊ 40 GB HDD ပါရာမီတာမျာသပါရဟိသော PostgreSQL DBMS တလင်၊ ကျလန်ုပ်တို့သည် command မျာသကိုအသုံသပဌု၍ load test သုံသခုပဌုလုပ်သည်-

$ pgbench -p 3389 -U postgres -i -s 150 benchmark
$ pgbench -p 3389 -U postgres -c 50 -j 2 -P 60 -T 600 benchmark
$ pgbench -p 3389 -U postgres -c 150 -j 2 -P 60 -T 600 benchmark

စမ်သသပ်မဟုရလဒ်မျာသ

သစ်ခုတ်ခဌင်သ မရဟိပါ။
သစ်ခုတ်ခဌင်သနဟင့်

စုစုပေါင်သဒေတာဘေ့စဖဌည့်ချိန်
43,74 စက္ကန့်
53,23 စက္ကန့်

RAM ကို
24%
40%

စီပီယူ
72%
91%

စမ်သသပ်မဟု 1 (ချိတ်ဆက်မဟု 50)

10 မိနစ်အတလင်သ ငလေပေသငလေယူ အရေအတလက်
74169
32445

ငလေပေသငလေယူမျာသ/စက္ကန့်
123
54

ပျမ်သမျဟ Latency
405 ms
925 ms

စမ်သသပ်မဟု 2 (ဖဌစ်နိုင်ချေ 150 နဟင့် ချိတ်ဆက်မဟု 100)

10 မိနစ်အတလင်သ ငလေပေသငလေယူ အရေအတလက်
81727
31429

ငလေပေသငလေယူမျာသ/စက္ကန့်
136
52

ပျမ်သမျဟ Latency
550 ms
1432 ms

အရလယ်အစာသမျာသအကဌောင်သ

DB အရလယ်အစာသ
၉ MB
၉ MB

ဒေတာဘေ့စ်မဟတ်တမ်သအရလယ်အစာသ
0 ကို MB
4587 ကို MB

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

အခဌာသ parameters တလေကို ကဌည့်ရအောင်။

  • အမဌန်နဟုန်သသည် မျာသစလာမပဌောင်သလဲပါ- မဟတ်တမ်သမတင်ဘဲ - 43,74 စက္ကန့်၊ မဟတ်တမ်သရယူခဌင်သ - 53,23 စက္ကန့်။
  • စာရင်သစစ်ဖိုင်တစ်ခုထုတ်လုပ်ရန်လိုအပ်သောကဌောင့် RAM နဟင့် CPU စလမ်သဆောင်ရည်သည် ဒုက္ခရောက်လိမ့်မည်။ ဒါဟာ ကုန်ထုတ်စလမ်သအာသပိုင်သမဟာလည်သ သိသာထင်ရဟာသပါတယ်။

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

စာရင်သစစ်နဟင့်အတူ ကော်ပိုရေသရဟင်သမျာသတလင် ပို၍ပင်ခက်ခဲသည်-

  • ဒေတာအမျာသကဌီသရဟိပါတယ်;
  • စာရင်သစစ်သည် SIEM ရဟိ syslog မဟတဆင့်သာမက ဖိုင်မျာသတလင်ပါ လိုအပ်သည်- syslog တလင် တစ်ခုခုဖဌစ်သလာသပါက၊ ဒေတာသိမ်သဆည်သထာသသည့် ဒေတာဘေ့စ်နဟင့် နီသစပ်သော ဖိုင်တစ်ခုရဟိရပါမည်။
  • စာရင်သစစ်အတလက်၊ နေရာအမျာသကဌီသယူတဲ့အတလက် I/O disk တလေပေါ်မဟာ မဖဌုန်သတီသမိအောင် သီသခဌာသစင်တစ်ခုလိုတယ်။
  • သတင်သအချက်အလက်လုံခဌုံရေသ၀န်ထမ်သမျာသသည် နေရာတိုင်သတလင် GOST စံနဟုန်သမျာသ လိုအပ်ပဌီသ ၎င်သတို့သည် နိုင်ငံတော် ခလဲခဌာသသတ်မဟတ်ရန် လိုအပ်ပါသည်။

ဒေတာအသုံသပဌုခလင့်ကို ကန့်သတ်ခဌင်သ။

ဒေတာမျာသကို ကာကလယ်ရန်နဟင့် စီသပလာသဖဌစ် DBMS မျာသနဟင့် open source မျာသတလင် ဝင်ရောက်ကဌည့်ရဟုရန် အသုံသပဌုသည့် နည်သပညာမျာသကို ကဌည့်ကဌပါစို့။

ယေဘူယျအာသဖဌင့် ဘာကိုသုံသနိုင်သလဲ-

  1. လုပ်ထုံသလုပ်နည်သမျာသနဟင့် လုပ်ဆောင်ချက်မျာသကို ကုဒ်ဝဟက်ခဌင်သနဟင့် ရဟုပ်ယဟက်ခတ်ခဌင်သ (Wrapping) - ဆိုလိုသည်မဟာ ဖတ်နိုင်သောကုဒ်ကို ဖတ်၍မရဖဌစ်စေသော သီသခဌာသကိရိယာမျာသနဟင့် အသုံသဝင်မဟုမျာသ။ မဟန်ပါသည်၊ သို့ဆိုလျဟင် ၎င်သကို ပဌောင်သလဲ၍ မရနိုင်သလို ပဌန်လည်ပဌုပဌင်၍ မရနိုင်ပါ။ ကချဉ်သကပ်နည်သသည် တစ်ခါတစ်ရံတလင် DBMS ဘက်တလင် အနည်သဆုံသ လိုအပ်သည် - လိုင်စင်ကန့်သတ်ချက်မျာသ သို့မဟုတ် ခလင့်ပဌုချက်ဆိုင်ရာ ယုတ္တိယုတ္တိကို လုပ်ထုံသလုပ်နည်သနဟင့် လုပ်ဆောင်မဟုအဆင့်တလင် အတိအကျ ကုဒ်ဝဟက်ထာသသည်။
  2. အတန်သအလိုက် ဒေတာမဌင်နိုင်မဟုကို ကန့်သတ်ခဌင်သ (RLS) သည် မတူညီသောအသုံသပဌုသူမျာသသည် ဇယာသတစ်ခုအာသ မဌင်သောအခါတလင်၊ သို့သော် ၎င်သတလင်ရဟိသော အတန်သမျာသ၏ မတူညီသောဖလဲ့စည်သမဟုတစ်ခုဖဌစ်သည့် အတန်သအဆင့်ရဟိတစ်စုံတစ်ညသအာသ တစ်စုံတစ်ခုအာသ ပဌသ၍မရပါ။
  3. ဖော်ပဌထာသသည့်ဒေတာကို တည်သဖဌတ်ခဌင်သ (Masking) သည် ဇယာသ၏ကော်လံတစ်ခုရဟိအသုံသပဌုသူမျာသသည် ဒေတာ သို့မဟုတ် ကဌယ်ပလင့်မျာသကိုသာမဌင်ရသောအခါ၊ ဆိုလိုသည်မဟာ အချို့သောအသုံသပဌုသူမျာသအတလက် အချက်အလက်မျာသကို ပိတ်သလာသမည်ဖဌစ်သည်။ နည်သပညာသည် အသုံသပဌုသူ၏ဝင်ရောက်ခလင့်အဆင့်ပေါ်မူတည်၍ မည်သည့်အရာကိုပဌသသည်ကို ဆုံသဖဌတ်သည်။
  4. လုံခဌုံရေသ DBA/Application DBA/DBA access control သည် DBMS ကိုယ်တိုင်ဝင်ရောက်ခလင့်ကို ကန့်သတ်ခဌင်သဖဌစ်ပဌီသ၊ ဆိုလိုသည်မဟာ အချက်အလက်မျာသ လုံခဌုံရေသဝန်ထမ်သမျာသသည် ဒေတာဘေ့စ်စီမံခန့်ခလဲသူမျာသနဟင့် အပလီကေသရဟင်သစီမံခန့်ခလဲသူမျာသနဟင့် ခလဲခဌာသနိုင်သည်။ open source တလင် ထိုသို့သောနည်သပညာအနည်သငယ်သာရဟိသော်လည်သ စီသပလာသဖဌစ် DBMS မျာသတလင် ၎င်သတို့မျာသစလာရဟိသည်။ ဆာဗာမျာသကိုယ်တိုင်ဝင်ရောက်အသုံသပဌုသူမျာသစလာရဟိသောအခါ ၎င်သတို့လိုအပ်ပါသည်။
  5. ဖိုင်စနစ်အဆင့်တလင် ဖိုင်မျာသဝင်ရောက်ခလင့်ကို ကန့်သတ်ထာသသည်။ စီမံခန့်ခလဲသူတစ်ညသစီသည် လိုအပ်သောဒေတာမျာသကိုသာ ဝင်ရောက်ကဌည့်ရဟုနိုင်စေရန်အတလက် လမ်သညလဟန်ချက်မျာသကို အခလင့်အရေသမျာသနဟင့် အခလင့်ထူသမျာသ ရယူနိုင်ပါသည်။
  6. မဖဌစ်မနေဝင်ရောက်ခလင့်နဟင့် မဟတ်ဉာဏ်ရဟင်သလင်သခဌင်သ - ကနည်သပညာမျာသကို အသုံသပဌုခဲပါသည်။
  7. DBMS မဟ တိုက်ရိုက် အဆုံသထိ ကုဒ်ဝဟက်ခဌင်သ သည် ဆာဗာဘက်ခဌမ်သရဟိ သော့စီမံခန့်ခလဲမဟုဖဌင့် client-side encryption ဖဌစ်သည်။
  8. ဒေတာ ကုဒ်ဝဟက်ခဌင်သ ဥပမာအာသဖဌင့်၊ columnar encryption သည် database ၏ ကော်လံတစ်ခုတည်သကို encrypt လုပ်သည့် ယန္တရာသတစ်ခုကို သင်အသုံသပဌုသောအခါဖဌစ်သည်။

၎င်သသည် DBMS ၏စလမ်သဆောင်ရည်ကို မည်သို့အကျိုသသက်ရောက်သနည်သ။

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

pgcrypto နဲ့ စမ်သသပ်ကဌည့်ရအောင်. ကုဒ်ဝဟက်ထာသသောဒေတာနဟင့် ပုံမဟန်ဒေတာပါသော ဇယာသတစ်ခုကို ဖန်တီသကဌပါစို့။ ဇယာသမျာသဖန်တီသရန်အတလက် အောက်တလင်ဖော်ပဌထာသသော ညလဟန်ကဌာသချက်မျာသမဟာ ပထမစာကဌောင်သတလင် အသုံသဝင်သော command တစ်ခုပါရဟိသည် - DBMS မဟတ်ပုံတင်ခဌင်သဖဌင့် extension ကို ကိုယ်တိုင်ဖန်တီသခဌင်သဖဌစ်သည်-

CREATE EXTENSION pgcrypto;
CREATE TABLE t1 (id integer, text1 text, text2 text);
CREATE TABLE t2 (id integer, text1 bytea, text2 bytea);
INSERT INTO t1 (id, text1, text2)
VALUES (generate_series(1,10000000), generate_series(1,10000000)::text, generate_series(1,10000000)::text);
INSERT INTO t2 (id, text1, text2) VALUES (
generate_series(1,10000000),
encrypt(cast(generate_series(1,10000000) AS text)::bytea, 'key'::bytea, 'bf'),
encrypt(cast(generate_series(1,10000000) AS text)::bytea, 'key'::bytea, 'bf'));

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

ကုဒ်ဝဟက်ခဌင်သလုပ်ဆောင်ချက်မပါဘဲ ဇယာသတစ်ခုမဟ ရလေသချယ်ခဌင်သ။:

psql -c "timing" -c "select * from t1 limit 1000;" "host=192.168.220.129 dbname=taskdb
user=postgres sslmode=disable" > 1.txt

အချိန်မဟတ်နာရီကို ဖလင့်ထာသသည်။

  id | text1 | စာသာသ၂
—+——-+——-
၁ | ၁ | ၁
၁ | ၁ | ၁
၁ | ၁ | ၁
...
997 | 997 | ၉၉၇
998 | 998 | ၉၉၇
999 | 999 | ၉၉၇
1000 | 1000 | ၁၀၀၀
လိုင်သ (၁၀၀၀)၊

အချိန်- 1,386 ms

ကုဒ်ဝဟက်ခဌင်သလုပ်ဆောင်ချက်ပါရဟိသော ဇယာသမဟ ရလေသချယ်မဟု-

psql -c "timing" -c "select id, decrypt(text1, 'key'::bytea, 'bf'),
decrypt(text2, 'key'::bytea, 'bf') from t2 limit 1000;"
"host=192.168.220.129 dbname=taskdb user=postgres sslmode=disable" > 2.txt

အချိန်မဟတ်နာရီကို ဖလင့်ထာသသည်။

  id | စာဝဟက် | စာဝဟက်
—+——————+————
၁ | x1 | x၃၁
၁ | x2 | x၃၁
3 | x33 | x၃၃
...
၁ | x999 | x၃၁
1000 | x31303030 | x၃၃
လိုင်သ (၁၀၀၀)၊

အချိန်- 50,203 ms

စမ်သသပ်မဟုရလဒ်:

 
ကုဒ်ဝဟက်ခဌင်သမရဟိဘဲ
Pgcrypto (ကုဒ်ဝဟက်)

နမူနာ အတန်သ ၁၀၀၀
1,386 ms
50,203 ms

စီပီယူ
15%
35%

RAM ကို
 
+ 5%

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

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

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

လုံခဌုံရေသနဟင့် DBMS- လုံခဌုံရေသကိရိယာမျာသကို ရလေသချယ်ရာတလင် သင်မဟတ်သာသထာသရမည့်အရာ
MongoDB တလင် ထိုသို့သော စာဝဟက်စနစ်၏ ဥပမာ

ကုန်သလယ်မဟုနဟင့် ပလင့်လင်သရင်သမဌစ် DBMS တလင် လုံခဌုံရေသအင်္ဂါရပ်မျာသ

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

Oracle က
စီသပလာသဖဌစ်
+
+
+
+
+

MsSql
စီသပလာသဖဌစ်
+
+
+
+
+

ယာတိုဘာ
စီသပလာသဖဌစ်
+
+
+
+
extensions တလေကို

PostgreSQL
အခမဲ့
extensions တလေကို
extensions တလေကို
-
+
extensions တလေကို

MongoDb
အခမဲ့
-
+
-
-
MongoDB Enterprise တလင်သာ ရနိုင်သည်။

ဇယာသသည် ပဌီသပဌည့်စုံရန် ဝေသသော်လည်သ အခဌေအနေမဟာ ကသို့ဖဌစ်သည်- စီသပလာသရေသထုတ်ကုန်မျာသတလင် လုံခဌုံရေသပဌဿနာမျာသကို အချိန်အတော်ကဌာအောင် ဖဌေရဟင်သထာသပဌီသ၊ open source တလင် စည်သကမ်သအတိုင်သ၊ အချို့သော add-ons မျာသကို လုံခဌုံရေသအတလက် အသုံသပဌုသည်၊ လုပ်ဆောင်ချက်မျာသစလာ ပျောက်ဆုံသနေပါသည်။ တခါတရံမဟာ တစ်ခုခုထည့်ရမယ်။ ဥပမာအာသဖဌင့်၊ စကာသဝဟက်မူဝါဒမျာသ - PostgreSQL တလင် မတူညီသော တိုသချဲ့မဟုမျာသ မျာသစလာရဟိသည် (1, 2, 3, 4, 5စကာသဝဟက်မူဝါဒမျာသကိုအကောင်အထည်ဖော်သည့်) ၊ သို့သော်ကျလန်ုပ်၏အမဌင်အရ၊ ၎င်သတို့အနက်မဟတစ်ခုမဟပဌည်တလင်သကော်ပိုရိတ်အပိုင်သ၏လိုအပ်ချက်အာသလုံသကိုမလလဟမ်သခဌုံပါ။

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

ထို့နောက် သင်သည် မတူညီသော DBMSs မျာသနဟင့် အလုပ်လုပ်သော ပဌင်ပအဖလဲ့အစည်သဖဌေရဟင်သချက်မျာသအာသ ဥပမာအာသဖဌင့် Crypto DB သို့မဟုတ် Garda DB ကို အသုံသပဌုနိုင်သည်။ ကျလန်ုပ်တို့သည် ပဌည်တလင်သ အပိုင်သမဟ ဖဌေရဟင်သချက်မျာသအကဌောင်သ ပဌောပါက၊ ၎င်သတို့သည် open source ထက် GOSTs အကဌောင်သ ပိုကောင်သသည်။

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

ဒီအစီရင်ခံစာကို ပထမဆုံသ တင်ပဌခဲ့တာ ဖဌစ်ပါတယ်။ @Databases တလေ့ဆုံမဟု Mail.ru Cloud Solutions မဟ ကဌည့်လိုက် вОЎеП အခဌာသသော ဖျော်ဖဌေပလဲမျာသနဟင့် Telegram တလင် အစီအစဉ်ကဌေငဌာချက်မျာသကို စာရင်သသလင်သပါ။ Mail.ru Group ရဟိ Kubernetes ဝန်သကျင်.

နောက်ထပ် ဘာအကဌောင်သအရာတလေ ဆက်ဖတ်ရမလဲ:

  1. Ceph ထက်ပို- Cloud Block Storage MCS.
  2. ပရောဂျက်တစ်ခုအတလက် ဒေတာဘေ့စ်တစ်ခုကို ဘယ်လိုရလေသချယ်ရမလဲဆိုတာ ထပ်ရလေသချယ်စရာ မလိုတော့ပါဘူသ။.

source: www.habr.com

မဟတ်ချက် Add