來到了第四天,我們一起來看看RDS是什麼。
RDS是Relational Database Service的縮寫,是AWS提供我們進行資料儲存的一套服務。以下我們依序來探究。
為何我們不建立一套RDB(Relational Database)在自己專屬的EC2上,反而去使用RDS呢?其實,採用RDS有幾項限制。第一,我們無法進入OS(Operating System)層,去改變RDS的設定;第二,並非所有的DB Engine都是我們可以選擇,亦即部分DB是RDS不支援的。即使RDS有以上兩項限制,仍然可某種程度去進行解套。更重要的是,RDS在資料備份(Data Backup)和資源控管(High Availability)上,提供了給力的服務。我們往下看。
即使我們無法在OS層直接調控RDS參數設定,我們可以透過Parameter Group來去調整EBS(可以當作硬碟規格),藉此來提升RDS的規格。
雖然RDS無法支援所有的DB類型,但幾個大宗的DB類型都有包括在內:
剛提到RDS的兩項主要優勢,data backup和high availability,我們接著依序說明。
Snapshot
用來支援唯讀的流量分配。Read replica DB會備份master DB,但無法同步,而且一旦mater DB掛掉,Read replica DB也會停止。
在Multi-AZ的架構下,Stand-by DB會同時去支援Read Replica的DB和snapshot的工作。也就是就算mater DB掛掉了,stand-by DB依然會全面性的支援master DB的工作,並在master DB掛掉時,啟動將自己轉換成master DB和開起一個新的stand-by DB的機制。