Skip to main content

Command Palette

Search for a command to run...

AWS RDS - Multi-AZ Vs Read Replica

Updated
3 min read
AWS RDS - Multi-AZ Vs Read Replica
M

I'm Security and Cloud Support Engineer at KBZ Bank. I'm tying to be a Cloud Native Engineer......

ကျွန်တော်တို့ AWS Cloud ကို လေ့လာတဲ့ အခါမှာ AWS RDS အကြောင်းကိုလဲ လေ့လာ ကြရမှာပါ။ RDS ကို လေ့လာတဲ့အခါမှာ ကျွန်တော် သိပ်မရှင်းခဲ့တာက Read Replica and Multi AZ အကြောင်းပါပဲ။ မရှင်းခဲ့တာလေးကို သေချာ လိုက်ဖတ်ရင်း note လေးထုတ်မှတ်ခဲ့တာကို အခုတော့ ကျွန်တော် Article လေး အနေနဲ့ ပြန် sharing လုပ်ပေးလိုက်ပါတယ်။


Read Replica

Read Replica ဆိုတာကတော့ သူ့ရဲ့ နာမည်အတိုင်းပဲ ရှိနေပြီးသား source database ကနေ read only copy ကူးတယ်လို့ အလွယ်မှတ်လို့ရပါတယ်။ Read Replica Database မှာ ကျွန်တော်တို့က new data ကို write လုပ်လို့မရပါဘူး။ Source Database ကနေပဲ Data တွေကို asynchronously sync လုပ်ပါတယ်။

အပေါ်က ပုံလေး အတိုင်းပါပဲ။ ဆိုကြပါတော့ ကျွန်တော့်ရဲ့ Application က Analytics Process တစ်ခု run ဖို့ လိုအပ်နေတယ် Analytics Process Run လိုက်ရင် ကျွန်တော်ရဲ့ Source Database မှာ workload တက်ပြီးတော့ Productivity ကို ထိခိုက်စေမယ်ပေါ့။ ဒီလို အခြေနေမျိုးမှာ ကျွန်တော်က RDS Read Replicas တစ်ခုကို create လုပ်လိုက်တယ် ပြီးတော့ Analytics က write လုပ်စရာ မလိုတဲ့ အတွက် read process အတွက် RDS Read Replica ကို ညွှန်ပေးလိုက်တယ်။ ဒါဆိုရင် ကျွန်တော်တို့ရဲ့ Source Database မှာ impact လဲ မဖြစ်တော့ပါဘူး။

BTS of Creating Read Replica

ကျွန်တော်တို့တို့က Read Replica တစ်ခုကို Create လုပ်လိုက်ပြီဆိုရင် ဘယ် Database ကို source ယူမလဲ ဆိုတာ ရွေးပေးရပါမယ်။ ပြီးရင်တော့ နောက်ကွယ်မှာ source database ကို snapshot ယူလိုက်တယ်။ ပြီးရင်တော့ ယူထားတဲ့ snapshot ကို base လုပ်ပြီးတော့ Read only Replica Database ကို Create လုပ်လိုက်ပါတယ်။

Read Replica တွေကို Different Region မှာပါ ကျွန်တော်တို့ create လုပ်လို့ရပါတယ်။ Region တစ်ခုလုံး outage ဖြစ်သွားရင်တောင် နောက် Region မှာ ကျန်ခဲ့ဖို့ DR ပုံစံမျိုးနဲ့လဲ သုံးလို့ရပါတယ်။

Source : AWS


Multi-AZ

RDS Multi-AZ ဆိုတာကတော့ high-availability deployment အတွက်နဲ့ disaster recovery အတွက် အဓိက ထားပြီးတော့ သုံးကြပါတယ်။ Multi-AZ ကို သုံးတဲ့ အခါမှာ Database Failure ဖြစ်တဲ့အခါမှာ automatic failover support ပေးပါမယ်။ ပြီးတော့ Multi-AZ ဆိုတဲ့ နာမည် အတိုင်းပဲ Standby Database ကို Different AZ အောက်မှာ ပဲ create လုပ်ပါတယ်။

အောက်က ပုံလေး နှစ်ပုံမှာ overview လေး ကျွန်တော် ဆွဲပြထားပါတယ်။ ပြီးရင်တော့ Multi-AZ ရဲ့ Development Mode 2 ခုကို နည်းနည်းလောက် ဆက်ပြီးတော့ ပြောပါ့မယ်ဗျ။

Multi-AZ Development Mode

Multi-AZ ကို သုံးမယ်ဆိုရင် ကျွန်တော်တို့မှာ ဘယ်လိုသုံးမလဲ ဆိုပြီး option 2 ခုရှိပါတယ်။

  • Multi-AZ DB instance deployment

  • Multi-AZ DB cluster deployment

ဆိုပြီးတော့ပါ။ နည်းနည်းလောက် ဆီ ဆက်ပြီး ကြည့်လိုက်ရအောင်။


Multi-AZ DB instance Deployment

သူကတော့ ရှင်းပါတယ်။ Different AZ 2 ခုမှာ RDS Database 2 ခုကို တည်ဆောက်လိုက်တာပါပဲ။ တစ်ခုကို Primary Database အနေနဲ့ သတ်မှတ်ပြီး နောက်တစ်ခုကိုတော့ Secondary or Backup Database အနေနဲ့ပေါ့။ တစ်ခုရှိတာက Multi-AZ DB instance deployment မှာက Standby database က just for standby ပါပဲ။ Primary Database ကနေ Standby Database ဆီကိုတော့ Storage Replication ကိုတော့ synchronously replication ဆက်တိုက်လုပ်နေပါတယ်။သူ့ဆီကို ကျွန်တော်တို့ application or anything ကမှ data ကို read လဲ လုပ်မရသလို write လဲ လုပ်လို့ရမှာ မဟုတ်ပါဘူး။

ကျွန်တော် အပေါ်မှာ ပြောခဲ့သလိုပဲ Automatic Failover support ပေးပါတယ်။ ဘယ်အချိန်မှာ Failover လုပ်မလဲဆိုတော့

  • Primary ရဲ့ AZ loss ဖြစ်တာပဲ ဖြစ်ဖြစ်

  • Primary ဆီကို Connectivity မရတော့တာ

  • Compute unit fail ဖြစ်တာ

  • Storage Unit fail ဖြစ်တာမျိုးတွေမှာ လုပ်မှာပါ။

Failover time ကတော့ up to 120s လောက်ကြာမယ်လို့ ဆိုပါတယ်။

ကျွန်တော် ပုံကြမ်းလေး ဆွဲပြထားပေးပါတယ်။


Multi-AZ DB Cluster Deployment

Multi-AZ DB Cluster Deployment မှာဆိုရင် Write Database တစ်လုံးနဲ့ Readable လုပ်နိုင်တဲ့ Standby Database 2 လုံးပါဝင်ပါတယ်။ သူတို့ကတော့ ထုံးစံအတိုင်းပဲ Different AZ တွေမှာတည်ရှိနေမှာပေါ့။ AWS ကတော့ ဒီ Database တွေက semisynchronous လုပ်နေတယ်လို့ ဆိုပါတယ်။ Semi-synchronous ဆိုတာဘာလဲ ? ကျွန်တော် ရှာဖတ်ကြည့်သလောက် ကတော့ အကယ်၍ Primary database မှာ crush တစ်ခုခု ဖြစ်ပြီဆိုတာနဲ့ committed transactions လုပ်ထားတဲ့ transaction တွေအားလုံးကို readable standby database တစ်လုံးစီကို transmit လုပ်ပေးလိုက်တယ်လို့ဆိုပါတယ်။

ပြီးတော့ cluster deployment က instance deployment ထက်ပိုပြီးတော့ workload ပိုကောင်းမယ် lower latency ရှိတယ်လို့လဲ ဆိုထားပါတယ်။

ဒါပေမယ့် တစ်ခုရှိတာက Cluster Deployment Support ပေးတာက MySQL and PostgreSQL DB engines တွေ အတွက်ပဲ support ပေးထားပါသေးတယ်။

Multi-AZ DB cluster

ပုံကတော့ AWS Documentation က ပုံပါ။ သူက ကျွန်တော်ဆွဲတာထက် ပိုရှင်းမယ် ထင်လို့ပါ။

Cluster Development မှာတော့ Failover time ကတော့ up to 75s ပဲ ကြာတော့မယ်လို့ဆိုပါတယ်။

ပြီးတော့ Multi-AZ မှာက Read Replicas တွေလိုမျိုး Different Region အတွက်တော့ Support မပေးပါဘူး။


Multi-AZ Cluster မှာ နောက်ထပ် စိတ်ဝင်စားစရာတွေ ကျန်ပါသေးတယ်။ ကျွန်တော်လဲ Read Replica Vs Multi-AZ ကို ဘာတွေကွာလဲ ပဲ အဓိက ထားချင်တာမို့ ဒီမှာပဲ ရပ်လိုက်ပါ့မယ်။

ကျွန်တော် note ထုတ်ထားတာတွေကို အခြေခံပြီး ရေးထားတာမို့ လိုအပ်ချက်ရှိရင် ပြောပြခဲ့ပေးဖို့ တောင်းဆိုပါတယ်။

ဖတ်လို့ကောင်းမယ့် Article Link တွေကိုလဲ ချထားပေးလိုက်ပါ့မယ်။

choose-the-right-amazon-rds-deployment-option-single-az-instance-multi-az-instance-or-multi-az-database-cluster

https://dev.to/aws-heroes/multi-az-in-amazon-rds-and-how-it-differs-from-high-availability-gn9

https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Welcome.html

the-art-by-makisam.cloud

30 views

More from this blog

Egress Only Internet Gateway - EOIGW

ကျွန်တော်တို့ သုံးနေတဲ့ IP အမျိုးအစား 2 ခုရှိပါတယ်။ IPv4 & IPV6 ဆိုပြီးတော့ 2မျိုးရှိပါတယ်။ ဒါကိုတော့ ကျွန်တော်တို့ သိထားပြီးကြပါ။ တစ်ခုရှိတာက ကျွန်တော်တို့တွေက v4 ကိုတော့ အမြဲထိတွေ့ သုံးနေကြပေမယ့် IPv6 ကိုတော့ အသုံးပြုကြတာရှားပါတယ်။ ဒီနေ့တော့ ကျွန်တ...

Feb 15, 20263 min read4
Egress Only Internet Gateway - EOIGW

Reverse Proxy ဆိုတာဘာလဲ ? Load Balancer နဲ့ အတူတူပဲလား ?

Proxy ဆိုတဲ့ စကားလုံးကို IT သမားတော်တော် များများ သိပြီးသားဖြစ်ပါတယ်။ ဒီနေ့တော့ ကျွန်တော်က Reverse Proxy အကြောင်းလေးကို တွေးမိလို့ စာထရေးမိလိုက်တာပါပဲ။ ကျွန်တော်တို့ Reverse Proxy အကြောင်း မပြောခင်မှာ Proxy အကြောင်းလေး အရင် ပြောလိုက်ရအောင်။ Proxy <F...

Nov 20, 20253 min read6
Reverse Proxy ဆိုတာဘာလဲ ? Load Balancer နဲ့ အတူတူပဲလား ?

QUIC Protocol For Network Engineers

ကျွန်တော် QUIC Protocol ကို သိတာကတော့ ကြာသွားပါပြီ။ အလုပ်မှာ issue တက်လာလို့ လိုက်ရှာရင်း Firewall တွေက QUIC Protocol ဆိုပြီး သိပြီး Block နေတာကို သတိထားမိသွားတာကနေ စတာပေါ့။ ဘာ Protocol လဲ ဆိုတာကို indentify လုပ်ရင်းနဲ့ QUIC Protocol အကြောင်းကို နည်း...

Sep 27, 20255 min read41
QUIC Protocol For Network Engineers

Router တစ်လုံး ဘယ်လို အလုပ်လုပ်? Part-3

အရင်နေ့တွေ တုန်းကတော့ ကျွန်တော်က Router မှာ Routing Process နဲ့ Path selection အတွက် Routing Process ဘယ်လို အလုပ်လုပ်လဲ ဆိုတာကို sharing လုပ်ပေးခဲ့ပါတယ်။ ဒီနေ့မှာတော့ Router ရဲ့ Switching Process ကို ပြောပြသွားပါ့မယ်။ ကျွန်တော်က 8.8.8.8 ဆီကို သွားချ...

Apr 10, 20254 min read32
Router တစ်လုံး ဘယ်လို အလုပ်လုပ်? Part-3

Router တစ်လုံး ဘယ်လို အလုပ်လုပ်? Part-2

အရင်နေ့ကတော့ ကျွန်တော် Router တစ်လုံးရဲ့ အခြေခံ အလုပ်လုပ်ပုံနဲ့ အဓိက တာဝန် ၂ ခု က Path Selection and Packet Forwarding ဖြစ်တယ်ဆိုတာကို မိတ်ဆက်ပေးပြီးခဲ့ပါပြီ။ ဒီနေ့မှာတော့ Path Selection ကို ဘယ်လို လုပ်တယ်ဆိုတာကို ဆက်ပြီး ပြောပြသွားပါ့မယ်။ Routing Pr...

Apr 9, 20253 min read15
Router တစ်လုံး ဘယ်လို အလုပ်လုပ်? Part-2
T

the-arts-by-makisam

14 posts