Teradata 資料庫

来源:https://www.cnblogs.com/mr-yu-2020/archive/2020/04/21/12699371.html
-Advertisement-
Play Games

筆者大學所學電腦專業,讀書時接觸過Oracle、mysql和SQL SERVER,一度坐井觀天覺得資料庫應該也就這些了,但自筆者畢業進入數據倉庫這個行業,接觸的第一個商業資料庫即是Teradata,亦是接觸到的第一個MPP體系架構,先簡單談談個人對Teradata的認識吧 產品特點: 1.MPP架 ...


筆者大學所學電腦專業,讀書時接觸過Oracle、mysql和SQL SERVER,一度坐井觀天覺得資料庫應該也就這些了,但自筆者畢業進入數據倉庫這個行業,接觸的第一個商業資料庫即是Teradata,亦是接觸到的第一個MPP體系架構,先簡單談談個人對Teradata的認識吧

產品特點:

1.MPP架構,為提供商業大數據分析處理而設計構建(OLAP)

2.通過PE、BYNET、AMP中間件構建出高效的並行資料庫系統(作為行式資料庫對硬體資源要求特別在於記憶體資源需求上優勢很明顯)

3.通過PI和SI構建數據的均勻分佈和高效的讀寫能力

4.提供了豐富的SQL請求工具(BTEQ、Teradata SQL ASSISTANT、FASTLOAD、MULTILOAD、FASTEXPORT、TPUMP)

5.提供了完備的管理工具(Teradata Manager、DBQM、Teradata Administrator)

6.提供了豐富的二次開發介面(PP2、CLI、ECLI、ODBC、Oracle Transparent Gateway、WinCLI、TS/API)

產品不足

1.過於封閉,在網上很難找到Teradata資料庫的相關資料,產生異常或疑問只能咨詢Teradata內部人員(或有相關經驗人員)

這給後期架構規劃和日常異常的處理上帶來了很大的不便,隨著與Teradata方合作的開展,亦愈發認識到,技術的完全封說的好聽點是為了操作的合規性和單一性,說的直白點就是為了最大化專利技術的經濟效益(之間產生過幾次資料庫異常,Teradata中國區的工程師處理不了都是申請美國工程師的技術支持,這也能看出來對於Teradata內部亦是存在比較明顯的技術封閉現象)

2.擴展性不足,作為一款MPP體系架構產品,對比開源hadoop以及筆者現在所用的商業Vertica資料庫,其擴展性表現十分有限

筆者接觸過Teradata 5系列和2系列的架構環境,均採用了共用陣列存儲,其最大的問題就在於,陣列插滿磁碟就無法有效進行擴容了,節點的擴展沒有接觸不好妄加評論,當然現在的Teradata可能在這塊有了很大的提升和對市場需求積極的調整(在最後一次架構規劃中,Teradata方給出了基於X86伺服器的2系列架構方案)

3.相容性不足,這點也可稱之為可移植性(當然這類大存儲的MPP資料庫也不會輕易做移植),當然其緣由還是在於其封閉性

從底層硬體到上層資料庫軟體以及後期的服務,甚至機櫃都是由Teradata定製化的實現,當然現在的Teradata可能在這塊有了很大的提升和對市場需求積極的調整(在最後一次架構規劃中,Teradata方給出了基於X86伺服器的2系列架構方案)

4.IO能力有限,行式存儲資料庫的通病,在壓縮比較低的情況下,加劇了OLAP場景中對於資料庫IO能力瓶頸的產生

下麵我們就來簡單認識認識Teradata吧。

1、Teradata因數據倉庫而存在

Teradata 是一個關係型資料庫管理系統 (RDBMS).

• 為運行世界上最大的商業資料庫而設計;

• 企業級數據倉庫的首選解決方案;

• 基於Linux/UNIX與NT的開放式系統平臺;

• 完全符合ANSI標準;

• 可以運行於單個或多個節點;

• 可以幫助企業提供自服務端到客戶端的所有應用

• 運用並行處理方式來管理Terabytes以上的數據

 

2、Teradata與EDW 

 

 

 3、數據倉庫發展的五個階段

 

 4、Teradata資料庫系統體系架構

 

 

基本讀寫過程

•解析引擎PE將SQL請求拆分成 各AMP的請求以便幵行處理

• 解析器分解接收到的SQL交易 請求,驗證語法、許可權等

• 優化器產生最優的查詢方案

• 分發所優化的方案到AMP

• 數據通過表PI的HASH值均勻 分佈到各AMP管理的磁碟( 寫)

• 信息傳遞層可彙總各AMP數 據,將最終結果返回客戶端( 讀)

5、The Parsing Engine (PE) 解析器

 

 PE的作用:

• 一種VPROC,用亍解釋SQL請求、 接收輸入記錄、審查數據、發送信 息到AMPS

• 每個PE能幵發操作120條會話,每 個會話能處理多個請求

• 當多個用戶同時訪問系統時, Teradata能夠通過PE在各節點間自 勱平衡負載,不需要人工干預

6、BYNET(高速連接網路) 

 

 

 BYNET的作用是:

• 負責AMP與PE之間的通信

• 通信方式可為:Point-to-Point, Multi-Cast, and Broadcast communications

• 將AMP返回給PE的結果集進行合併 • 它的存在使得Teadata的並行成為可能

• BYNET可以是硬體也可以是軟體 • 隨著節點的增加,BYNET的帶寬線性增長

7、AMP - Teradata並行處理的基礎

 

 

 • 一種VPROC,每節點可包含多個 AMP

• 每個AMP擁有獨立記憶體和CPU資 源,與一個VDISK連接,管理數 據庫/表的部分數據。

• 控制所有磁碟交互及部分資料庫 的操作,如讀、寫、轉換、格式 化等

• 各個AMP幵行處理,互不幹擾, 交易處理結果在信息傳遞層彙總 後,直接返回給應用程式

• 一個請求可以分發到所有AMP一 起共同工作,每個AMP也可以同 步處理多個請求

8、Teradata支持MPP架構,通過系統擴展實現並行 處理能力的線性擴展 

 

9、Teradata數據分佈

Teradata採用hash演算法根據用戶建表所選的PI進行數據分佈,當然這裡有所有MPP體系架構資料庫的通病,數據傾斜問題,Terdata為方便DBA的維護管理工作,提供了數據重組功能,當然作為一個大型的MPP資料庫,資料庫對象量級的過於龐大,數據傾斜問題的處理往往會占用DBA相當大的維護管理成本(靠每個用戶遵守PI選擇的原則只是理論上的期望)

 

關於Teradata組件和語法的分享這裡就不詳述了,如有興趣歡迎留言交流

 

後期隨著使用的深入,在逐步瞭解其強大同時也更加瞭解其封閉,要使用Teradata購買其產品只是一個開始,後續在於配套的維護和擴容上還需源源不斷的投入,在這個註重信息安全和成本控制的時代趨勢中,伴隨著去IOE的深入和開源技術的成熟,Teradata註定淡出大部分國內市場,至少對於筆者所處的通信行業來講是如此,自然首當其衝的還是企業對投入成本的控制,當然不可否認的是,Teradata作為一個為大數據商業資料庫產品,確有其獨到之處。

老生常談,在數據倉庫體系架構中,至少在當下,RDBMS仍是核心的一環,筆者所在的環境,在對hadoop生態取代Teradata探索中有過血淋淋的教訓,在面對Teradata服務即將到期的時候不得不再次進行基於MPP體系架構的RDBMS招標,事實證明開源與商業的組合架構現階段最為合適,故而這樣的架構沿用至今,只是對於數據倉庫環境,基於MPP架構體系的列式存儲RDBMS應是首選

關於MPP體系架構相關知識,我們下期再聊。

 

 

 

我是Mr.Yu,一名數據倉庫行業的資深從業者,很高興與你的這次分享!

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 看第21章時,介紹到瞭解析命令行的神器 getopt,瞭解了 linux 下處理通用命令行的方法。 命令行可分為參數與選項,其中不帶 - 或 -- 首碼的為參數,對一個命令而言數量是固定的,多個參數之間的順序也是固定的(不然命令沒法區分);而選項就是帶 - 或 -- 首碼的,可有可沒有的,由用戶的輸 ...
  • 我們在工作的過程中,有時候會利用源碼包安裝軟體。雖然相對於二進位軟體包,配置和編譯起來繁瑣點,但是它的可移植性卻好得多。 ...
  • 已允許遠程連接 遠程服務已啟動 能ping通 但就是連不上,原因何在? 如果關閉防火牆,你會發現連上了。 在防火牆 》高級設置 》入站規則 里,有如下兩項: 遠程桌面(TCP-In) 公用 已啟用(否) 遠程桌面(TCP-In) 域 專用 已啟用(是) 所連WiFi為歸為公用網路 只需開啟防火牆,啟 ...
  • 1、ls命令 就是 list 的縮寫,通過 ls 命令不僅可以查看 linux 文件夾包含的文件,而且可以查看文件許可權(包括目錄、文件夾、文件許可權)查看目錄信息等等。 常用參數搭配: ls -a 列出目錄所有文件,包含以.開始的隱藏文件 ls -A 列出除.及..的其它文件 ls -r 反序排列 ...
  • 一、nginx版本 開源版本主要有: mainline--含最新特性和及時的bug修複,以及一些試驗性的組件和一些新bug; stable--不含最新特性,但含有重要的bug修複並跟隨移植到相關的mainline版本。推薦生產環境使用。 二、安裝方式: (1)使用預編譯的二進位包:此種方式最快捷; ...
  • 在sqlserver中,幾年之前就註意到一個現象:sqlserver中對一個大表創建索引或者rebuild索引的過程中,會引起記憶體劇烈的動蕩,究其原因為何,這種現象到底正不正常,是不是sqlserver記憶體管理存在缺陷?另外,最近剛好想到跟MySQL對比一下類似操作引起的記憶體變化,測試MySQL會不 ...
  • 一、Win10 下載、安裝 Navicat 15 1、關閉安全中心的實時保護 因為 註冊機 可能會被系統判定為 有害文件,可能會自動刪除,所以先將實時保護關閉,再去使用註冊機激活,激活後,再打開實時保護。 Step1:打開 Window 安全中心。 Step2:點擊病毒和威脅防護,併進入管理設置頁面 ...
  • 通過寫SQL查詢,我們可以發現很多簡單查詢語句主要就是由一些算術操作、欄位操作、函數還有各種子句構成的,今天我們從這個角度對MySQL單表查詢的基礎知識進行一個彙總。 __計算:__ 計算欄位 算術操作符 算術計算 欄位拼接 格式化顯示 __函數:__ 統計函數 其他常用函數 __子句:__ 排序 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...