Oracle Database 12c可插拔資料庫案例

shilei1發表於2013-01-11
對於那些苦於管理大規模資料庫的DBA來說,也許新版的Oracle Database 12c中的可插拔資料庫(Pluggable Database,簡稱PDB)功能將成為他們的福音。
  針對Oracle 12c資料庫測試使用者的一份調查顯示,新版本中他們認為最強大的功能就是PDB。就如同伺服器虛擬化技術從底層硬體層面將作業系統抽象出來一樣,Oracle 12c中的PDB就是從管理系統中將資料庫抽象出來。可以說PDB的意義有如虛擬化對伺服器所產生的影響。
  世博控股(Sabre Holdings)集團的資料架構師Marshall Romberg表示:“我們對減少資料庫數量並提供更多的靈活性最感興趣,所以我們使用PDB的最大目的就是整合(consolidation)。”
  Romberg描述了一個典型的應用場景:在Sabre公司中,不同部門的應用是由多個資料庫作為後臺支撐的,這些資料庫跑在各自的伺服器上。這樣導致的結果就是,Sabre需要維護上千臺伺服器,而這些機器的CPU利用率最高也不過5%。於是Sabre的DBA團隊決定對資料庫Schema進行整合,但這樣做也會引出其他一些問題。比如,由於一些應用需要嚴格的Schema命名標準,所以名稱空間之間的衝突難以避免。
  於是Sabre首先想到的就是利用伺服器虛擬化技術來解決CPU利用率的問題,但是根據另外一家大型電信企業的首席架構師(未透露姓名)稱,這可能會帶來更大的管理問題。此人稱:“每一個虛擬機器都會有一個作業系統、一個資料庫和一個應用。因此DBA團隊的工作量肯定會加倍。也就是說如果有15個虛擬主機,那就意味著你需要管理15個作業系統和15個資料庫。”
  Oracle Database 12c可插拔資料庫解決難題
  Oracle Database 12c有兩個主要的元件:Container Database(CDB)和Pluggable Database(PDB)。CDB主要用來作為資料庫例項,它包含資料庫操作、後設資料和函式。PDB是使用者資料庫,能夠插入到CDB當中。根據Oracle給出的官方文件,一個CDB中最多可以插入250個PDB。這些PDB還可以任意插入到其他的CDB當中,無論是在當前伺服器上還是其他伺服器上都可以。
  Oracle官方宣稱,這一新功能可以加速資料庫部署,即升級或者給一個CDB打補丁就可以將所有變更同步到其上的PDB當中。也可以建立一個新的CDB,然後進行升級變更,再將其他PDB插入到該CDB中,就可以達到相同的效果。而針對安全性保障,Oracle官方表示兩個PDB之間的安全性級別同兩個普通Oracle資料庫的一樣。
  著名線上支付公司PayPal的資料庫架構師Amit Das介紹,公司擁有超過500個資料庫例項,其大小從10TB到130TB不等。在快速的OLTP環境中,將達到每秒14000次併發處理和80000個執行。想要管理這樣規模的資料庫系統?談何容易!
  “作為Oracle 12c資料庫測試專案的一部分,我們開始接觸到了Pluggable Database功能,”Das說:“在一些情況下,它帶來的好處是巨大的,特別是管理開發專案的時候,你必須給他們多個資料庫。”
  Pythian諮詢公司的CTO Alex Gorbachev同意Das的觀點,他發現Pluggable Database的最大優勢在於降低管理複雜度。他表示DBA在管理資料庫的時候不喜歡使用hypervisor,因為它會為資料庫堆疊提供一個新的層,使得資料庫透明度進一步降低。
  Gorbachev將PDB比作一個Solaris容器(Sun公司的作業系統虛擬化技術),DBA可以將這種虛擬化技術用到資料庫核心當中。無須新增額外的層,你是在資料庫程式碼中使用虛擬化技術,因此不會造成額外的開銷。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/196700/viewspace-752531/,如需轉載,請註明出處,否則將追究法律責任。

相關文章