更新时间:2024-08-05 GMT+08:00

HBase应用开发简介

HBase简介

HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统。HBase设计目标是解决关系型数据库在处理海量数据时的局限性。

HBase使用场景有如下几个特点:

  • 处理海量数据(TB或PB级别以上)。
  • 具有高吞吐量。
  • 在海量数据中实现高效的随机读取。
  • 具有很好的伸缩能力。
  • 能够同时处理结构化和非结构化的数据。
  • 不需要完全拥有传统关系型数据库所具备的ACID特性。ACID特性指原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation,又称独立性)、持久性(Durability)。
  • HBase中的表具有如下特点:
    • 大:一个表可以有上亿行,上百万列。
    • 面向列:面向列(族)的存储和权限控制,列(族)独立检索。
    • 稀疏:对于为空(null)的列,并不占用存储空间,因此,表可以设计的非常稀疏。

接口类型简介

由于HBase本身是由java语言开发出来的,且java语言具有简洁通用易懂的特性,推荐用户使用java语言进行HBase应用程序开发。

HBase采用的接口与Apache HBase保持一致。

HBase通过接口调用,可提供的功能如表1所示。

表1 HBase接口提供的功能

功能

说明

CRUD数据读写功能

增查改删

高级特性

过滤器、二级索引,协处理器

管理功能

表管理、集群管理