您好,登錄后才能下訂單哦!
傳統關系型數據庫在企業市場長期占有穩固的統治地位,許多人都不曾意識到除了傳統關系型之外還有其他類型的數據庫。傳統關系型數據庫非常善于處理事務的事務性操作,例如更新操作。但是在處理大數據量的批量操作時候就有點捉襟見肘。例如DB2作為IBM公司開發的一套關系型數據庫管理系統,被廣泛應用于大型數據倉庫項目中,特別是移動行業,自構建經營分析系統以來,基本都采用DB2數據庫搭建BI主倉來聚焦于數據分析,支撐內部管理決策、營銷推廣和客戶服務等工作。
隨著大數據在帶來全新商業模式和業務增長,對IT支撐工作提出了更高的挑戰,對現有技術架構體系也提出了全新的要求,其中自然包括數據倉庫支撐能力。在業務需求快速變化的今天,傳統數據庫軟件顯得捉襟見肘,存在較多的不足,主要包括:
隨著業務的發展,時間積累后數據量呈幾何般的增長,業務的復雜度對數據庫性能提出了給高的要求。而傳統的關系型數據庫由于行式存儲,運算集中化,在復雜SQL的支撐上對IO,CPU等資源很大的壓力而且難以滿足業務需求。
傳統數據庫擴容只能Scale-up(縱向擴展),以增加處理器、高端存儲容量等資源進行升級以獲得對應用性能的要求,但是更大更強的服務器同時也是昂貴的,擴容完還需要進行數據的balance操作,甚至需要進行停庫操作,直接會對生產造成影響。
傳統數據庫例如DB2配置文件及邏輯節點的元數據有1份副本,但系統默認在同一目錄,且不可更改,不可再備份,其安全性非常低。
DB2的主機需要用IBM的小機,ORCLE需要用 Exadata,所有的存儲還需要EMC等這些價格動輒數百萬的設備;同時這些軟件的Lisence也非常昂貴。而在人員的開支上,這些數據庫管理員成本也不低。
考慮到分布式數據庫支持基于X86的部署方式,而X86大量取代傳統小機已經成為趨勢,具有成本低、擴展性好等優勢,傳統數據庫依賴小機升級的擴容模式走到了盡頭等原因,決定引入MPP(Massively Parallel Processor )分布式數據庫取代現有DB2數據庫。MPP在數據庫非共享集群中,每個節點都有獨立的磁盤存儲系統和內存系統,業務數據根據數據庫模型和應用特點劃分到各個節點上,每臺數據節點通過專用網絡或者商業通用網絡互相連接,彼此協同計算,作為整體提供數據庫服務。非共享數據庫集群有完全的可伸縮性、高可用、高性能、優秀的性價比、資源共享等優勢。利用MPP在核心數據倉庫完成數據建模之后同步到數據分析集市,同時數據分析集市作為大數據集市承載目前所有的基于數據庫標準SQL開發的應用。
產品對比如下:
Vertica | DB2 | |
硬件架構 |
|
|
軟件架構 |
|
|
壓縮 |
|
|
高可用 |
|
|
日常管理 |
|
|
性能 |
|
|
可擴展性 |
|
|
硬件配置對比
Exadata 1/2 Rack | Vertica | 說明 | |
Server配置 | 總共11臺,包括4臺數據庫和7臺存儲服務器 | 11臺DL380p Gen8 | 保持與Exadata的Server數量一致 |
CPU核數 | 數據庫節點:64核(2.9GHz,E5-2690) | 176核,2.6GHz, E5-2670 | CPU核數多20% |
CPU處理能力 | 5559 | 7084 | 整體CPU處理能力增加28% |
內存 | 1024GB | 1408GB | 內存增加40% |
硬盤型號 | 600GB SAS盤 15000rpm(3.5) | 900GB SAS盤10000rpm(2.5) | 性能基本一致 |
硬盤數量 | 84 | 275 | 硬盤數量增加3.3倍 |
可用容量 | 22.5TB | 900GB*22*11=218TB | 可用容量增加3.4倍 |
數據加載速度 | 8TB/hour(理論最大值) | 每節點200MB/s,約8TB/hour(實測平均值) | 基本一致 |
軟件特性對比
Exadata | Vertica | 說明 | |
數據存儲方式 | 行式存儲+混合列壓縮 | 純列式數據存儲 | Exadata只有在以direct load方式進入的數據才能被列壓縮 |
壓縮方法 | 6種壓縮算法(2種行壓縮,4種列壓縮) | 12種壓縮方式 | Exadata只能針對表級進行壓縮指定;Vertica可以對表的各列分別指定不同壓縮算法 |
加載與實時查詢同時進行 | 在進行direct load加載時通常要disable index,因此實時查詢無法同時進行 | 可同時進行 | Vertica支持在數據加載的同時進行高并發查詢 |
部署架構 | Shared everything 架構 | Shared nothing MPP 架構 | Shared everything架構無法擴展過多節點,而 shared nothing 的MPP架構擴展性更好,更適合于大數據量的并行處理 |
數據庫管理 | 復雜的管理,需要非常有經驗的DBA和專用的OEM工具 | 簡單,自動,無需過多人為干預 | |
分析函數 | 少數簡單的分析函數 | 內嵌多種分析函數與靈活的分析查詢 | |
Hadoop接口 | 不支持 | 支持 | Vertica內嵌與Hadoop的接口,支持結構化與非結構化的同時分析 |
成本對比
Exadata 1/2 Rack | Vertica | 說明 | |
硬件價格 | 800-1000萬 | 200萬 | DL380gen8按每臺10萬報價,加上一些外圍設備和服務 |
軟件價格(成交價) | 864萬 | 300萬 | Vertica價格為估計;Oracle通常會利舊 |
3年服務費 | (800*8%+864*22%) * 2 = 508萬 | (200*8% + 300*21%) * 2 = 158萬 | 硬件按8%,軟件按22%(Oracle)和21%(Vertica) |
3年總體投入 | 2172萬 | 658萬 | Vertica方案為Exadata投入的30% |
在容災方面,同城異地的主備兩個數據庫集群間可以增量同步,從而實現異地數據災備。同時,在備份方面,該產品提供專用的VBR備份恢復工具,可以方便地對整個集群中的數據實現全量、增量級別的表粒度或者庫粒度的各種形式的備份。支持數據并行備份和并行恢復,備份文件可以分布在不同的備份存儲領域上,配置不同數量的備份恢復節點。
平臺架構一般設計如下:
MPP資源池集群建設,主要分為兩個獨立的MPP數據庫建設,分別是核心數據倉庫和數據集市。
集群可以部署3個以上的節點,K-safy值可以設置n,即每份數據有n份冗余數據,每份冗余數據均部署在不同機架中。
為了便于本項目以后擴展,我們建議采用分級網絡,既每個機柜配置2臺萬兆接入交換機,這些交換機再級聯到核心交換機。
交換機:
至少配置2臺核心交換機組成高可用集群。
每個機柜配置2臺萬兆交換機,并組成高可用集群;每個柜頂交換機通過2個40G上行口分別與2個核心交換機連接。
為MPP數據庫內部集群通信網絡設置VLAN以便于外部服務網絡隔離。
每臺服務器的連線方式:2個10GE網卡通過光纖分別與柜頂兩個交換機的10G光口連接,在服務器段綁定成一個邏輯網卡,設置內、外兩套網絡IP地址,并為內部集群通信網絡設置VLAN以便于外部服務網絡隔離,形成可靠的內部通訊網絡,避免網絡故障。
每臺計算節點操作系統盤由2塊盤做raid1實現熱備,或者每7塊做1組Raid5,3組Raid5再做Raid0合成1個數據盤,提高存儲讀寫性能,并兼顧數據安全性。
采用萬兆業務網絡、千兆管理網絡,計算節點采用2萬兆綁定網絡,解決批量數據處理可能存在的網絡瓶頸問題。
為了減少省經與一經的相互影響,實現一經與省經解耦,把現有DB2上除一經外的倉庫模型、片區化應用、手機經分等省經應用全部遷移到MPP平臺上。
本次遷移改造采取按應用逐步實施的策略,遵循如下步驟:
把DB2上執行程序代碼直接搬遷到MPP上執行,根據錯誤調整相應的語法,通過批量調整的模式,保證所有程序能正常執行。
導入數據源后運行程序,將MPP上的結果數據與DB2進行比對,發現差異數據后找到問題并解決,確保兩邊數據一致。
優化程序(如小表建復制表,大表分區鍵是否合理)并保證生成數據的時間不晚于DB2生成的時間。
在程序穩定運行半個月后,切換對外接口數據源,最終實現平穩遷移。
隨著省經業務應用逐步往Vertica上遷移上線,業務數據量出現了超預期的增長,可能會出現了性能下降和容量不足等情況,一般共兩大類問題。
(1)裝載問題,包括:裝載機網絡不穩定、裝載效率低、穩定性差、裝載超時、裝載數據質量問題,以及裝載文件字段與表結構不一致等問題;
(2)性能問題,包括:數據庫運行一段時間后出現性能下降、查詢插入語句執行效率慢、垃圾SQL耗盡系統資源、建Projection不合理、大量失效視圖和過期表未及時清理等問題。
上述問題既有平臺層面問題,也有業務層面(SQL質量和開發規范)問題,為此,從技術層和頁面層面方面對系統進行了專項優化。
網絡優化:升級網卡驅動,修改網卡模式,調整交換機哈希算法完成數據流量的負載均衡,調整TCP相關內核參數,增大內核套接字接收緩存區的大小。改進后網卡流量可穩定2萬兆運行,網卡效率與穩定性出現顯著提升,丟包和重傳現象基本消失。
數據庫優化:優化控制文件參數、優化加載并行度、增加預讀緩存、優化CPU線程數量、增大裝載服務端與客戶端之間的通信延時參數、優化裝載超時參數,裝載失敗率由30%左右下降到低于0.5%;優化Projection配置參數,相同SQL的執行時間可以大大縮減時間,例如客戶表和賬戶表之間的大表關聯運算,Vertica相比較傳統數據庫只用了1/5的時間,總體性能提升60%;優化數據庫內存參數,提高了系統穩定性。
因平臺應用開發人員對新產品不夠熟悉,部分SQL質量較差(如可以直接分區讀取數據,表hash鍵選取不合理、復制或分布表屬性選擇不合理等)、執行性能差(多余子查詢、笛卡爾積、關聯字段不合理),對這些問題分別進行了調整優化。
與此同時,還進行了產品培訓及使用指導,發布并持續更新多版MPP數據庫開發規范,幫助應用開發者更好地使用MPP平臺。這樣起碼99%以上的SQL運行正常,個別SQL耗時較長的及新開發的SQL還需要繼續針對性優化。
廣泛應用于國內電信行業的數據分析系統
BSS | OSS | MSS | 其它 | |
業務域 | ▲經營分析(BASS) ▲詳單(CDR)分析 ▲流量經營分析 ▲精準營銷分析 ▲歷史庫與報表 ▲合作伙伴與電子渠道分析 ▲用戶分類與收益分析 ……
| ▲信令分析 ▲網絡錯誤與性能優化 ▲網絡分析 ▲網絡綜合分析 ▲綜合監控分析 ▲網絡容量管理 ▲客戶體驗管理 ▲漫游分析 ……
| ▲ERP數據倉庫 ▲財務報表系統 ▲集中數據分析 ……
| ▲增值業務分析▲平臺 ▲大數據分析平臺 ▲互聯網分析 ▲用戶行為分析 ▲用戶位置分析 ▲點擊流分析 ……
|
挑戰 | ▲數據量大 ▲分析處理能力要求高
| ▲數據量巨大 ▲實時性要求高
| ▲分析性能要求高
| ▲數據量巨大 ▲分析處理能力要求高 ▲分析算法要求豐富
|
HP的優勢 | ▲超快分析速度、無限的擴展能力;▲SQL標準和開放性
| ▲實時分析和聚合、無限的擴展能力; ▲SQL標準和開放性
| ▲超快分析速度;▲SQL標準和開放性
| ▲Vertica的開放性和與Hadoop/R的整合能力; ▲超快分析速度、無限的擴展能力;▲非結構化分析
|
準實時分析,大數據變現
60節點
HP BL460c G7刀片(VC Flex10)D2200sb 存儲存儲(12*1TB7200RPM SATA)
實時數據入庫超過200MB/s 包括GB,IUPS,GN,DPI等
原始表入庫周期為分鐘級別
匯總表入庫周期為15分鐘級別
保存1個月,總量超過500TB
多種粒度的匯總:5分鐘、小時、天
準實時分析,提升網絡服務質量
處理云:Hadoop集群完成數據解析匯總
存儲云:HP Vertica集群完成大數據存儲
6個節點集群,數據量超過30T
主表單表超過20TB,分鐘級準實時入庫
大數據高性能分析支撐精細化營銷和差異競爭能力
32節點,數據量360TB
性能大幅提升
--數據壓縮比高達9倍
--100億級數據分析查詢,秒級響應,性能提升約50倍
--能支撐上數百用戶自助分析
數據自助服務:業務用戶自助分析
營銷大數據分析:
--各種營銷模式和促銷手段的大數據分析
--客戶屬性數據的關聯分析,包括客戶畫像查詢、標簽客戶群刷新、標簽分析的數據刷新
正在把經分主庫遷移到另外32節點集群
整合BSS/OSS數據,280TB / 40節點
O域http/socket數據,先進入hadoop集群進行清洗
A口信令數據,1-5TB/天,先進入hadoop集群進行清洗
B域經分數據,300GB/天,從DB2中直接提取
綜合大數據
用戶行為、用戶畫像分析
自助服務
營銷分析
數據保留周期
詳細數據:7-15天
匯總數據:6個月-1年
高度匯總:1-3年
廠商
基礎平臺:華為
ETL/BI:華為創我
精準營銷:亞聯
全網級別監控數據進行深層次分析的智能分析平臺,為集團、公司內部和省公司提供數據分析服務
需求:能夠低成本擴展已存儲高速增長的數據規模;能夠處理更多地非結構化數據,如web日志以及物聯網的應用日志;能夠在大規模數據下進行深度數據挖掘,超越傳統的隨機采樣分析的方法,而代之以全數據級別的分析能力。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。