更新时间:2024-08-03 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所示。
常用概念
- 过滤器
    
过滤器提供了非常强大的特性来帮助用户提高HBase处理表中数据的效率。用户不仅可以使用HBase中预定义好的过滤器,而且可以实现自定义的过滤器。
 - 协处理器
    
允许用户执行region级的操作,并且可以使用与RDBMS中触发器类似的功能。
 
- Client
    
客户端直接面向用户,可通过Java API、HBase Shell或者Web UI访问服务端,对HBase的表进行读写操作。本文中的HBase客户端特指HBase client的安装包,可参考HBase对外接口介绍。
 
   父主题: HBase开发指南(普通模式)