大数据领域,实时分析系统(在线查询)是最常见的一种场景,前面写了一个《实时分析系统(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来应对大数据的实时分析系统是非常吃力的。
相关推荐
GBase 8a MPP企业级大数据平台-性能测试报告.pdf
GBase 8a MPP企业级大数据平台-性能测试报告.docx
大数据平台MPP与Hadoop架构分析.docx
一个查询系统,设计出来就是提供人用的,所以能支持的同时并发越高越...MPP DB 核心原理是一 个大的查询通过分析为一一个子查询,分布到底层的执行,最后再合并结果,说白了就是通过多线程并发来暴力 SCAN 来实现高速。
大数据时代,要了解大数据数据分析师CPDA全文共12页,当前为第1页。大数据时代,要了解大数据数据分析师CPDA全文共12页,当前为第1页。大数据时代,要了解大数据数据分析师CPDA 大数据时代,要了解大数据数据分析师...
大数据平台MPP与Hadoop架构分析.pdf大数据平台MPP与Hadoop架构分析.pdf
XX MPP数据库技术方案建议书模板(大数据).docxXX MPP数据库技术方案建议书模板(大数据).docxXX MPP数据库技术方案建议书模板(大数据).docxXX MPP数据库技术方案建议书模板(大数据).docxXX MPP数据库技术方案建议书...
大数据中MPP及内存数据库技术及产品案例
Apache Doris (incubating)(原Palo)是一款百度大数据团队自主研发的MPP数据库。Apache Doris是一个基于MPP架构的易于使用,高性能和实时的分析数据库,以其极高的速度和易用性而闻名。海量数据下返回查询结果仅需...
mppdb-gsjdbc4-V100R002C70SPC200.jar
适用于大数据的技术,包括大规模并行处理(MPP)数据库、数据挖掘、分布式文件系统、分布式数据库、云计算平台、互联网和可扩展的存储系统。大数据包括结构化、半结构化和非结构化数据,非结构化数据越来越成为数据...
大数据技术分享 MPP数据库技术,支撑行业大数据应用 共33页.pptx
MPP数据库将支撑起大数据时代[归纳].pdf
医疗数据分析-医疗BI-大数据解决方案-信息化系统建设方案 图形可视化:默认集成 Echarts4.8,支持Excel作图,动静结合,Excel图形模板可直接复用。地图可视化:支持迁徙、航线、热力、散点、染色、3D等多种地图,...
MPP数据库技术作为未来主流的数据库技术,通过分布式并行计算、动态扩展等技术,能够在大规模事务处理和大数据分析等多种场景,满足电信业务需求,提升电信行业的服务支撑能力,真正实现低成本、大容量、高性能和高...
大数据标准化工作组织:ISO/IEC ITU NIST TPC SPEC TPC和SPEC两个组织关注大数据技术平台的基准测试: 测试标准: TPCx-HS、TPCx-BB 工具:TeraSort 大数据测试第一阶段 大数据平台(Hadoop平台)基准测试的方法论和...
录: 03-H3C DataEngine MPP 产品介绍 05基础服务部网络大V- MapReduce技术简介 ...IT大数据系统使用介绍_培训 Logstash分析 MPP Dispserver SQL介绍 大数据基础培训-PPT 数据ETL介绍 数据库产品 数据库基础
这里列举其中几个:Netflix 为您的下一次影碟租赁提供建议,通过动态监视桥体内嵌的传感器来检测实时应力和长 期腐蚀,零售商通过分析数字视频流来优化产品布局和显示布局及各个商店的促销空间 ,以上是大数据如何...