Hive
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。
hive的特点:
(1) 数据仓库
Hive 的本质其实就相当于将 HDFS 中已经存储的文件在 Mysql 中做了一个双射关系,以方便使用 HQL 去管理查询。
(2) 用于数据分析、清洗
Hive 适用于离线的数据分析和清洗,延迟较高。
(3) 基于 HDFS、MapReduce
Hive 存储的数据依旧在 DataN ode 上,编写的 HQL 语句终将是转换为 MapReduce 代码执行。
MySQL
MySQL 是一个关系型数据库管理系统,其性能高、成本低、可靠性好,加之web应用的兴起,现今已成为最流行的开源数据库之一。
MySQL的特点
- 运行速度快:MySQL 体积小,命令执行的速度快;
- 使用成本低:MySQL 是开源的,且提供免费版本,对大多数用户来说大大降低了使用成本;
- 使用容易:与其他大型数据库的设置和管理相比,其复杂程度较低,易于使用;
- 可移植性强:MySQL 能够运行与多种系统平台上,如 Windouws,Linux,Unix 等;
- 适用更多用户:MySQL 支持最常用的数据管理功能,适用于中小型企业甚至大型网站应用。
MySQL架构图
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面试题总结》,后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》