HBase
发布人:张子卓  发布时间:2019-12-12   浏览次数:600

官方网站链接:https://hbase.apache.org/

简介

HBase是一个高可靠性、高性能、面向列、可伸缩的分布式数据库。HBaseHadoop之上提供了存储大表数据的能力,并且对大表数据的读、写访问可以达到实时级别。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。

HBase表特点:

大:一个表可以有上亿行,上百万列。

面向列:面向列表(簇)的存储和权限控制,列(簇)独立检索。

稀疏:对于为空(NULL)的列,并不占用存储空间,因此,表可以设计的非常稀疏。

无模式:每一行都有一个可以排序的主键和任意多的列,列可以根据需要动态增加,同一张表中不同的行可以有截然不同的列。

数据多版本:每个单元中的数据可以有多个版本,默认情况下,版本号自动分配,版本号就是单元格插入时的时间戳。

数据类型单一:HBase中的数据都是字符串,没有类型。

应用场景

可以支撑PB级别海量数据的高效随机读取,具有高吞吐量,具有很好的伸缩能力;能够同时处理结构化和非结构化的数据;不需要完全拥有传统关系型数据库所具备的ACID特性。

功能特性

1.        支持半结构化或非结构化数据

对于数据结构不确定或杂乱无章很难按一个概念去进行抽取的数据适合用HBaseHBase支持动态增加数据结构。

2.        低延时、高并发、高吞吐

3.        支持行级事务

HBase的事务支持行级事务,可以保证行级数据的原子性、一致性、隔离性以及持久性。

4.        支持多版本数据

根据Row keyColumn key定位到的Value可以有任意数量的版本值,对于需要存储变动历史记录的数据适合用HBase

5.        自动分区

HBase中扩展和负载均衡的基本单元称作RegionRegion本质上是以行键排序的连续存储空间。如果Region过大,系统就会把它们动态拆分,相反的,就把多个Region合并,以减少存储文件数量。

6.        线性扩展

增加一个节点,把它指向现有的集群并允许Region ServerRegion会自动重新进行平衡,负载均匀分布。

7.        增强的HBase导入

增强HBase导入功能,支持RowKey的自由组合设计。用户可以同时指定多个字段组合为主键,同时可以使用多种分隔符,如:“_”、“@”、“#”、“$”、“*”等。

支持剔除TSV文件中不需要的列数据,增强数据导入时的灵活性和可操作性。


 
copyright@2022长安大学 | 高性能计算平台