以“大數據技術探索和價值發現”為主題的第六屆2015中國數據庫技術大會(以下簡稱大會)近日在京召開。大會吸引了近2500名技術愛好者參與,活動主辦方除設置主會場外還開設了多個專場,在《專場19:大數據-商業與開源架構》上來自中海紀元數字技術公司技術總監任廣坤,攜程網高級架構經理趙俊,搜狐DBA賴億,博曉通聯合創始人董健將為我們帶來一場精彩的大數據全方位的知識“盛宴”。
▲中海紀元數字技術公司技術總監任廣坤
中海紀元數字技術公司技術總監任廣坤首先介紹了大數據在智慧政務上的應用。他指出,在云計算已經遍布國內大江南北,各地都在建設云計算基地能夠為大數據應用奠定基礎。再說電子政務的發展,它與我們的生活是密切相關的,回顧整個電子政務的發展經歷來看,它主要經歷了幾個階段:
第一個階段90年代左右其信息化是垂直的系統;第二階段是從2000年到2005年是兩網一站,四庫十二金的應用;第三階段是從2006年到2011年,面向業務協同提高辦事效率主要推是標準化市民中心。第四階段從2012年以后政務向是一站式智慧政務。所謂一站式主要是基于云計算、大數據等提供的服務。
▲新技術帶來的行業變化
任廣坤指出大數據帶來了行業的變革,給政府行業大數據帶來了六大轉變:從粗放管理向精細化轉變,從單相管制向政民互動轉變,從各自為戰向協作共享轉變,從被動響應向主動預見轉變,從行政主導的政府向以人為本服務型政府轉變,從經驗決策向基于大數據的科學決策轉變。
▲業務新要求、IT新需求推動統一化
談到電子政務的應用,其實電子政務與企業的架構有很高的相似性,過去企業建了很多的IT系統,形成“煙筒”式的架構,這些問題不僅僅是企業面對,對于電子政務而言,同樣也面臨相信的問題比如當有了新的業務需求時,同樣也對IT提出了新的需求,這就要求必須統一化。以政務數據為例,政務的需求是縱向訪問上級部門,縱向各業務之間要隔離,要求數據需要更強的穩定性、安全性、可靠性。 大數據是政務資源整合和業務協同的重要組成部分,對于政務的需求推薦使用面向電子政務領域的EDATA平臺,它是基于大數據的采集、存儲、分析與挖掘及可視化展示應用等全方位一體化解決方案,基于開放性架構的平臺,可面向電子政務各行業應用進行具體業務需求快速實現。
▲平臺系統架構設計
▲平臺設計理念
▲平臺設計功能
攜程高級架構經理趙俊就《應用與DB的實時依賴分析與故障定位》作了主題分享。他指出,當網站訪問量越來越大的時候,對于DB是一個“災難”,大量報錯需要花很久的時候才能定位。基于此,攜程開發了DAP。DAP(Data Arch Portal)是基于Java開發的, 使用12種開源框架的實時應用與DB監控平臺。它為攜程提供了從架構到應用訪問DB的全面監控服務和決策支持。
▲攜程高級架構經理趙俊
現在DAP的現狀是擁有16臺物理監控肌群,1500+業務應用(包括.net,Java,和MS SQL),4000+應用服務器,>10TB消息大小,>100億消息(每天),單機Max QPS 10w/S(生產環境)。一套好的監控系統指標不僅要具備對應用無影響,還能夠具備實時性、吞吐量、開銷低、可靠性、服務端處理100%的到達消息等元素。
▲DAP報表之系統報錯大盤
▲DAP報表之應用與DB耦合依賴
▲DAP報表之架構總圖
在專場現場,搜狐DBA賴億以infinidb列式數據庫為基礎,詳細的介紹了infinidb在大數據的應用的。以某應用場景為例,搜狐某業務使用了其它數據庫,但整體的效率不是很理想,最終使用infinidb解決了問題。眾所周知,在整個數據處理中,infinidb的定位在Hbase功能之上做了匯總,它是一個匯聚層。而且它具有MySql協議兼容,能夠支持dml,統計類查詢10倍,Load數據快,壓縮率5倍,而且最主要的是免優化等特點。
▲搜狐DBA賴億
Infinidb能夠查詢29億數據只需要3.13秒,不管查詢條件如何組合,它的查詢很快。Infinidb在數據量越大,它的優勢越明顯,這是因為在數據存儲方面,它是按列進行查詢,再按行業查詢,然后在查詢,這樣的速度會更快。
▲Infinidb的單機構架
Infinidb的核心算法是:hash join 每行都有一個rowid,查詢2列以上,通過rowid關聯,使用hash join。而且infinidb不擔心表的關聯,但是很怕Select *。
▲Infinidb的開發式框構
▲Infinidb核心算法hash join
Infinidb不適合的場景如下:查詢包括大量的查詢,它的單行查詢效率其實和統計類查詢效率差不多,大量存在Select*這種列出所有列的查詢;通過在線的單行insert錄入數據,它的單選插入每秒只能是幾十條;需要特別快的查詢響應時間比如50ms內;有大的并發,比如200個并發;大量的varchar甚至text的字段。
博曉通聯合創始人董健在專場上作了《基于混搭存儲引擎的融合型分布式數據庫架構》。他指出,現在商業應用場景存在很多的困境需要我們用多個節點解決單個節點不能解決的問題。那么分布式是最好的解決方案之一。分布式通過scale out解脫單一計算節點上無法從硬件無限突破的兩大性能瓶頸:CPU和磁盤。實現高可用,高可靠、高性能,彈性可伸縮。
▲博曉通聯合創始人董健
分布式的目標是安排盡可能多的人共同執行一個任務,但分布式不是一種新技術,它是一種設計模式,它衍生的支撐技術如路由、負載均衡、任務調度、并行計算、資源競爭、線程間/進程間/網絡通訊。理想的分布式是站在應用的角度來講是“分而治之”,這樣的好處是所有的應用都可以實現分布式。理想的分布式計算框架最主要的分布式應用。
博曉通聯能夠提供了服務型分布式計算服務,它是以服務化的開發方式,自上而下,自內而外的SOA。它不改變業務流和編程模型,單機單用戶思路設計分布式應用。服務型分布式計算服務的功能是靈活強大的編程模型,數據/通訊協議全透明,核心架構方面提供了分布式虛擬機,背板+刀片的架構。
提到分布式計算,離不開對于Map-Reduce,Map-Reduce是偉大的創新,復雜任務并行的好方案,通用、成熟、“廉價”的大數據方案,唾手可得的“免費”方案。但Map-Reduce不是分布式計算、大數據領域的萬金油,也不是阿司匹林!
▲基于混搭存儲引擎的融合型分布式數據庫
傳統數據庫面臨的許多的煩惱如數據的維度和容量極大擴展,數據維度頻繁變化,不支持新的數據類型,數據容量有限,數據維度有限,維度修改成本高。那么如何該解決?基于混搭存儲引擎的融合型分布式數據庫或許是一個不錯的選擇。
▲融合型分布式數據庫的分布式架構