`
m635674608
  • 浏览: 4936583 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

大数据OLAP与OLTP分析

    博客分类:
  • java
 
阅读更多

1. 首先,咱们先不拿大数据说事,先分析一下OLAP及OLTP。

    OLAP: 联机分析处理(OLAP)系统是数据仓库系统最主要的应用,专门设计用于支持复杂的分析操作,侧重对决策人员和高层管理人员的决策支持。

    OLTP: 联机事务处理(OLTP,On-line Transaction Processing)应用,它所存储的数据被称为操作数据或者业务数据。

    所以从定位上来讲,OLAP的定位是用来做数据分析(类BI),OLTP适合做一些事务的类的数据管理如查询如订单数据的产生。

 

    举个通俗的例子,一个小规模的电商网站,会有下单的流程,那么这个下单流程产生的订单会是在OLTP数据库中,而如果电商的CEO想看本个月的运营情况,如果订单统计,理论上是应该在OLAP数据库(或者仓库)。

   所以从本质上来讲,OLAP是读为主而OLTP以写为主。

    

   然后,我们在来做一个基本的分析,就是常见的分析方式:

  1. Ad-hoc query:即席查询(Ad Hoc)是用户根据自己的需求,灵活的选择查询条件,系统能够根据用户的选择生成相应的统计报表。
  2. 固定字段分析:即用户的查询条件是固定的,我们可以按照定义好的字段进行报表提供,如周报、月报
  3. 关键字查询:如,用户的地址为 北京市朝阳区XXXXX,那么提供按照北京市XXX为关键字的检索查询
  4. 统计类查询:如生成一些箱图,热力图等

   可以简单分析一下就是,在OLTP中,合理设计的情况下会存在1,3类查询,而在OLAP中会在1,2,3,4类查询。

   

2. 接下来,我们分析一下传统技术的问题:

      大家知道,不管在牛逼的系统,都逃不开硬件的限制,如磁盘IO、内存、CPU(往往也是大家忽略的)、网络IO。一般SATA硬盘的读写速度是在50~75M之间,普通网络均为千兆交换机,即100M传输速度。

     

      那我们在来分析一下,数据库的特性:(本文章不讨论数据库的具体实现)

 

  1. 数据库能进行较快查询的原因是因为索引(及缓存)的存在,不同数据库的索引实现结构会稍微不太一样。索引也需要维护。          

   再结合我们之前讲到的分析,大家可以认为数据库在查询上的性能其实还是比较容易实现优化(结合数据库缓存),但是大家需要注意的是,如果查询的时候同时存在聚合(group by,sum,count),那么压力就会落在IO上,比如排序(因为单机内存有限,必须通过硬盘来实现排序)  这个时候压力就会落到IO上(请回顾上文提到的性能),所以当我们需要返回的数据条数越大(尤其分页),那么数据库就会变的非常非常的慢。

   

  • 很多人会用数据库来进行数据清洗,也是因为IO的问题,导致变慢
  • 大家不能忽略:当数据不大时,也会出现分析很慢的问题,是因为CPU计算能力有限的问题。   

     所以综合我的分析,大家可以得出几个结论:

 

  • 数据库的问题在计算资源的有限
  • 本身也没有支持关键字查询的方式(搜索引擎)。
  • 主要是在查询+统计的场景下,数据库会有问题,其实本质来讲Ad-hoc query 如果没有统计的话,咱们通过分库+hash的方式是可以做到非常快的。

     

3.目前开源大数据方案,是否Ready?

   接下来,我通过工作中使用的一些技术给大家做一些分析,希望大家能对这个东西的解决方案有一些了解

   我们在几个方面做比较,架构、效率、成熟度、学习难度等。

 

Hadoop+Hive+Tez:

 

  • 架构 : Hive 目前是Hadoop上的数据仓库,底层的技术为Tez(DAG MapReduce),采用Yarn 作为资源管理平台,提供类SQL 接口,HQL,采用数据库作为元数据管理工具。
  • 成熟度:Hive目前已经被非常多的人来使用,所以整体比较成熟。
  • 效率:Hive目前结合Orcfile+压缩整体还是比较快的,但是也没有达到一些ad-hoc query要求的3秒内返回
  • 学习难度 :HQL,Hadoop 入门的难度都不高,所以学习曲线比较简单。

   总结如下:

 

  1. Hive 目前这个软件适合做OLAP数据仓库类分析、数据清洗等对实时性要求不高的场景
  2. Hive 不支持按照关键词查询,所以不能做搜索
  3. Hive 索引比较弱,达不到数据库的性能。
  4. Hive 不能满足3秒,5秒类似的快速返回的Ad-hoc query(即便将HDFS数据加入内存)
  5. 有Insert,update 等初级事务操作,所以可以认为未来可能可以做oltp。

 Spark+Hadoop:

  • 架构:Spark 技术中有一个比较好的技术就是-Spark SQL,这个技术可以实现使用SQL来操作Spark的RDD,当然Spark SQL最终也是要通过Spark的引擎,来使用所以最终会转换成Spark的MapReduce。
  • 成熟度 :目前仍是告诉发展。
  • 效率: 整体比Hive率高,但是如果数据量非常大,没有特别好的效果。数据加入内存后查询(无统计)非常快。
  • 学习曲线:需要学习Hadoop,Spark等,比较陡峭。

    总结如下:

 

  1. 数据量不是特别大,完全装入内存,可以提供秒内的非统计类查询。  
  2. 不能完全装入内存的统计分析,结果与hive+tez的组合不会差太多,也不会领先特别多。
  3. 适合一定的Ad-hoc query场景与Olap 场景,不能做oltp
  4. 没有索引,无法做精确的查找,都是暴利扫描。

 Impala+Hadoop:

  • 架构:Impala技术目前性能不错,抛弃了MapReduce设计,结合HDFS缓存可以做更好的性能提高
  • 成熟度:比较成熟
  • 效率:配合Parquet ,性能与Hive+Tez接近,因为不需要启动在一定程度分析比Hive快
  • 学习曲线:学习SQL与Impala 本身,所以难度一般。

   总结:

 

  • Impala性能不错,但是在大数据排序上,需要限制返回的行数,大表间Join也是个问题。
  • 适合一定的Ad-hoc query场景与Olap 场景,不能做oltp
  • 没有索引,无法做精确的查找,都是暴利扫描。

     所以综合看,目前开源的大数据SQL方案,没有一个是完美的,都是或多或少的缺陷,我们需要由搜索引擎+nosql+redis等方案配合,来完成很多的场景。

 

     我们需要对性能有一个结论:要求5秒内的,基本不适合用这种大数据SQL方案手段来做。需要借助更昂贵的数据库,或者等待开源技术成熟。

 

http://tulingss.iteye.com/blog/2238396

分享到:
评论

相关推荐

    2013年中国数据库大会-17-DM7 MPP架构——同时满足OLAP与OLTP需求

    一年一度的中国数据库技术大会(DTCC)又将与大家见面了! 2013年4月18~4.20日,北京福朋喜来登酒店,第四届中国数据库技术大会将拉开序幕。 自2010年以来,国内领先的IT专业网站IT168联合旗下ITPUB、...

    前阿里-杨卓荦-大数据平台与数据中台构建实战.pdf

    大数据平台与数据中台构建实战 注意的延时均衡,不要存储延时大,计算延时小 • 需要考虑到容错和容灾,每一步都是不可靠的 • 需要考虑到运维的方便,可能快速重启 • 需要考虑到目的数据库是OLAP还是OLTP • 需要...

    大数据导论-4.1.2大数据方法的驱动力——大数据行动.pptx

    《大数据导论》 大数据行动 大数据导论-4全文共16页,当前为第1页。 大数据行动——谷歌 大数据导论-4全文共16页,当前为第2页。... 4.1.1 大数据的跨界年度 4.2.1 信息与通信技术 4.3.1 OLTP与OLAP

    前阿里-杨卓荦-大数据平台与数据中台构建实战资料,很好地参考学习资料,超详细

    大数据平台与数据中台构建实战 注意的延时均衡,不要存储延时大,计算延时小 • 需要考虑到容错和容灾,每一步都是不可靠的 • 需要考虑到运维的方便,可能快速重启 • 需要考虑到目的数据库是OLAP还是OLTP

    聚美优品大数据技术栈的选择-王刚.pdf

    有关聚美优品在大数据领域的,数据库相关技术选型,方案。以及在选择的过程中的技术栈构建和思考路径。尤其是在大数据领域,需要兼顾数据的OLAP、OLTP的场景化考量。

    高频大数据解决方案.pptx

    MySQL, Oracle) Netezza Vertica VoltDB 建立了一个基于事务的,可持久化的导出框架 在VoltDB完成高质量、实时分析、实时响应,并把结果数据通过VoltDB Export导出到OLAP 高频大数据解决方案全文共28页,当前为第11...

    基于 Kudu 的分布式数据库部署和优化.pdf

    在大数据领域有一个绕不开的话题,那就是数据库的选择。估计分布式已经是大数据的标配,除了这个数据量级的问题外,还有就是数据使用场景的问题。Kudu就是在大数据的基础上,追求OLAP、OLTP双场景的最优性能。

    2013年中国数据库大会PPT第一部分

    17.DM7 MPP架构——同时满足OLAP与OLTP需求.pdf 18.SAP 让大数据飞翔.pdf 19.阿里数据库关键技术.pdf 20.基于Oracle的SQL优化典型案例分.pdf 21.赢在起点–谈数据库设计规范.pdf 22.大型业务系统Oracle数据库 10G...

    阿里巴巴大数据之路-大数据领域建模综述.pdf

    OLTP 和 OLAP 建模区别 OLTP 主要数据操作是随机读写 主要采⽤满⾜ 3NF 的实体关系模型存储数据 在事务处理中解决数据的冗余和⼀ 致性问题 OLAP 主要数据操作是批量读写 事务处理中 的⼀致性不是 OLAP 所关注的 ...

    大数据实践之数据建模.pdf

    数据仓库中的3NF与OLTP系统中的3NF的区别在于,它是站在企业⾓度⾯向主题的抽象,⽽不是针对某个具体业务流程的实体对象关系的抽象。其具 有以下⼏个特点: 需要全⾯了解企业业务和数据。 实施周期⾮常长。 对建模⼈...

    2013中国数据库大会ppt(1)

    DM7 MPP架构——同时满足OLAP与OLTP需求.pdf SAP 让大数据飞翔.pdf 阿里数据库关键技术.pdf 基于Oracle的SQL优化典型案例分.pdf 赢在起点–谈数据库设计规范.pdf 大型业务系统Oracle数据库 10G升级11G实践.pdf 基于...

    2013中国数据大会ppt(2)

    DM7 MPP架构——同时满足OLAP与OLTP需求.pdf SAP 让大数据飞翔.pdf 阿里数据库关键技术.pdf 基于Oracle的SQL优化典型案例分.pdf 赢在起点–谈数据库设计规范.pdf 大型业务系统Oracle数据库 10G升级11G实践.pdf 基于...

    2013中国数据库大会ppt(3)

    DM7 MPP架构——同时满足OLAP与OLTP需求.pdf SAP 让大数据飞翔.pdf 阿里数据库关键技术.pdf 基于Oracle的SQL优化典型案例分.pdf 赢在起点–谈数据库设计规范.pdf 大型业务系统Oracle数据库 10G升级11G实践.pdf 基于...

    国产数据库Win(达梦V8)

    DM基于成熟的关系数据模型和标准的接口,是一个跨越多种软硬件平台、具有大数据管理与分析能力、高效稳定的数据库管理系统。DM采用全新的体系架构,在保证大型通用的基础上,针对高可用性、高性能、高安全性、易用性...

    国产数据库Linux(达梦V8)

    DM基于成熟的关系数据模型和标准的接口,是一个跨越多种软硬件平台、具有大数据管理与分析能力、高效稳定的数据库管理系统。DM采用全新的体系架构,在保证大型通用的基础上,针对高可用性、高性能、高安全性、易用性...

    大数据Hive数仓开发精讲到企业级实战应用

    │ │ 04--数据仓库基础理论--OLTP、OLAP系统.avi │ │ 05--数据仓库基础理论--数据仓库、数据库区别.avi │ │ 06--数据仓库基础理论--数据仓库、数据集市区别.avi │ │ 07--数据仓库基础理论--数仓分层...

    大数据时代下的数据挖掘试题及答案.doc

    《海量数据挖掘技术及工程实践》题目 一、单选题(共80题) 1) ( D )的目的缩小数据的取值范围,使其更适合于...(1) (2) (3) (4) (5) 22) 关于OLAP和OLTP的区别描述,不正确的是: (C) A。OLAP主要是关于如何理

    《大数据时代下的数据挖掘》试题及答案.doc

    《海量数据挖掘技术及工程实践》题目 一、单选题(共80题) 1) ( D )的目的缩小数据的取值范围,使其更适合于数据...(1) (2) (3) (4) (5) 22) 关于OLAP和OLTP的区别描述,不正确的是: (C) A.OLAP主要是关于如何理

    大数据学习计划.pdf

    4 在上个模块中,OLAP 类型的需求得到了很好的解决⽅案,即针对数据查询分析的应⽤。但是这些组件对于数据的随机删改并不擅长。针对 此种 OLTP 类型应⽤,⼤数据⽣态系统中有另外⼀类 组件处理这样的问题,那就是 ...

Global site tag (gtag.js) - Google Analytics