OLAP、OLTP

数据库系统通常分为两种类型:
一种是面向前台应用的,应用比较简单,可是重吞吐和高并发的OLTP类型
一种是重计算的,对大数据集进行统计分析的OLAP类型
传统数据库侧重交易处理,即OLTP,关注的是多用户的同时的双向操做,在保障即时性的要求下,系统经过内存来处理数据的分配、读写等操做,存在IO瓶颈。
OLTP(On-Line Transaction Processing,联机事务处理) 系统也称为生产系统,它是事件驱动的、面向应用的,好比电子商务网站的交易系统就是一个典型的OLTP系统。OLTP的基本特色是:
数据在系统中产生;
基于交易的处理系统(Transaction-Based);
每次交易牵涉的数据量很小;
对响应时间要求很是高;
用户数量很是庞大,主要是操做人员;
数据库的各类操做主要基于索引进行。
分析型数据库是以实时多维分析技术做为基础,即侧重OLAP,对数据进行多角度的模拟和概括,从而得出数据中所包含的信息和知识。
OLAP(On-Line Analytical Processing,联机分析处理) 是基于数据仓库的信息分析处理过程,是数据仓库的用户接口部分。OLAP系统是跨部门的、面向主ti的,其基本特色是:
自己不产生数据,其基础数据来源于生产系统中的操做数据(OperationalData);
基于查询的分析系统;
复杂查询常常使用多表联结、全表扫描等,牵涉的数据量每每十分庞大;
响应时间与具体查询有很大关系;

用户数量相对较小,其用户主要是业务人员与管理人员; mysql

百万级的数据,不管侧重OLTP仍是OLAP,固然就是MySql了。 sql

过亿级的数据,侧重OLTP能够继续Mysql,侧重OLAP,就要分场景考虑了。 数据库

对于hbase当前noSql数据库的一种,最多见的应用场景就是采集的网页数据的存储,因为是key-value型数据库,能够再扩展到各类key-value应用场景,如日志信息的存储,对于内容信息不须要彻底结构化出来的类CMS应用等。注意hbase针对的仍然是OLTP应用为主。

对于hive主要针对的是OLAP应用,注意其底层不是hbase,而是hdfs分布式文件系统,重点是基于一个统一的查询分析层,支撑OLAP应用中的各类关联,分组,聚合类SQL语句。hive通常只用于查询分析统计,而不能是常见的CUD操做,要知道HIVE是须要从已有的数据库或日志进行同步最终入到hdfs文件系统中,当前要作到增量实时同步都至关困难。
和mysql,oracle彻底不是相同的应用场景。这个是结构化数据库,针对的更多的是结构化,事务一致性要求高,业务规则逻辑复杂,数据模型复杂的企业信息化类应用等。包括互联网应用中的不少业务系统也须要经过结构化数据库来实现。因此和hbase,hive不是一个层面的东西,不比较。

简单的说,HBase是OLTP,Hive是OLAP比起单机的Oracle和MySQL,好处就是伸缩性好啊劣势就是分布式带来的可用性,一致性,分区容忍性~等question,以及分布式事务难以实现。
并发

实时compute场景:强调实时性,经常使用于实时性要求较高的地方,能够选择Storm;
批处理compute场景:强调批处理,经常使用于数据挖掘、分析,能够选择Hadoop;
实时查询场景:强调查询实时响应,经常使用于把DB里的数据转化索引文件,经过搜索引擎来查询,能够选择solr/elasticsearch;
企业级ODS/EDW/数据集市场景:强调基于关系性数据库的大数据实时分析,经常使用于业务数据集成,能够选择Greenplum; oracle

相关文章
相关标签/搜索