當資料庫遇到雲
申建忠 Frank Shen
- 精誠資訊/恆逸教育訓練中心-資深講師
- 技術分類:資料庫
在現今公司的IT基礎架構下,雲部署不算是新課題。但是許多公司基於種種原因,遲遲未正式部署雲環境。但是目前on-premise部署的方式已經達到一個穩定狀態,不會再有太多創新,這是普遍的認知。而雲環境還有許多新功能與應用持續地推陳出新,因此資料庫管理人員不能夠不事先儲備相關知識,不然等到需要在雲環境部署資料庫時,可能會手忙腳亂甚至出現錯誤決策。
資料庫如何適應雲時代?
傳統上,資料庫管理人員需要負責下列工作:
- 評估資料庫伺服器的硬體與作業系統(有些資料庫管理人員甚至還需負責管理硬體與作業系統)
- 安裝資料庫軟體
- 規劃、建立與管理資料庫
- 備份、復原資料庫
- 資料庫效能監控與調優
- 資料庫軟體更新與升級
- 資料搬移與資料庫遷移

這些工作足以將資料庫管理人員的所有工作時間佔滿,因此許多資料庫管理人員無法有足夠多的時間進行資料庫架構的長遠規劃與如何使用資料庫來提升商業價值等進階需求。
但如果能夠善加利用雲環境所提供的功能,將資料庫管理人員由低價值的日常操作釋放出來,進行更具有價值的工作。下列為雲資料庫管理人員的主要職責:
- 容量規劃(運算與儲存)
- 規劃資料庫備份與復原的時間與方式(不需要資料庫管理人員操作)
- 根據應用程式需求,選擇最適合的資料庫架構(RDBMS與non-RDBMS)
- 資料安全與生命週期規劃
- 提高商業價值

基於上面的比較,可以看到一個趨勢,就是資料庫管理人員的型態已經發生變化。由操作型資料庫管理人員提升為應用程式資料庫管理人員,之後再提升為商業資料庫管理人員。
資料庫上雲的方式
根據資料庫管理人員對資料庫的控制能力來區分,以下以AWS為範例,介紹資料庫在雲環境的幾種部署方式:
- 資料庫管理人員自行管理資料庫(與on-premise類似,只是不需管理硬體) AWS EC2 instance如同on-premise伺服器,其餘部分還是需要資料庫管理人員自行管理。此時資料庫管理人員還是與傳統資料庫管理人員所需負責的工作類似。
- 受管理資料庫(Managed Database)
AWS提供受管理資料庫服務如:AWS RDS、AWS Aurora、AWS Elasticsearch與AWS Redshift等。資料庫管理人員不需進行繁瑣的日常管理操作,僅需針對系統架構與如何提升商業價值部分。 - 全受管資料庫(Fully Managed Database)
應用程式開發人員直接使用資料庫即可,完全不需要進行任何資料庫相關操作,非常適合沒有專門資料庫管理人員或根本沒有資料庫管理人員的公司。 AWS提供下列全受管資料庫服務:Amazon Aurora Serverless、Amazon DynamoDB、Amazon DocumentDB、Amazon Elasticache、Amazon CloudSearch、Amazon Keyspace、Amazon Neptune、Amazon Timestream、Amazon QLDB等。

結論
資料庫的未來不見得只有雲部署,但不能否認的是,雲部署是資料庫未來的一塊拼圖。