- 在数据库不断发展的今天,尤其是大数据技术的发展,不断的涌现出各种海量数据存储及分析的数据库及相关工具令人演化缭乱,有的基于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不支持数据表之间的外键约束及连接查询,如需要多表连接关联查询,Hbase可以搭建好之后,定义宽表,将OLTP应用中的数据记录进行拼接整合在一起,然后对前提供快速的查询、聚合分析服务。
- Hbase可以存储百亿行的数据,适合高并发的大流量的数据写入,由于是列式存储,对于OLAP通过某一些列的统计计算支持有很好的支持,支持实时的数据统计分析场景。
- 3、TiDB(NewSql数据库 HTAP数据库、关系型数据库)
- TiDB是一个NewSql分布式,也就是同时支持OLTP和OLAP混合型数据库;
- TiDB采用了计算、存储分离的分布式架构,计算和存储可以按需独立横向扩展;
- 数据存储方面,TiDB采用了多副本的数据存储架构,保证了数据的高可用性,即一部分数据节点副本出现问题,也不会影响整体数据库集群对外提供服务;
- TiDB提供了TiKV 行存储引擎和TiFlash 列存储引擎,两个存储引擎; TiFlash使用 Muti-Raft Learner协议实时从TiKV复制数据,确保两个引擎之间的数据一致性;TiKV和TiFlash可以按需部署在不同的机器,解决HTAP资源隔离的问题;
- TiDB兼容MySQL 5.7协议及Mysql生态,可以使用JDBC的方式直接访问,但是暂不支持触发器、存储过程、自定义函数等功能;
- TiDB核心应用场景:对数据一致性、高可靠、高可用、可扩展、容灾要求较高的金融行业属性场景(具体上生产使用还需要进行严厉性能的POC测试);对存储容量、并发性、可扩展性要求较高的海量数据及高并发的OLTP应用;Real-Time的HTAP场景,Tidb在4.0版本引入了TiFlash列存储引擎结合TiKV行存储引擎构件真正的HTAP混合场景数据库,在增加少量存储成本的情况下,可以在同一个系统中做联机交易处理、实时数据分析;还有就是适合做数据汇聚、二次加工的场景;
- 4、Gbase8a(关系型数据库、MPP数据库)
- MPP Massively Parallel Processing 大规模并行处理,是一种计算处理模型,是从系统架构角度服务器分类的方法,是将任务并行的分散到多个服务器节点上,在每个节点上计算完成后,将各自部分的结果汇总到一起得到最终的结果。跟Hadoop计算模型类似)
- 专门支持海量数据的存储、关联查询、即席分析等能力,主要支持结构化的数据SQL查询;
- 适用场景主要是报表统计分析,运维数据统计,快速生成报表统计等场景;不需要频繁更新数据,不需要频繁重复离线计算,不需要并发大;
文章来源地址https://www.toymoban.com/news/detail-472059.html
文章来源:https://www.toymoban.com/news/detail-472059.html
到了这里,关于Hive、Hbase、TiDB、Gbase的区别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!