您好,欢迎来电子发烧友网! ,新用户?[免费注册]

您的位置:电子发烧友网>源码下载>数值算法/人工智能>

ColumnStore应用实践分析

大小:0.3 MB 人气: 2017-09-28 需要积分:1

  整体架构分为计算层和存储层,都是可扩展的,计算层需由以下几项主要进程构成:

  MariaDB(mysqld):收集用户请求的一个SQL入口,存储元数据信息

  Execution Manager:解析语法树,转化成任务列表(JOB LIST),包括优化、取数据、(HASH)JOIN、汇总、分组;

  DMLProc/DDLProc:将DML/DDL语句发送到指定的PM执行;

  Performance Module:接受Execution Manager发送过来的任务调度,分布式扫描,(HASH)JOIN与汇总。

  由此,我们能清晰地理解整个处理流程:MariaDB收到用户的SQL请求后,通过执行管理器将SQL转化为任务列表,再由DMLProc/DDLProc发送任务给PM,最后PM将结果返回给UM进行汇总,返回结果给客户端。

  优势

  存储、性能、兼容、扩展

  为了解决在大数据统计性能上的问题,对比了Infobright和ColumnStore两种解决方案,最终选取了ColumnStore,对比如下:

  表1 数仓方案对比表

  ColumnStore应用实践分析

  1. 对于存储而言,InnoDB本身的压缩率并不高,有1倍左右。相比之下,Infobright的压缩率相对最高,有20倍之多;而ColumnStore则比较适中,为5倍左右。如果为了追求高压缩比的历史数据存档,很明显使用Infobright社区版是很好的方案。

  2. InnoDB自身的扩展性并不高,需要外部中间件来实现分库分表,因此给予扩展性低的评价;Infobright也可以部署集群,因此扩展性给予高评分;同样ColumnStore也是易于扩展的分布式方案。

  3. 在性能方面,InnoDB的OLTP性能远高于后两者,在数据仓库中提供在线服务,可以考虑用InnoDB来存储,但统计性能则相差甚远;由于Infobright中存在Knowledge Grid(知识网格),又使用了列式存储来压缩数据,在数据量超过内存容量的情况下,对单列的统计表现卓越,100倍性能提升就成了极轻松的事,但如果统计字段增加或多表查询,性能也就极速下降;ColumnStore不仅拥有单列高速统计的优势,而且在多表连接的场景下也表现不俗,当然字段越多性能同样会下降,但下降后的速度仍可以接受。

  4. Infobright的社区版不支持DML,因此语法兼容性存在很大问题,对查询的支持尚佳;ColumnStore本身开源,但语法也略有不同,例如多表连接时,不能对同一个表进行多次连接,分组查询字段(SELECT COLUMN LIST)必须要在分组列表(GROUP BY LIST)中。

非常好我支持^.^

(0) 0%

不好我反对

(0) 0%

ColumnStore应用实践分析下载

相关电子资料下载

      发表评论

      用户评论
      评价:好评中评差评

      发表评论,获取积分! 请遵守相关规定!