4種Oracle DBaaS部署模式,你在使用哪種?

因爲雲計算技術已向專業領域發展,除了使用虛擬軟件化Hypervisor技術實現基礎設施雲化外,基於容器的虛擬化技術在操做系統、數據庫平臺雲化等領域也獲得了很大的發展與應用。數據庫即服務 (DBaaS)也在這樣的技術背景下應運而生。數據庫

 

數據庫即服務Database As Services

數據庫即服務 (DBaaS) 是一種數據庫平臺建設架構和數據管理運營方法,在雲計算的框架下,可以將數據庫功能做爲服務提供給一個或多個應用使用。因此數據庫即服務必須支持如下功能:安全

 

  • 不一樣應用租戶共享數據庫平臺的計算、存儲、網絡資源;而且支持這些資源的靈活調配及資源隔離。

 

  • 以按需、自助式方式供應數據庫服務,包括數據實例分配、存儲空間分配等能力的供應和管理。

 

  • 基於數據庫雲平臺,提供不一樣等級的服務保障。結合已有的定級標準,對不一樣的IT系統實施差別化的等級服務保障體系。

 

  • 以細粒度方式計量不一樣數據庫服務租戶的使用狀況,可爲各獨立數據庫租戶提供計量、計費功能。

 

在技術實現上能夠有兩種技術選擇實現數據庫即服務:服務器

  • 基於IaaS層提供的基礎設施,在不一樣的虛擬機中部署相關數據庫平臺軟件服務。

 

  • 直接經過數據庫軟件平臺的容器技術來實現數據庫軟件、硬件(服務器、存儲)的統一管理、部署、資源分配和回收。

目前,第一種方式在實際應用中會存在管理的複雜性、兼容性問題,甚至還可能存在嚴重的性能瓶頸和總體運行風險的問題。例如,某業務系統在基於X86服務器上經過VM虛擬化技術來實現IaaS層資源池,再部署Oracle數據庫和業務應用,經過實際測試發現, 性能損耗超過40%以上;並且還存在Oracle RAC數據庫沒有在VMWare平臺獲得廠商官方支持的問題,一旦遇到系統問題,診斷、問題解決都存在很大的潛在運行風險。網絡

 

因此,經過數據庫平臺自身容器技術造成數據庫PaaS層服務,是目前核心數據庫系統、特別是Oracle數據庫用戶進行數據庫雲建設的主要技術選擇。經過Oracle數據庫軟件平臺結合相關的硬件基礎設施,造成數據庫共享資源池,而後按照各個應用需求在數據庫資源池中申請硬件資源、得到數據庫服務,並且支持不斷部署不一樣的業務應用在雲平臺中,實現系統的集中化整合。架構

 

這樣能夠有效的節省計算和存儲資源、機房空間、耗電和配套、人力維護,提升系統的可靠性、擴展能力、計算能力,避免出現業務要求和的系統支撐能力不匹配問題。負載均衡

 

Oracle 數據庫服務的四種部署模式

▲ Oracle數據庫服務的四種部署架構框架

 

1. 基於虛擬機部署數據庫(IaaS模式)

第一種方式是在虛擬機上部署Oracle數據庫,這種模式共享的是物理服務器,在物理服務器上增長了hypervisor虛擬化層,虛擬化層之上的每一個虛擬機都會運行單獨的操做系統,之上再部署獨立的數據庫實例。運維

 

優點:性能

  • 資源隔離性好,操做系統級別的隔離。
  • 服務器虛擬化技術較成熟。

 

劣勢:測試

  • 只共享物理服務器,資源共享度不高,且服務器虛擬化的CPU和IO損耗很大。
  • IaaS層服務器虛擬化只能實現計算資源「大分小」 。
  • 只支持數據庫單實例運行,性能擴展能力差,高可用切換慢。
  • 虛擬化軟件須要共享單臺存儲盤陣,致使I/O性能不佳。

 

部署定位:

  • 這種方式適合提供對可用性、性能要求不高的小型數據庫服務 。

 

2. 基於共享服務器集羣部署多個數據庫實例(PaaS模式)

在一組共享的物理服務器集羣上部署Oracle數據庫,這樣的一組物理服務器須要採用同構的服務器和同版本的操做系統,部署運行Oracle的Grid Infrastructure集羣軟件,在此集羣之上能夠部署一個或多個數據庫實例(能夠是單節點/實例的數據庫,也能夠是多節點RAC數據庫),這種模式共享的是物理服務器和操做系統,但每一個應用仍是有獨立的數據庫實例,從而有各自獨立的SGA內存管理、後臺進程等等。

 

優點:

  • 資源共享度、整合密度高於虛擬機模式。
  • 每一個應用系統有本身獨立的數據庫實例,很好的資源隔離性。
  • 良好的性能,支持服務器計算能力和存儲容量及IO能力的橫向擴展。

 

劣勢:

  • 共享了物理服務器和操做系統,但每一個數據庫實例仍獨享本身的內存、後臺進程,當整合數據庫數量較多時,這些重複的基礎功能形成CPU和內存重複開銷,資源共享度、整合密度仍有待改善。

 

部署定位:

  • 這種方式適合提供整合數據庫數量不是特別多、或是規模較大的數據庫服務。

 

3. 共享一個數據庫實例部署多個Schema(PaaS模式)

在共享的一個數據庫實例內,經過開通多個schema及其關聯對象提供數據庫服務,數據庫實例和其後的操做系統、服務器硬件平臺均爲共享的。

 

優點:

  • 資源共享比例高,CPU內存使用更高效,性價比好。
  • 數據庫服務開通速度快。
  • 良好的性能,支持服務器計算能力和存儲容量及IO能力的橫向擴展。
  • 很是適合不一樣用戶間須要大量數據共享的場景。

 

劣勢:

  • 隔離程度低,只能作到數據庫用戶Schema級別隔離,訪問不一樣Schema的對象只須要受權就能夠。
  • 每一個數據庫用戶不能獨立進行數據庫管理,只能一塊兒進行數據庫備份和恢復。

 

部署定位:

  • 這種方式適合對數據庫隔離性要求不高、或是用戶間須要大量數據共享的場景。

 

4. 使用DB 12C多租戶功能,經過可插拔數據庫提供數據庫服務(PaaS模式,12C新特性)

Oracle 數據庫12c版本,新增多租戶功能,使用這個特性,能夠將Oracle數據庫按照一個統一的容器數據庫CDB + 多個可插拔數據庫PDB的方式進行部署。

 

容器數據庫層統一包含了SGA內存管理、後臺進程、數據庫啓動參數文件/redo log/Undo 等公用功能(以前的獨立數據庫實例,每一個數據庫有獨立的SGA區、後臺進程,如今再也不須要了),可插拔數據庫PDB則管理本身的一組表空間,其中包括 SYSTEM 和 SYSAUX、以及用戶業務表空間。

採用Oracle 數據庫12c部署數據庫雲,用戶的數據庫能夠採用可插拔數據庫PDB進行供應,這些PDB部署在統一的容器數據庫CDB之上,共享一個數據庫實例,也共享了後臺的物理服務器和操做系統,資源共享程度很高。

 

同時用戶的PDB之間還保持了很好的隔離性,從用戶的使用來看,PDB和傳統獨立實例的數據庫是沒有區別的,應用無需改造。相對於獨立的數據庫實例,12c的多租戶模式架構的資源共享程度很高,節約了重複的數據庫系統開銷。

 

優點:

  • 資源共享比例最高,CPU和內存使用更高效,整合密度和投資性價比最佳。
  • 數據庫服務開通速度最快。
  • 良好的性能,支持服務器計算能力和存儲容量及IO能力的橫向擴展。
  • 資源隔離性好(用戶使用感覺和獨立實例數據庫一致)。

 

額外工做:

  • 數據庫升級/遷移到12c版本,原有應用功能須要進行測試驗證。

 

部署定位:

  • 適用於靈活提供各類規模、可用性、安全等級的數據庫服務。

 

部署模式推薦

在條件容許的狀況下,將數據庫升級到Oracle 12C以上或者直接部署Oracle 12C以上版本,採用DB 12C部署數據庫,DB 12C的多租戶特性能夠很好的和RAC集羣進行結合,12C的容器數據庫CDB可以部署在一臺或多臺物理服務器節點構成的集羣上,能夠靈活控制每一個PDB的服務運行在集羣一個或多個節點上。

 

同時集羣伸縮性(可擴展性)也很是好,當整個集羣的負荷較高時,能夠在線爲集羣增長物理服務器節點,並方便的調整各個PDB服務的運行節點,進行負載均衡,下降整個集羣的負荷。

 

數據庫雲的全部PDB的數據能夠均勻打散分佈在數據庫存儲資源池的全部存儲設備上,而且支持跨存儲設備的鏡像。當添加/刪除新存儲設備時、或是硬件出故障時(單塊磁盤損壞/單臺存儲設備損壞),能夠進行在線數據自動重分佈,使負載均衡和跨存儲設備的數據鏡像保護仍然得以保持,重分佈的過程當中數據可正常讀寫訪問,對上層的數據庫和應用透明。

 

經過添加新存儲設備、在線數據自動重分佈,可使數據庫存儲集羣總體容量和IO能力線性的橫向擴展。

做者:黃史浩

往期回顧

如何改善監控問題,試試打造企業統一監控平臺體系!

雲計算 | 數據在雲上安全嗎?DDoS攻擊怎麼辦?

如何基於TAPD實踐Scrum的敏捷開發?

嘉爲藍鯨出席GOPS全球運維大會:運維巔峯時代,研運中臺或是惟一選擇

錯誤提示:網絡鏈接問題?試試用netstat監控網絡鏈接!

相關文章
相關標籤/搜索