有容乃大 UCloud數(shù)據(jù)倉庫UDW架構(gòu)解析
數(shù)據(jù)分析對于很多企業(yè)是不可或缺的。幾乎所有大型企業(yè)都已構(gòu)建了數(shù)據(jù)倉庫, 以便對各種來源的數(shù)據(jù)進行報告和分析,為決策提供依據(jù),從而指導業(yè)務流程改進。構(gòu)建并運行數(shù)據(jù)倉庫是一件復雜而費力的事情。大部分數(shù)據(jù)倉庫都很復雜,前期投入的軟件、硬件、人力都會很多。另外,傳統(tǒng)數(shù)據(jù)倉庫在數(shù)據(jù)爆炸性增長的今天、擴展比較困難、性能下降明顯。
為了解決這些問題,UCloud 近日推出了大規(guī)模并行、完全托管的PB級數(shù)據(jù)倉庫服務——UDW,可以極大地減少部署數(shù)據(jù)倉庫相關(guān)的成本和工作量,更高效地使用商業(yè)智能 (BI)工具來分析海量數(shù)據(jù)。
MPP體系結(jié)構(gòu)+高可用架構(gòu) 實現(xiàn)高性能
UDW提供可視化的控制臺,能方便快捷的管理和監(jiān)控數(shù)據(jù)倉庫,降低使用門檻;此外,支持數(shù)據(jù)壓縮、深度優(yōu)化的軟硬件方案,按實際數(shù)據(jù)處理需求開通節(jié)點實例,無需為搭建數(shù)據(jù)倉庫一次性投入高額成本;同時,支持行存儲及列存儲的數(shù)據(jù)存儲方式,滿足不同場景下的數(shù)據(jù)存儲需求。
UDW是基于PostgreSQL開發(fā)的大規(guī)模并行、完全托管的PB級數(shù)據(jù)倉庫服務,幾乎支持了PostgreSQL的所有特性。用戶只需掌握標準SQL語法,就可以熟練地使用UDW。
架構(gòu)上采用了可擴展的MPP分布式體系,能為用戶提供高性能、低成本、高可用的分布式數(shù)據(jù)倉庫。
MPP體系結(jié)構(gòu)
圖1.1 UDW架構(gòu)圖
UDW采用無共享的MPP架構(gòu),適用于海量數(shù)據(jù)的存儲和計算。UDW的架構(gòu)如上圖1.1所示,主要有Client、Master Node和Compute Node組成?;窘M成部分的功能如下:
Client:訪問UDW的客戶端、支持通過JDBC、ODBC、PHP、Python、命令行SQL訪問UDW。
Master Node:訪問UDW數(shù)據(jù)倉庫的入口,它接收客戶端的連接請求、負責權(quán)限認證、處理SQL命令、調(diào)度分發(fā)執(zhí)行計劃、匯總Fragment的執(zhí)行結(jié)果并將結(jié)果返回給客戶端。
Compute Node:Compute Node管理節(jié)點的計算和存儲資源,每個Compute Node有多個Fragment組成,F(xiàn)ragment負責業(yè)務數(shù)據(jù)的存儲、用戶SQL的執(zhí)行。
UDW的高可用架構(gòu)
圖1.2 UDW的高可用架構(gòu)
如上圖所示,Compute Node中的Fragment通過mirror備份到其他的Compute Node上。當primary Fragment出現(xiàn)不可用的時候會自動切換到mirror Fragment、當primary Fragment恢復之后、primary Fragment會自動恢復這期間的變更。
除了Compute Node節(jié)點為Fragment配置鏡像之外、UDW也會為Active Node配置鏡像,確保系統(tǒng)的變更信息不會丟失,提升系統(tǒng)的健壯性。當Active Master不可用時會自動切換到Standby master。
分布式數(shù)據(jù)存儲和并發(fā)執(zhí)行任務
在UDW數(shù)據(jù)倉庫中所有的表都是分布式的,每張表都會被切片。切片規(guī)則可以選擇按照指定的Key進行Hash分片或者選擇隨機分片。如下圖所示test1、test2、test3、test4四張表的數(shù)據(jù)都會切片分布到所有的Fragment上面。
圖1.3 UDW數(shù)據(jù)分布圖
在進行數(shù)據(jù)分析的時候、所有的Fragment同時工作、每個Fragment只需計算一部分數(shù)據(jù)、所以計算效率會大大提升。如下圖所示、Master Node會把查詢?nèi)蝿障掳l(fā)到每個Fragment,F(xiàn)ragment接收到任務后,把任務劃分若干步執(zhí)行。
Step 1:scan表格數(shù)據(jù),如果數(shù)據(jù)不需要重新分布直接本地做計算、數(shù)據(jù)處理之后由master做匯總,進入Step3。如果數(shù)據(jù)需要重新分布,則通過網(wǎng)絡(luò)傳輸?shù)綄腇ragment,然后進入Step2。
Step2:數(shù)據(jù)處理
Step3:master節(jié)點匯總數(shù)據(jù)
圖1.4 UDW的并發(fā)執(zhí)行
結(jié)語
UDW非常適合商業(yè)智能(BI)領(lǐng)域的大數(shù)據(jù)聯(lián)機分析處理(OLAP)。充分滿足用戶對海量歷史數(shù)據(jù)的存取需求,為系統(tǒng)日志、銷售數(shù)據(jù)、監(jiān)控數(shù)據(jù)等歷史數(shù)據(jù)提供低成本的存儲方案。
可對傳統(tǒng)互聯(lián)網(wǎng)、移動互聯(lián)網(wǎng)、金融、電信、物聯(lián)網(wǎng)等領(lǐng)域提供PB級別海量數(shù)據(jù)存儲、查詢、統(tǒng)計、分析,方便企業(yè)BI業(yè)務。
當你的數(shù)據(jù)規(guī)模達到500G,單個MySQL數(shù)據(jù)庫已經(jīng)難以支持。隨著業(yè)務增長,數(shù)據(jù)規(guī)??赡軙_到TB級別甚至可能達到PB級別,如果希望后續(xù)能夠平滑的擴容,UDW為你提供了一個低成本、高效率的解決方案。
UDW現(xiàn)在已經(jīng)進入全面公測,只要你了解一點SQL語法就能快速熟練的使用UDW。另外我們也提供了詳細的說明文檔。詳見:https://docs.UCloud.cn/upd-docs/udw/index.html