首页 > 技术文章 > 大数据的存储——HBase、HIVE、MYSQL数据库学习笔记

zichun-zeng 2018-05-11 21:03 原文

 HBase

1、hbase为查询而生,它通过组织机器的内存,提供一个超大的内存hash表,它需要组织自己的数据结构,表在hbase中是物理表,而不是逻辑表,搜索引擎用它来存储索引,以满足实时查询的需求;

2、hbase 是一个基于列存储的非关系型数据库,查询效率高,主要用于查询和展示结果;
 
3、hbase可以认为是hdfs的一个包装。它的本质是数据存储,是个nosql数据库;hbase部署于hdfs之上,并且克服了hdfs在随机读写方面的缺点。
 

Hive/数据库

1、hive提供了一套查询hadoop海量数据的接口,以sql为基础;

2、hive是分布式的关系型数据库查询接口,它不是一个数据库;用于并行分布式处理大量数据。
 
3、它建立在hadoop之上,所有hive的数据都是存储在hdfs中的。而数据库则可以将数据保存在块设备或者本地文件系统中。
 
4、hive中所有查询除了“select * from table”之外,所有的查询都是需要通过map-reduce实现的,在处理大量数据的时候,hive的优势就能体现出来。
 
5、它可以认为是map-reduce的一个包装,将写好的sql转化为复杂难写的map-reduce程序;
 
6、hive中不支持对数据的改写和添加,只能通过覆盖来实现数据修改;
 
7、hive中没有key的概念,不会建立数据索引,这和mysql不一样;需要访问某些满足条件的特定结果时,都需要暴力扫描整个数据,因此访问延迟高。
 
8、hive 建立在集群上可以利用map-reduce并行计算,因此可以支持很大规模的数据;对应的,数据库可以支持的数据规模较小。
 
 

推荐阅读