蔣步星:輕量級大數據計算引擎

並不是任何事物都需要沉重的大數據平台,許多還是需要輕量級計算。
輕量級計算需求
-
大數據的技術本質是高性能
-
不總是有那麼大的數據量
-
不總是適合部署大數據平台
-
大數據平台 不總是可以擴容硬件(內存)
大數據開發難度大
-
大數據平台對SQL查詢關注過多
-
大量過程計算的開發難度還很大
-
提高性能本質上是降低開發難度
舉例:漏鬥轉換器

集群透明化
-
大數據平台努力實現集群透明化
-
透明化難以獲得最優性能
透明化隻能選擇最保險的方法,一般是性能較差的那 個,透明化框架對資源消耗嚴重
透明化與高性能的權衡
-
數據分布
-
任務分配
程序員分配:根據節點能力安排任務,無框架資源消 耗,係統自動分配
輕量級計算的技術特征
-
目標:過程計算
-
可集成性
-
數據源開放性
-
注重單機優化
-
權衡集群透明與高性能
集算器 — 技術特征
-
麵向過程計算
-
無縫應用集成
-
多樣性數據源接口 直接文件計算
-
單機優化技術 多線程並行
-
無中心集群結構 自由數據分布和任務分配
集算器 — 敏捷語法體係
某支股票的漲幅交易日

數據模型不限製高效算法實現

集算器 — 麵向過程計算

集算器 — 開發環境

集算器 — 應用結構

輕量級計算的技術特征
- 高效二進製壓縮文件、列式存儲
- RDB:Oracle,DB2,MS SQL,MySQL,PG,…. ●TXT/CSV,JSON/XML,EXCEL
- Hadoop:HDFS,HIVE,HBASE
- MongoDB,REDIS,…
- HTTP、ALI-OTS … …
- 內置接口,即裝即用
單機計算技術







2、連接解決

區分JOIN

外鍵指針化

外鍵序號化


3、存儲格式


序號主鍵
多層序號式主鍵
外存指針式外鍵,高速引用
外存遊離記錄表示,離散性
天然有序,易於查找
分組針對外鍵
結果自然對齊有序

多層複式表
層次式有序集合 每層均可以有數據結構 同維表與主子表統一 消除對齊式連接

4、使用索引

文本分段

倍增分段
分段數足夠大,以適應變化的並行數
每段記錄數相對平均
數據追加時不必重寫所有數據,保持連續性


列存分段
倍增分段方案解決列存並行困難 各列同步分段
同列連續存儲
有序與對位分段



集群方案
-
集群設計原則
確保容錯
減少網絡傳輸量
考慮負載均衡
-
集群計算技術
集群方案 — 無中心設計
-
服務器集群無中心
-
無中心不會發生單點失效
-
計算任務有主控節點
集群方案 — 負載均衡與容錯
-
具備負載均衡能力
-
具備容錯能力
集群方案 — 並行邏輯結構

共享式數據計算分布


冗餘式外存分布

外存分布 — 數據同步

外存分布 — 動態任務分配

備胎式內存分布

內存分布 — 靜態任務分配

集群維表

集群維表 — 示例

MapReduce->ForkReduce
集群應用 — 異構數據
集算器可以基於同構或異構數據庫集群進行結果匯總,為報表輸出匯總後的結果集。

集群應用 — 異構數據庫集群(聯合查詢)
集算器與報表V5合作提供DQL語言,可基於異構數據庫集群進行聯合查詢,結果匯總後為上層應用提供數據輸出服務。

集群應用 — 協助HADOOP工作
集算器是輕量級、高性能、分布式的計算引擎,解決HADOOP上SQL能力弱、開發難、運算慢的問題,可以極大地縮減大數據平台的搭建周期和實施成本。

集群應用 — 獨立工作
集算器作為獨立的大數據計算引擎,可自己管理數據,不需要網絡文件係統,通過標準的接口為上層應
本文來自雲棲社區合作夥伴“中生代技術”,了解相關信息可以關注“中生代技術
最後更新:2017-11-15 10:34:31