Teradata 數據庫介紹


 Teradata在整體上是按Shared Nothing 架構體系進行組織的,他的定位就是大型數據倉庫系統,定位比較高,他的軟硬件都是NCR自己的,其他的都不識別;所以一般的企業用不起,價格很貴。由於Teradata通常被用於OLAP應用,因此單機的Teradata系統很少見,即使是單機系統,Teradata也建議使用SMP結構以盡可能地提供更好的數據庫性能,在后面的介紹中,都是按多機系統進行說明的。

 

根據Shared Nothing的組成結構特點,在物理布局上,Teradata系統主要包括三個部分:

1. 處理節點(Node)、

2. 用於節點間通信的內部高速互聯(InterConnection)

3. 數據存儲介質(通常是磁盤陣列)。

 

每個節點都是SMP(對稱多處理器結構)結構的單機,節點的物理和邏輯結構如圖1所示,多個節點一起構成一個MPP(海量並行處理器結構)系統,多個節點之間的內部高速互聯是通過一種被稱為BYNET的硬件來實現的,整個系統的組成如圖1所示。

 

 


單個節點的硬件結構

 

Teradata系統中的每個節點在物理上都是一個SMP處理單元,事實上就是一台多CPU或多核的計算機。節點硬件包括CPU、內存、用於安裝操作系統和應用軟件的本地磁盤、與外界交互的網卡及BYNET端口。節點的網卡根據具體的網絡環境而不同,通常包括兩種:

1. 一種是與IBM MainFrame連接的Channel Adapter

2. 另一種就是我們熟悉的局域網網卡。

 

 

通常情況下一個節點上只會使用一種網卡,但會有多塊網卡,分別用於不同的連接和冗余。


 

單個節點的軟件結構

 

在軟件結構上,每個節點自下向上包括操作系統軟件(OS)、Teradata並行數據庫擴展(PDE)和相關應用程序,其中PDE的主要職責是管理和運行虛擬處理器,其中主要包括PE和AMPs。

 

(1)Teradata並行數據庫擴展(PDE,Parallel Database Extensions),是直接架構在操作系統之上的一個接口層,用於為Teradata提供並行環境,並保證這個並行環境的可運行性和健壯性。PDE的主要功能是執行虛擬處理器、進行Teradata並行任務調度、進行操作系統內核和Teradata數據庫的運行時故障處理。

 

(2)虛擬處理器(VPROC,Virtual Processor),是一系列軟件進程,這些進程駐留在一個節點上,依賴PDE環境運行,並接受PDE調度。可以把VPROC理解為一些Teradata的底層服務進程。虛擬處理器完成Teradata數據處理的主要工作,按照工作性質的不同,虛擬處理器主要包括兩大類——解析引擎和存取模塊處理器。

 

(3)解析引擎(PE,Parsing Engine),用於進行客戶系統(通常是使用Teradata數據庫的應用程序的SQL請求)和存取模塊處理器之間的通訊和交互,主要的功能包括任務控制(Session Control),SQL語句的解析、優化、查詢步驟的生成和分發,並行化預處理和返回查詢結果。一個節點上通常只有一個或兩個PE在工作。

 

(4)存取模塊處理器(AMP,Access Module Processor),這是Teradata數據庫的關鍵進程,用於處理所有與數據有關的文件系統的操作任務,是Teradata數據庫Share Nothing架構的核心表現。通常情況下,一個節點上會有多個AMP在工作,每個AMP分別負責文件系統上不同的、固定的數據的存取操作。

 

(5)虛擬磁盤(VDisk,Virtual Disk),這是一個純粹的邏輯概念,事實上不應該把它認為是軟件結構的一部分。典型的Teradata MPP系統的數據存儲都是以磁盤陣列(Disk Arrays)的形式實現的,在物理上是一個個存放於標准磁盤陣列櫃中的磁盤陣列模塊。Teradata系統中的每個AMP在處理數據存儲時,會根據一種哈希算法把不同的數據均勻地分散存儲到磁盤陣列中的不同的磁盤上(上海證券交易所的數據倉庫就是teradata,每秒的io能達到2G,有1000多塊磁盤,硬件昂貴。全表掃描一個幾千萬條的記錄在幾秒就完成了)。這樣,在邏輯上我們就把磁盤陣列中不同磁盤上存儲着的那些由同一個AMP負責存儲和維護的數據合並在一起,就像它們在一個磁盤上一樣,這就是VDisk的概念了。

 

 

BYNET

 

在Teradata MPP系統中,各個節點間(確切地說是各個AMP之間)的內部高速互聯是通過BYNET實現的,我們可以認為它就是Teradata系統中那些松散耦合的節點之間互相聯系的通訊總線,但事實上,它卻遠遠沒有這么簡單。

 

BYNET是一組硬件和運行在這組硬件上的一些處理通訊任務的軟件進程的組合體,用於節點之間的雙向廣播(bidirectional broadcast)、多路傳遞(multicast)和點對點通信(point-to-point communication),同時,BYNET還實現SQL查詢過程中的合並功能(每個節點或AMP,均勻分布表中一部分數據,當查詢的時候每個節點並行查詢,結果匯總到某個節點反饋給查詢者,提高查詢速度。參考:


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM