hive和mysql的区别详解(8大核心区别)

hive和mysql的区别详解(8大核心区别)-mikechen

Hive

Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。

hive的特点:

(1) 数据仓库

Hive 的本质其实就相当于将 HDFS 中已经存储的文件在 Mysql 中做了一个双射关系,以方便使用 HQL 去管理查询。

(2) 用于数据分析、清洗

Hive 适用于离线的数据分析和清洗,延迟较高。

(3) 基于 HDFS、MapReduce

Hive 存储的数据依旧在 DataN ode 上,编写的 HQL 语句终将是转换为 MapReduce 代码执行。

hive和mysql的区别详解(8大核心区别)-mikechen

 

MySQL

MySQL 是一个关系型数据库管理系统,其性能高、成本低、可靠性好,加之web应用的兴起,现今已成为最流行的开源数据库之一。

MySQL的特点

  1. 运行速度快:MySQL 体积小,命令执行的速度快;
  2. 使用成本低:MySQL 是开源的,且提供免费版本,对大多数用户来说大大降低了使用成本;
  3. 使用容易:与其他大型数据库的设置和管理相比,其复杂程度较低,易于使用;
  4. 可移植性强:MySQL 能够运行与多种系统平台上,如 Windouws,Linux,Unix 等;
  5. 适用更多用户:MySQL 支持最常用的数据管理功能,适用于中小型企业甚至大型网站应用。

MySQL架构图

hive和mysql的区别详解(8大核心区别)-mikechen

 

Hive和MySQL的区别

1.查询语言不同

hive是hql语言,mysql是sql语句。

2.数据存储位置不同

hive是把数据存储在hdfs上,而mysql数据是存储在自己的系统中。

3.数据格式不同

hive数据格式可以用户自定义,mysql有自己的系统定义格式。

4.数据更新不同

hive不支持数据更新,只可以读,不可以写,而sql支持数据更新。

5.索引不同

hive没有索引,也造成了hive查询数据速度很慢的原因,而mysql有索引。

6.延迟性不同

hive延迟性高,原因就是上边一点所说的,而mysql延迟性低。

7.数据规模不同

hive存储的数据量超级大,而mysql只是存储一些少量的业务数据;

8.底层执行原理不同

hive底层是用的mapreduce,而mysql是excutor执行器。

 

陈睿mikechen

10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。

关注「mikechen」公众号,获取更多技术干货!

后台回复面试即可获取《史上最全阿里Java面试题总结》,后台回复架构,即可获取《阿里架构师进阶专题全部合集

评论交流
    说说你的看法