2015年3月16日 星期一

[DB] Teradata 架構入門


Teradata(http://www.teradata.com)是資料倉儲的知名廠商,但是因為售價昂貴,通常只有大型企業採用,而且也沒有OPEN SOURCE,所以相關資訊都相當集中在Teradata手上.反正工作上會用到,所以把幾個有公開釋出的資料翻譯一下,給有相關需求,英文又苦手的人參考.

以下文章翻譯自http://www.teradata-sql.com/2012/04/teradata-architecture_04.html


  • 這裏(請參閱上圖)最重要的元件是PE(解析引擎),PE最多可以支援120個sessions.


  1. Session Control:在進行SQL查詢前確認使用者的授權
  2. Paser:確認SQL語法以及相關資料表的使用者存取權限
  3. Optimizer:將使用者提供的SQL查詢語句建立計畫步驟,決定最有效的方式,同時掃描SQL查詢來決定要鎖住的資料區域.
  4. Dispatcher:控制步驟執行的程序,並且將執行步驟透過BYNET傳給AMP.另外一個重要的工作是將AMP回傳的結果合併送回使用者.



  • 接著是BYNET.
BYNET負責PE與AMP之間的溝通.BYNET又可以分為BYNET-0和BYNET-1.這兩種BYNET都能持續的送出和接收來自PE及AMP的訊息

  • AMP(Access Module Processor)
AMP可以想成是TERADATA的Worker.所有的計算和執行都只發生在AMP上.每個AMP有自己的VDISK(虛擬磁碟),Optimizer產生出的步驟都在這裡查詢和處理.每個AMP只管理他所屬的VDISK,而且沒辦法存取其他AMP的VDISK.一旦AMP開始處理步驟,會將結果透過BYNET回傳給PE,BYNET會將所有AMP的資料搜集整合起來回傳給使用者.


---翻譯結束---

TERADATA是一具有平行運算能力的資料庫,運用上述架構來達到平行存取的能力.而且從架構中可以看到,TERADATA並非架構在Hadoop上面,是一個單純的SQL Database.使用上跟其他資料庫差不多,但是在巨量資料上的處理卻相當迅速.但是畢竟是平行化架構,有些概念和一般DB不太一樣,未來將陸續翻譯其他文章介紹.