- 在数据库不断发展的今天,尤其是大数据技术的发展,不断的涌现出各种海量数据存储及分析的数据库及相关工具令人演化缭乱,有的基于Hadoop构建,有的基于分布式理论自行构建,但是这些工具和数据库之间究竟有什么区别,都使用于什么场景,在查询了相关材料之后我进行了一个简单的总结,以备后用。仅供参考。
- 1、Hive(基于Hadoop数据仓库工具)
- Hive是一种类Sql的引擎,并且运行MapReduce的任务。是将类似SQL的语句转换成MapReduce的任务进行执行;
- Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张表,并提供类似SQL查询的功能;
- Hive是一个基于hadoop的数据分析工具,证明Hive没有数据存储的能力,只有使用数据的能力;将结构化的数据文件映射为一张数据库表,结构化是Hive对存储在HDFS上的的数据的一个要求,其他文件是不能映射为Hive表的,而它提供的是类SQL的查询功能,不提供增删改的功能;所以HQL及Hive Query Language;Hive是现有数据,再定义表结构,将表结构同结构化数据文件进行映射;
- Hive基于MapReduce计算模型,数据计算效率低,不适合在线的实时性要求较高的应用,适合非实时的离线计算;Hive默认是基于MapReduce计算模型,也可以切换为Spark计算效率较高的计算模型;
- Hive的出现本身是为了简化MapReduce数据处理程序的开发,Hive提供类HQL(类SQL)语句,使得原来熟悉数据库SQL开发人员可以很容易上手使用HQL开发大规模数据量的处理程序。Hive引擎最终会将HQL转换为MapReduce的程序在Hadoop存储的数据上进行执行。
- 2、Hbase(NoSql数据库)
- Hbase是基于hadoop存储的KV型的列式数据库;
- Hbase不支持标准的SQL访问,只能通过API的方式,由应用程序集成API SDK进行访问,可以建表,针对表做数据的增、删、改、查;
- Hbase不支持数据
Hive、Hbase、TiDB、Gbase的区别
最新推荐文章于 2025-05-23 11:48:29 发布