蒋步星:轻量级大数据计算引擎

并不是任何事物都需要沉重的大数据平台,许多还是需要轻量级计算。
轻量级计算需求
-
大数据的技术本质是高性能
-
不总是有那么大的数据量
-
不总是适合部署大数据平台
-
大数据平台 不总是可以扩容硬件(内存)
大数据开发难度大
-
大数据平台对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