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负责组织文件。
原文链接:https://blog.csdn.net/qq_27182767/article/details/89007605