Oracle Exadata 技術架構和主要特點

kunlunzhiying發表於2016-12-03
Exadata一開始是以一個儲存系統形式誕生的,叫做SAGE(Storage Appliance for Grid Environ ments,網格環境儲存裝置)
 
Exadata原本設計用來解決超大型資料庫所存在的普遍效能瓶頸(也就是無法在可接受的時間範圍內從磁碟儲存系統向資料庫伺服器傳輸足夠大的資料)

Oracle Exadata解決超大型資料庫效能問題的兩個主要方式:
  • 讓傳輸管道更大(Infin iband)
  • 減少需要傳輸的資料量(Smart Scan)

在瞭解Exadata的其它方面之前,最應該先了解的是儲存節點解除安裝(offload)處理,所有其它的技術都只是為了支援儲存節點的解除安裝處理。
 
儲存節點解除安裝處理(Cell Offload Processing):該工作由儲存伺服器完成,否則就必須在資料庫伺服器上執行
  • 智慧掃描(Smart Scan)
  • 混合列式儲存壓縮(hybrid columnar compression)
  • 資料檔案初始化
  • RMAN offload
智慧掃描(Smart Scan):這是儲存節點解除安裝處理中與提高資料倉儲/商業智慧查詢效能最有關的操作
  • 資料檔案的初始化
  • 欄位投影
  • 儲存索引消減
  • HCC解壓縮
全表掃描或者全索引快速掃描(Full Scan or Index Fast Scan):為了觸發智慧掃描,查詢最佳化器選擇的必要的訪問方式
 

Exadata的元件(整體架構)
 
可以將Exadata劃分為兩部分,即儲存層和資料庫層,兩層使用infiniband網路來連線
 
infiniband:提供低延時、高寬頻的管錢通訊鏈路,也提供鏈路上的冗餘和聯結(bonding)
 
資料庫層:多個sun伺服器組成,執行Oracle 11g R2軟體,RAC不是必須的,當通常會配置成一個或者多個RAC叢集,使用ASM來管理儲存(ASM是必須的)
 
儲存層:也是多個sun伺服器構成,每個儲存伺服器12塊磁碟,執行Oracle儲存伺服器軟體(cellsrv)
 
資料庫層與儲存層使用infiniband網路連線,使用iDB協議進行通訊
 
iDB協議:iDB用來將請求和請求的後設資料(比如查詢謂詞where)傳到儲存伺服器軟體cellsrv中,透過cellsrv軟體在儲存中進行智慧掃描到需要的資料,然後將最終的結果返回給資料庫層,所以將大大減少傳輸到資料庫層的資料量
 
當不能進行智慧掃描時,cellsrv會返回整個Oracle資料塊
 
iDB使用的是RDS協議,這是一種低延時的協議,跳過了核心呼叫
 
 

Exadata歷史
 
V0:SAGE(網格環境儲存裝置)--HP的硬體和Oracle軟體
 
V1:2008年第一款正式Exadata--HP的硬體和Oracle軟體---主要為資料倉儲平臺
 
V2:2009年,4核,Sun的硬體,Oracle的軟體(Oracle此時已經嘗試收購Sun公司),採用大容量固態儲存
 
X2:X2-2:升級到8臺雙CPU伺服器,6核。  X2-8:8*8核CPU,1T記憶體,定位為大型OLTP系統 
 

Exadata可選的配置(X2-2)
  • 四分之一機櫃:2個資料庫伺服器,3個儲存伺服器
  • 半機櫃:4個資料庫伺服器,7個儲存伺服器
  • 全機櫃:8個資料庫伺服器,14個儲存伺服器
Exadata可選配置(X2-8)
  • 2個大型資料庫伺服器,14個儲存伺服器
 
半機櫃和全機櫃配置可以連線到額外的機櫃(多機櫃配置模式)最多可連線8個機櫃,這種配置需要額外的infiniband交換機,稱作‘spine switch’(用來連線額外的機櫃)
 

Exadata硬體(機櫃為42U)
 
  1. 最底下為連線多個機櫃的spine switch交換機
  2. 上下為對稱的儲存伺服器
  3. 中間兩個對稱的為資料庫伺服器
  4. 機櫃正中間為一臺乙太網交換機(思科),兩臺infiniband交換機
其中的乙太網交換機是整套裝置中唯一能允許客戶自行替換的裝置

Exadata的作業系統
  • 基於Intel晶片的Sun伺服器
  • Oracle Linux 作業系統(可安裝solaris作業系統,但一般很少見)
  • Oracle不允許在系統上安裝任何其他的軟體

Infiniband(Exadata中最重要的硬體元件之一)
 
用來在資料庫層與儲存層進行資料傳輸和通訊,
可以在RAC環境下作為資料庫節點間的互聯(interconnect)網路
課用來連線外部系統,如備份系統
 
磁碟(兩種可選)
  • 高容量(high-capacity):單盤2TB 7200RPM
  • 高效能(high-performance):單盤600G 15000RPM的SAS盤
Oracle不允許混合這兩種磁碟使用
 

11g R2發行版資料庫內預設已經有對於Exadata的程式碼,可以檢測到軟體是不是再訪問Exadata儲存,這種感知能力可以讓資料庫在訪問Exadata儲存時使用到為Exadata設計的特有最佳化手段。
 
儲存層對於資料庫層是是不可見的,需要ASM儲存管理。ASM可提供普通冗餘(兩份copy),高度冗餘(三份copy)
 
Exadata儲存伺服器上沒有任何形式的硬體或者軟體實現的RAID來保護資料,映象保護功能完全透過ASM來提供
 
功能運輸(function shipping):iDB將正在執行的SQL語句資訊傳到儲存節點上,儲存節點將計算過的資料而並非資料塊直接返回給請求的程式。iDB可以返回給資料塊伺服器的資料僅僅限制在那些滿足查詢的行和列,這種模式僅僅在執行全表掃描的時候才可用
 
 

Exadata軟體架構
 
 
上半部分是標準的Oracle 11g架構,顯示了緩衝區和共享池的全域性區(SGA),也顯示了一些主要的程式
 
下半部分顯示一臺儲存伺服器的元件,只有一個程式cellsrv來處理與資料庫伺服器之間的通訊,還擁有一些少數的輔助程式和監控環境
 
cellsrv使用init.ora以及alert.log檔案,以及ADR(自動診斷資訊庫)
 
 
 

概念總結
Exadata的硬體本身沒有什麼神奇的地方,大多數的效能優勢來自於整合的元件以及在儲存層上實現的軟體。



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

相關文章