mysql,hive,hbase的区别与比较

hive和mysql比较

1.查询语言不同:hive是hql语言,mysql是sql语言;

2.数据存储位置不同:hive把数据存储在hdfs上,mysql数据是存储在自己的系统中(raw device or Local FS)。

3.数据格式:hive数据格式可以用户自定义,mysql有自己的系统定义格式;

4.数据更新:hive不支持数据更新,只可以读,不可以写,sql支持数据更新;

5.索引:hive没有索引,查询的时候通过mapreduce将数据都查询一遍,造成hive查询数据速度很慢的原因,mysql有索引;

6延迟性:hive延迟性高,速度慢,mysql延迟性低。

7.数据规模:hive存储的数据量超级大,mysql存储少量数据;

8.底层执行原理:hive底层是用的MapReduce,mysql是Excutor执行器。

hive和hbase比较

共同点:1.都是架构在hadoop之上的,用hadoop作为底层存储

区别:2.hive是建立在Hadoop之上为了减少MapReduce jobs编写工作的批处理系统,hbase为了支持Hadoop对实时操作的缺陷。

3.全表扫描数据库用hive+hadoop,索引访问,用hbase+hadoop。

4.hive query速度较慢,hbase是非常高效的,比hive高效的多。

5.hive本身不存储和计算数据,完全依赖于hdfs和MapReduce,hive的表纯逻辑。

6.hive借用hadoop的MapReduce来完成一些hive中的命令执行,用MapReduce计算框架。

7.hbase是物理表,不是逻辑表,提供一个超大内存hash表,搜索引擎通过它来存储索引,方便查询操作,是列存储的。

8.hive用hdfs存储文件,hdfs是底层存储,是存放文件的系统,hbase负责组织文件。

发布了36 篇原创文章 · 获赞 19 · 访问量 3万+

猜你喜欢

转载自blog.csdn.net/qq_27182767/article/details/89007605