H3C+DataEngine+MPP+Cluster技術白皮書完整_第1頁
H3C+DataEngine+MPP+Cluster技術白皮書完整_第2頁
H3C+DataEngine+MPP+Cluster技術白皮書完整_第3頁
H3C+DataEngine+MPP+Cluster技術白皮書完整_第4頁
H3C+DataEngine+MPP+Cluster技術白皮書完整_第5頁
已閱讀5頁,還剩13頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

H3CDataEngineMPPCluster技術白皮書杭州華三通信技術有限公司 PAGEIIH3CDataEngineMPPCluster技術白皮書杭州華三通信技術有限公司TIME\@"yyyy年M月"2016年4月

目錄TOC\o"1-3"\h\z1 DataEngineMPPCluster產品簡介 11.1 產品簡介 11.2 產品技術特點 11.3 產品功能簡介 22 DataEngineMPPCluster產品架構 33 DataEngineMPPCluster產品平臺和指標 43.1 支持的操作系統和平臺 43.2 硬件環境 43.3 技術指標 44 DataEngineMPPCluster核心技術 64.1 MPP+SharedNothing架構 64.2 核心組件 64.3 高可用 74.4 高性能擴展能力 84.5 高性能數據加載 94.6 OLAP函數 104.7 行列混合存儲 105 DataEngineMPPCluster工具 115.1 客戶端工具 115.1.1 企業管理工具 115.1.2 監控系統工具 115.2 備份/恢復工具 115.3 gcadmin工具 125.4 數據重分布工具 125.5 數據抽取及加載工具 125.6 GCMonit監控工具 135.7 DB-Link與透明網關 135.8 Hadoop導入導出工具 146 DataEngineMPPCluster開發接口 146.1 DataEngineMPPClusterODBC 146.2 DataEngineMPPClusterJDBC 156.3 DataEngineMPPClusterADO.NET 156.4 DataEngineMPPClusterCAPI 16GBase8aMPPCluster技術白皮書 H3CDataEngineMPPCluster技術白皮書-PAGE13- 南大通用數據技術股份有限公司杭州華三通信技術有限公司 -PAGE16-DataEngineMPPCluster產品簡介產品簡介H3C大規模分布式并行數據庫集群系統,簡稱:H3CDataEngineMPPCluster,它是在DataEngine列存儲數據庫基礎上開發的一款SharedNothing架構的分布式并行數據庫集群,具備高性能、高可用、高擴展特性,可以為超大規模數據管理提供高性價比的通用計算平臺,并廣泛地用于支撐各類數據倉庫系統、BI系統和決策支持系統。產品技術特點DataEngineMPPCluster具備以下技術特征:低硬件成本:完全使用x86架構的PCServer,不需要昂貴的Unix服務器和磁盤陣列;集群架構與部署:完全并行的MPP+SharedNothing的分布式架構,采用Non-Master部署,節點對等的扁平結構;海量數據分布壓縮存儲:可處理PB級別以上的結構化數據,采用hash分布、random存儲策略進行數據存儲;同時采用先進的壓縮算法,減少存儲數據所需的空間,可以將所用空間減少1~20倍,并相應地提高I/O性能;數據加載高效性:基于策略的數據加載模式,集群整體加載速度可達2TB/h;高擴展、高可靠:支持集群節點的擴容和縮容,支持全量、增量的備份/恢復;高可用、易維護:數據通過副本提供冗余保護,自動故障探測和管理,自動同步元數據和業務數據。提供圖形化工具,以簡化管理員對數據庫的管理工作;高并發:讀寫不互斥,支持數據的邊加載邊查詢,單個節點并發能力大于300用戶;行列混合存儲:提供行列混合存儲方案,從而提高了列存數據庫特殊查詢場景的查詢響應耗時;標準化:支持SQL92標準,支持CAPI、ODBC、JDBC、ADO.NET等接口規范。產品功能簡介功能描述結構化查詢語言符合SQL92標準,支持CREATE、ALTER、DROP等DDL語法,支持SELECT、INSERT、UPDATE、DELETE、MERGE等DML語法,支持單表,多表聯合查詢數據類型INT、TINYINT、SMALLINT、BIGINT、DECIMAL、FLOAT、DOUBLE數值數據類型CHAR、VARCHAR、TEXT字符數據類型DATE、TIME、DATETIME、TIMESTAMP日期類型BLOB二進制數據類型數據庫對象提供了數據庫,表,索引,視圖,存儲過程,自定義函數等常用數據庫對象的創建,修改和刪除操作,支持數據庫用戶的創建,刪除操作,以及用戶權限的分配與回收行列混合存儲基于創建的物理表,可以實現行存列的創建,修改和刪除圖形化工具提供了企業管理工具和集群監控工具。接口符合并支持CAPI、ODBC、JDBC、ADO.NET等接口規范外圍工具提供數據加載、集群備份/恢復、數據重分布等外圍工具2 DataEngineMPPCluster產品架構圖STYLEREF1\s0SEQ圖\*ARABIC\s11DataEngineMPPCluster系統架構圖DataEngineMPPCluster產品平臺和指標支持的操作系統和平臺支持如下的操作系統和平臺:64位Linux系列(CentOS、RedHat、SUSE)硬件環境支持基于x86_64的標準PC服務器;支持本地存儲(SATA、SAS、SSDetc);支持陣列部署(SAN、NAS);支持SSD、Flash存儲介質作為二級I/O緩存;支持千兆、萬兆Ethernet網絡;支持InfiniBand網絡。技術指標技術指標描述集群節點的數據庫實例的大小10TB數字精度65表的個數每個數據庫65536每個表中列的個數2000每個表中行的個數247表中一行的內部長度300000字節一個INTEGER類型列的長度8字節日期類型列中表示年的位數4位用戶名包含字符的個數16字符CHAR類型列的長度255字符BLOB列的長度32K字節VARCHAR類型列長度32K字節行存列的長度32KB數據庫名長度64字符表名長度56字符列名長度64字符索引名長度64字符別名長度255字符DataEngineMPPCluster核心技術MPP+SharedNothing架構DataEngineMPPCluster采用完全并行的MPP+SharedNothing的分布式扁平架構,這種架構中的每一個節點(node)都是獨立的、自給的、節點之間對等,而且整個系統中不存在單點瓶頸,具有非常強的擴展性。圖STYLEREF1\s4SEQ圖\*ARABIC\s11SharedNothing+MPP架構示意圖核心組件DataEngineMPPCluster產品總共包含三大核心組件,即GCluster、GCware和GNode。GCWare用于各節點GCluster實例間共享信息,GCluster負責集群調度,每個GNode就是最基本的存儲和計算單元。GCluster:GCluster負責SQL的解析、SQL優化、分布式執行計劃生成、執行調度。GCWare:GCWare用于各節點GCluster實例間共享信息(包括集群結構,節點狀態,節點資源狀態等信息),以及控制多副本數據操作時,提供可操作節點,并在多副本操作中,控制各節點數據一致性狀態。GCWare對于集群的管理工作是以節點為基本單位的。GNode:GNode是GCluster中最基本的存儲和計算單元。GNode是由GCWare管理的一個DataEngineMPP實例,每個GCluster節點上有一個GNode實例運行。GNode負責集群數據在節點上的實際存儲,并從GCluster接收和執行經分解的SQL執行計劃,執行結果返回給GCluster。數據加載時,GNode直接從集群加載服務接收數據,寫入本地存儲空間。GCMonit:GCMonit用于定期監測DataEngineMPPCluster服務程序的運行狀態,一旦發現某個服務程序的進程狀態發生變化,就會根據配置文件中的內容來執行相應的命令。GCMonit進程監控程序為集群中的每個組件提供各自的啟停腳本,提供的總腳本可以一次性啟停所有模塊的服務。高可用DataEngineMPPCluster通過SafeGroup組內冗余機制來保證集群的高可用特性:每個SafeGroup可提供1個或2個副本數據冗余;SafeGroup內數據副本自動同步;復制引擎自動管理數據同步。圖STYLEREF1\s4SEQ圖\*ARABIC\s12SafeGroup高可用性管理示意圖高性能擴展能力DataEngineMPPCluster具備高性能擴展能力:通過SafeGroup動態擴展集群節點;每個節點可以處理10TB有效數據,同時提供計算和存儲能力;GCware負責新節點的數據同步。圖STYLEREF1\s4SEQ圖\*ARABIC\s13DataEngineMPPCluster擴展技術示意圖因為DataEngineMPPCluster采用高性能單節點的MPP扁平架構,因此進行集群擴展時,可以保證平滑擴展和性能的線性增長特性。圖STYLEREF1\s4SEQ圖\*ARABIC\s14DataEngineMPPCluster高性能高擴展示意圖高性能數據加載數據加載功能作為DataEngineMPPCluster的一部分而存在,目的是將用戶從其他數據源得到的原始數據文件,按照某種加載規則分發至集群節點,集群各節點接收數據入庫保存到本地磁盤。集群加載采用C/S架構,包括數據分發服務器和數據分發客戶端兩個應用程序。數據分發服務器接收到客戶端的數據加載請求后,服務器端負責原始數據文件切分和數據文件的下發;各節點調用本地的集群加載服務接收數據入庫并保存到本地磁盤。

圖STYLEREF1\s4SEQ圖\*ARABIC\s15數據加載示意圖OLAP函數DataEngineMPPCluster提供OLAP函數,用于支持復雜的分析操作,側重于對決策人員和高層管理人員的決策支持。可根據分析人員的要求,快速靈活地進行大數據量的復雜查詢處理,以便他們準確掌握企業的經營狀況,了解被服務對象的需求,制定正確的方案。行列混合存儲DataEngineMPPCluster采用的行列混合存儲的存儲結構,改善了當需要物化的列數較多,查詢命中的數據記錄又非常離散時,會頻繁訪問I/O的狀況,大大縮短了查詢耗時,從而提高了查詢效率。DataEngineMPPCluster提供的行列混合存儲技術,它通過創建行存列的機制,減少I/O訪問的次數,從而有效地提高I/O性能。DataEngineMPPCluster工具客戶端工具企業管理工具圖形化的查詢和管理工具,提供用于訪問、控制和管理GCluster集群環境。使用DataEngineMPPCluster企業管理器可以完成如下工作:查看管理集群、集群服務器;查看管理數據庫、表、索引;查看所有連接到當前集群環境中的用戶;在SQL編輯器中創建和執行SQL語句;其它管理,例如創建和執行存儲過程、自定義函數等。監控系統工具DataEngineCluset提供了圖形化的監控系統工具,該工具提供以下功能:實時的集群監控信息;及時的報警功能;直觀的趨勢展示;可靠的數據分布視圖;詳盡的審計日志功能;備份/恢復工具通過集群的gcrcman的命令行工具,可以實現集群的備份/恢復功能:查看備份記錄;備份、恢復;刪除數據備份;清除無效備份;gcadmin工具對于數據庫集群用戶,尤其是系統管理員來說,實時查詢、調整集群以及各節點工作狀態,尤為重要。DataEngineMPPCluster為管理員提供了命令行工具gcadmin。該工具能實現SafeGroup的增加、移除,切換集群模式,查看集群狀態等管理功能。數據重分布工具數據庫集群,通過擴展集群的SafeGroup來增加存儲容量和提升查詢性能。擴展集群SafeGroup后,需要將原集群SafeGroup中的數據,根據數據分布策略重新分布。因此DataEngineMPPCluster提供了一個數據重分布的管理工具,用來進行集群增加節點后的數據重分布的操作,使得數據能夠按照重分布策略分布到各節點上。數據重分布的過程是在線進行的,也就是說無需停止DataEngineMPPCluster的服務即可實現,數據重分布可以與查詢操作并發。數據抽取及加載工具db2tode/oratode工具是杭州華三通信技術有限公司提供的,可以從db2/oracle數據庫系統中抽取數據的工具,使用它可以從db2/oracle系統中抽取出用戶所需要的數據,并以文件的形式保存下來,該文件可以作為其它數據庫(包括DataEngine數據庫系統)的數據源文件。數據分發服務程序是集群為用戶加載數據提供的一個工具,此工具由數據分發服務端程序(dispserver)和數據分發客戶端程序(dispcli)兩個可執行文件組成,實現將數據源文件(從oracle系統或db2系統獲取的文件)加載到DataEngine數據庫系統的功能。數據分發服務程序的工具包是以tar.bz2的壓縮形式提供給用戶的。GCMonit監控工具Monit是開源工具,在某些unix或linux系統中運行會存在一定程度的兼容性問題(suse系統中會出現不能監控進程的問題);另外,被監控進程還需要提供相應的pid文件給Monit;它本身也不支持高可用運行模式。因此我們依照DataEngine的自身需求和Monit工具的基本功能,開發DataEngineGCMonit來滿足多unix(或linux)系統的運行需求。GCMonit功能如下:實時監控DataEngine集群服務程序(目前主要包括gbased,gclusterd,gcrecover,gcmetarecover和gc_sync_server)的運行狀況,一旦發現某個服務程序的進程狀態發生變化,就會根據配置文件中的內容來執行相應的命令腳本。提供用戶指定的配置文件,可配置內容包括:需要監控的服務程序名稱,服務進程狀態變化時所要執行的方法,檢測服務程序的時間間隔,日志文件路徑和名稱等。記錄日志信息。實現DataEngineGCMonit的高可用性具體請參見《DataEngineMPPClusterGCmonit與集群啟停工具使用手冊》。DB-Link與透明網關DB-Link:DataEngine集群內部提供的遠程數據庫鏈接功能,通過與透明網關服務的協同工作,實現透明訪問異地集群中的數據庫的數據表或者遠程數據庫的數據表。透明網關服務:一個獨立運行的進程,負責連接DataEngine集群之外的其他數據庫(通過標準JDBC接口,也可以支持DataEngine集群間的遠程訪問),并完成數據抽取的工作。通過DB-Link功能,客戶可以實現:DataEngine集群的應用程序可以訪問一個外部數據源,外部數據庫是DataEngine集群。可以查詢外部數據源的數據,也可以將外部數據源的數據與本地集群中的數據進行關聯運算。遠端數據庫是DataEngine集群,并且網絡通信沒有限制的情況下,可以對這種場景進行定向優化,以提升性能。不支持異構數據源Hadoop導入導出工具通過DataEngineMPPClusterHadoop導入導出工具,客戶可以實現:將DataEngineMPP集群數據導出到指定的hadoop目錄上,支持全量和多表導出;從指定的hadoop目錄(DataEngineMPP導出成功的目錄)導入數據,支持全量和單表導入;注:集群數據:包括數據庫的用戶、權限、存儲過程、函數、庫、表結構、表數據等具體請參見《DataEngineMPPClusterHadoop導入、導出手冊》。DataEngineMPPCluster開發接口DataEngineMPPClusterODBCDataEngineMPPClusterODBC是DataEngineMPPCluster的ODBC驅動程序,它提供了訪問DataEngineMPPCluster的所有ODBC功能。DataEngineMPPClusterODBC支持ODBC3.5X一級規范(全部API+2級特性)。用戶可以通過ODBC數據源管理器調用DataEngineMPPClusterODBC驅動訪問DataEngineMPPCluster數據庫或者直接調用DataEngineMPPClusterODBC驅動訪問DataEngineMPPCluster,另外通過可視化編程工具如C++Builder、VisualStudio等也可以利用DataEngineMPPClusterODBC訪問。DataEngineMPPClusterODBC支持所有DataEngineMPPCluster支持的Windows、Linux、AIX平臺。DataEngineMPPClusterJDBCDataEngineMPPClusterJDBC是一種兼容JDBC規范3.0、4.0(類型4)的驅動,這意味著它是符合JDBC3.0、4.0版本規范的一種純Java程序,并能使用DataEngine協議直接和DataEngine服務器通信。DataEngineMPPClusterJDBC為使用JAVA程序語言的客戶端應用提供訪問DataEngineMPPCluster接口。DataEngineMPPClusterJDBC支持

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論