1. 程式人生 > >SAP HANA資料庫架構部署方法

SAP HANA資料庫架構部署方法

 

  HANA作為記憶體資料庫,在實現高效能訪問的同時,必須也要有穩定的架構,今天我們就來看看企業部署SAP HANA時應該如何來設計資料庫的架構。

 

 SAP學習系列:SAP <wbr>HANA資料庫架構部署方法

 

       HANA資料庫在安裝時,有以下幾種選擇方法,為方便大家理解,我們假設只有一個HANA節點,關於多節點的部署,我會在另一篇文章中進行介紹。

 

 1、 一個數據庫Instance,一個Schema,見上圖中的(1)

       在一個HANA節點中,安裝一套HANA系統,一個數據庫Instance,一個Database Schema,這是最常見的部署方法,不需要過多的介紹了。不過為了方便各位同學理解,這裡有兩個概念還是要說明一下:

       什麼是資料庫Instance?一般教科書上都會說“Instance其實就是指作業系統中一系列的程序以及為這些程序所分配的記憶體塊”,這麼講沒錯,但難以理解,我們還是舉例來說,你在安裝SAP的時候,系統提示你要建立一個數據庫例項,這就是一個Instance,將來你這套SAP系統資料庫的程序以及執行環境都是通過這個例項來統一管理的。一個數據庫可中可以建立多個Instance

       什麼是Schema?所謂Schema是指表,檢視,儲存過程,序列,觸發器,索引等。假如你在一個數據庫Instance中建立了兩個Schema,那這兩個Schema中的表,檢視等從許可權上來看,都是獨立管理的,從應用層面的訪問都是隔離的。

 

 2、 一個數據庫Instance,多個Schema,見上圖中的(2)

這就是我們一般說的MCOD(Multiple Components on One Database),是指在一個數據庫Instance中建立多個Schema。大家都知道SAP系統一般建議三系統架構(注意:三系統架構不同於三層體系結構),也就是開發系統、測試系統和生產系統。在部署SAP系統時,如果硬體資源有限,可以考慮將開發和測試系統採用MCOD方式部署,在具體安裝時,雖然開發和測試系統要有不同的,但要選擇同一個,系統在安裝過程中,會針對開發和測試系統建立不同的Schema。

       MCOD也有一些缺點,因為採用的是一個數據庫例項,兩個系統之間在效能上會互相影響,在運維的時候也比較麻煩,資料庫例項的啟動會同時影響到兩套系統的訪問,所以MCOD一般不建議運用在生產環境中。

 

3、 一個HANA節點,兩個虛擬機器,見上圖中的(3)

       HANA也支援虛擬化管理,可以採用類似Vmware這樣的技術,在一個HANA節點中建立兩個虛擬機器,在每個虛擬機器中安裝獨立的OS作業系統,HANA系統以及資料庫系統。現在的虛擬技術已經很成熟了,虛擬機器在管理上跟實體機基本沒有區別,一個虛擬機器的維護包括作業系統重啟等都不會影響到其他的虛擬機器,而且虛擬機器的CPU及記憶體資源也可以根據實際情況進行調整。這種部署方法的缺點是會浪費資源,因為OS作業系統會佔用一些資源,一套HANA系統的安裝也至少佔用64G的記憶體。當然如果你想從OS層面就完全隔離各個系統,這還是一個比較好的做法。

 

4、 MDC(Multitenant Database Container)的方式,見上圖中的(4)

       在一個HANA節點中,安裝一套OS作業系統,一套HANA系統,多個租戶資料庫。每個租戶資料庫都是一個完全獨立的資料庫,互相之間從資料庫檔案上都是獨立的。這種部署方式的優點是節省資源,也可以通過建立跨租戶資料庫報表實現跨租戶資料的訪問,缺點是各個租戶資料庫在OS及HANA系統上是共用的,也就是說如果你要重啟OS作業系統,則安裝在各個租戶資料庫上的系統都要重新啟動。

       以上四種資料庫的部署方式對SAP的版本有要求,如果你想要使用MDC模式,HANA的版本必須要是HANA SPS09之上。