大数据领域,实时分析系统(在线查询)是最常见的一种场景,前面写了一个《实时分析系统(HIVE/HBASE/IMPALA)浅析》讨论业界当前常见的方案。互联网公司用得比较多是HIVE/HBASE,如腾讯基于HIVE深度定制改造,改名为TDW,小米等公司选用HBASE等。关于HIVE/HBASE/IMPALA介绍等可以看我前面的文章。

当前在实时分析系统中,最难的是多维度复杂查询,目前没有一个很好的解决方案,这两天和人讨论到MPP DB(分布式数据库,以Greenplum为最典型代表)。如果从性能来讲,MPP DB在多维复杂查询性能确实要好于HIVE/HBASE/IMPALA等,因此有不少声音认为,MPP DB是适合这种场景的未来的解决方案。MPP DB看似对多维度复杂查询性能较好,但是同时有两个致命的缺点,大家选型的时候不得不考虑:

1、扩展性:

MPP DB都号称都能扩展到1000个节点以上,实际在应用过程中,就我目前从公开资料看到的不超过100个节点,如支付宝中用Greenplum来做财务数据分析的最大一个集群60多台机器。另外和Greenplum公司交流,在广东移动最大的用来做数据存储的,也就100台以内。这和hadoop动不动4,5千个节点一个节点集群简直不在一个数量级上。

为什么MPP DB扩展性不好?

有很多原因,有产品成熟度,也有应用广度的问题,但是最根本的还是架构本身的问题。讲到架构这里就要先讲下CAP原则:

Consistency(一致性), 数据一致更新,所有数据变动都是同步的
Availability(可用性), 好的响应性能
Partition tolerance(分区容错性) 可靠性

定理:任何分布式系统只可同时满足二点,没法三者兼顾。
忠告:架构师不要将精力浪费在如何设计能满足三者的完美分布式系统,而是应该进行取舍。

MPP DB还是基于原DB扩展而来,DB里面天然追求一致性(Consistency),必然带来分区容错性较差。集群规模变得太大,业务数据太多时,MPP DB的元数据管理就完全是一个灾难。元数据巨大无比,一旦出错很难恢复,动不动导致毁库。

所以MPP DB要在扩展性上有质的提示,要对元数据,以及数据存储有架构上的突破,降低对一致性的要求,这样扩展性才能提升,否则的话很难相信一个MPP DB数据库是可以容易扩展的。

2、并发的支持:

一个查询系统,设计出来就是提供人用的,所以能支持的同时并发越高越好。MPP DB核心原理是一个大的查询通过分析为一一个子查询,分布到底层的执行,最后再合并结果,说白了就是通过多线程并发来暴力SCAN来实现高速。这种暴力SCAN的方法,对单个查询来说,动用了整个系统的能力,单个查询比较快,但同时带来用力过猛的问题,整个系统能支持的并发必然不高,从目前实际使用的经验来说,也就支持50~100的并发能力。

当前HBASE/IMPALA应对复杂查询时,也是通过全盘SCAN的方法来实现的,这种场景下,硬盘数量越多越好,转速越快越好。HBASE为什么号称支持上千并发,这也是在特定的场景下(查询时带用户标示,即带row key)才能实现的,复杂查询场景下,什么系统都歇菜。

所以MPP DB应用场景已经非常明显了,适合小集群(100以内),低并发的(50左右)的场景。MPP DB未来是不是趋势,我不知道,但是至少目前来看,用MPP DB来应对大数据的实时分析系统是非常吃力的。

MPP DB 是 大数据实时分析系统 未来的选择吗?相关推荐

  1. MPP DB 是 大数据实时分析系统

    大数据领域,实时分析系统(在线查询)是最常见的一种场景,前面写了一个< 实时分析系统 (HIVE/HBASE/IMPALA) 浅析 >讨论业界当前常见的方案.互联网公司用得比较多是 HIV ...

  2. clickhouse大数据分析技术与实战_比Hive快500倍!大数据实时分析领域的黑马

    戳蓝字"小强的进阶之路"关注我们哦! 大数据实时分析领域的黑马是ClickHouse一个用于联机分析(OLAP)的列式数据库管理系统(DBMS). clickhouse背景 俄罗斯 ...

  3. 拥有一亿会员的爱奇艺如何搭建大数据实时分析平台

    生活在信息爆炸时代的我们越来越清晰的认识到海量信息与数据分析的重要性,如提高数据挖掘能力.为运营决策提供关键数据.通过数据分析助力业务创新.在商业决策中的提供较有价值的信息等成为关键,于是大数据分析平 ...

  4. 爱奇艺大数据实时分析平台的建设与实践

    0 导语 生活在信息爆炸时代的我们越来越清晰的认识到海量信息与数据分析的重要性,如提高数据挖掘能力.为运营决策提供关键数据.通过数据分析助力业务创新.在商业决策中的提供较有价值的信息等成为关键,于是大 ...

  5. Flume+Kafka+Storm+Redis构建大数据实时处理系统:实时统计网站PV、UV+展示

    http://blog.51cto.com/xpleaf/2104160?cid=704690 1 大数据处理的常用方法 前面在我的另一篇文章中<大数据采集.清洗.处理:使用MapReduce进 ...

  6. 联储证券携手神策数据启动大数据应用系统建设项目

    2 月 5 日,联储证券网络金融事业部(以下简称"联储证券")& 神策数据大数据应用系统建设项目启动会在中建财富国际中心举行. 联储证券总裁助理兼网络金融事业部总经理黄映建 ...

  7. 给Clouderamanager集群里安装基于Hive的大数据实时分析查询引擎工具Impala步骤(图文详解)...

    不多说,直接上干货! 这个很简单,在集群机器里,选择就是了,本来自带就有Impala的. 扩展博客 给Ambari集群里安装基于Hive的大数据实时分析查询引擎工具Impala步骤(图文详解) 欢迎大 ...

  8. 【2016年第4期】大数据应用系统的消息驱动架构

    贵芳1,李廉1,杨静1,武永卫2 1.合肥工业大学计算机与信息学院,安徽 合肥 230009: 2.清华大学计算机科学与技术系,北京 100084 摘要:基于消息驱动框架的软件开发成为大数据应用系统的 ...

  9. PiFlow大数据流水线系统v0.9源码

    介绍: PiFlow是一个简单易用,功能强大的大数据流水线系统.包含丰富的处理器组件,提供Shell.DSL.Web配置界面.任务调度.任务监控等功能. 特性: 1.简单易用 可视化配置流水线. 监控 ...

最新文章

  1. tableau可视化函数使用案例(六十七)-Tableau饼图及其变种(环形图、南丁格尔玫瑰图、旭日图)
  2. 好玩的脚本代码大全_Github | 推荐一个Python脚本集合项目
  3. java spark wordcount_提交任务到spark(以wordcount为例)
  4. 如何利用计算机英文缩写,【英文缩写】有关计算机的英文都在这儿
  5. 数据分析常用的7大思维方法详解
  6. spring + ehcache 配置
  7. python bytes转int_Python学习进阶教程(11)—数值类型
  8. 从web页面请求的历程出发了解计算机网络的基础知识
  9. ccflow 驰骋工作流引擎的共享任务,应用背景,设置,设计,sdk接口
  10. PQ分区工具超详细图文教程
  11. Filezilla client站点出现中文乱码的解决办法
  12. No Silver Bullet: Essence and Accidents of Software | 没有银弹:软件开发中的主要问题和次要问题
  13. 如何旋转PDF的页面方向?教你2种方法
  14. 2020Android不死我不倒,作为一个程序员,你觉得最大的悲哀是什么?
  15. 利用DICOM文件实现2D与3D体素坐标之间的转换
  16. 微软官方建议的28条代码优化方案
  17. php 数字转大写人民币
  18. 手游摇杆(二)八方向摇杆和移动范围限制
  19. 有特别有创意的网站设计案例
  20. stack overflow常见解决方法

热门文章

  1. html 加载转圈功能
  2. Apriori关联度分析
  3. 成功案例!迅速点燃消费欲望的产品描述
  4. 靶机渗透测试(Tre: 1)
  5. R语言按日期分组求皮尔森相关系数矩阵
  6. walking机器人仿真教程-应用-自动查找ArUco Marker位置进行自主对接
  7. 17周项目五(3色球问题)
  8. xlwings 与 pandas的互动
  9. CTA-敏感行为-发送短信
  10. 各国卫星导航系统比较(北斗、伽利略、GLONASS、GPS)(转)