(一)HBase之简介

(一)HBase之简介

* 概念

* HBase是一个高可靠性、高性能、面向列、可伸缩、支持版本控制、稀疏的、多维度的和排序的分布式数据库。

* 高可靠性

* (1): 在数据的写入过程中,数据首先会写到预写日志WAL(write ahead log)中,再写到memstore(内存)中,一旦 
                        HRegionServer宕机,可以回滚WAL,重新写入数据;
         * (2):数据存储时,一般是用Hadoop的hdfs作为底层存储,可以设置多个数据副本,数据会保存在本机、同一机架的不
                        同机器以及不同机架的机器上,利用数据的冗余存储来保证数据的安全性

* 高性能:

* 可以处理PB级别,低延迟,秒级别响应且保证一定的性能

*可伸缩:

* 可以通过横向添加廉价的pc server来扩展整个系统的存储、处理能力

* 支持版本控制:

* 保存数据操作时的时间戳,可以配置版本数量

* 稀疏的:

* HBase逻辑上是一张宽表,有许多空值,但是物理上不会存储

* 多维度:

* RDBMS的表由行和列组成,我们也叫它二维表,HBase有行健、列族、列、时间戳组成,所以也叫多维表

* 排序的:

* HBase行健和列是按照字典排序的方式存储在文件中

 * 作用

*(1):弥补了Hadoop只能离线批处理的不足,能够存储小文件

*(2):解决海量的非结构化数据的高并发随机读写性能的问题

 * 特性

* 通过行健检索数据,仅支持单行事务,主要用于存储非结构化和半结构化的松散数据

* 容量巨大

* HBase单表可以有百亿行、百万列,数据矩阵横向和纵向两个维度所支持的数量级非常具有弹性

* 传统数据库如Mysql、Oracle等,如果数据在亿级别,查询和写入性能将成指数级别下降,而HBase对百亿、千亿级数量不成
         问题

* 如果是亿级别的列,如果不是查询整个RowKey,指定一些列是没有问题

* 面向列

* HBase的数据是按照列存储的,在查询某几个字段的时候能够大大减速读取的数据量,比如某个字段聚集存储,就更容易设计
        压缩算法

* 稀疏性

* 传统数据库往往是稀疏的,存在大量空列,而且会占用空间,造成存储空间浪费,而HBase不会存储空的列,因此可以设计得
        非常稀疏

* 扩展性

* HBase的扩展是热扩展,在不停止现有服务的情况下,可以随时添加或者减少节点

* 高可靠性

* HBase提供了WAL和Replication机制

* 高性

* 底层的LSM数据结构和RowKey有序排列等架构上的独特设计,HBase具备非常高的写入性能

* Region切分、主键索引和缓存机制使得HBase在海量数据具备一定的随机读取性能,该性能对行健的查询能够达到毫秒级别

* HBase对于高并发的场景也据有很好的适应能力

 * 应用场景条件

* 从需求角度、存储级别、性能、扩展、数据格式、关联关系等考虑

* 存储大量数据(PB级别数据)且保证良好的随机访问性能

* 需要很高的吞吐量、瞬间写入量很大,传统数据库不能支持或需要很高成本的场景

* 可以进行很优雅的数据扩展,动态扩展整个存储系统容量

* 数据格式无限制,支持半结构化和非结构化数据

* 业务场景简单,不需要全部的关系型数据库特性,例如交叉列、交叉表、事务、连接等

* 主要组件模块

* Client

* JAVA API

* Shell

* Thrift

* Avro

* Rest

* Zookeeper

* HMaster

* HRegionServer

时间: 2024-10-10 11:12:45

(一)HBase之简介的相关文章

HBase之简介

(一)HBase之简介 * 概念 * HBase是一个高可靠性.高性能.面向列.可伸缩.支持版本控制.稀疏的.多维度的和排序的分布式数据库. * 高可靠性: * (1): 在数据的写入过程中,数据首先会写到预写日志WAL(write ahead log)中,再写到memstore(内存)中,一旦                         HRegionServer宕机,可以回滚WAL,重新写入数据:         * (2):数据存储时,一般是用Hadoop的hdfs作为底层存储,可以设

hbase filter 简介

一.基本介绍 1.FilterList代表一个过滤器列表 FilterList.Operator.MUST_PASS_ALL --> 取交集 相当一and操作 FilterList.Operator.MUST_PASS_ONE --> 取并集 相当于or 操作 FilterList list = new FilterList(FilterList.Operator.MUST_PASS_ONE); 2.SingleColumnValueFilter 列值过滤器 ColumnPrefixFilte

【Hadoop学习】Apache HBase项目简介

原创声明:转载请注明作者和原始链接 http://www.cnblogs.com/zhangningbo/p/4068957.html       英文原版:http://hbase.apache.org/ Apache HBaseTM ,即Hadoop 数据库,是一个分布式的.可缩放的大数据存储方案. 何时使用Apache HBase? 当需要随机.实时读写大数据时,就可以使用Apache HBase了.该项目旨在组织甚大规模的位于商业硬件集群之上的表——数十亿行 × 数百万列.Apache

HBase(一)HBase入门简介

一 HBase 的起源 HBase 的原型是 Google 的 BigTable 论文,受到了该论文思想的启发,目前作为 Hadoop 的子项目来开发维护,用于支持结构化的数据存储. Apache HBase™是Hadoop数据库,这是一个分布式,可扩展的大数据存储. 当您需要随机,实时读取/写入您的大数据时使用Apache HBase™.该项目的目标是托管非常大的表 - 数十亿行×数百万列 - 在商品硬件集群上.Apache HBase是一个开源的,分布式的,版本化的非关系数据库,其模型是由C

Hbase Phoenix简介及其安装部署

1. 什么是Phoenix? phoenix,中文译为“凤凰”,很美的名字.Phoenix是由saleforce.com开源的一个项目,后又捐给了Apache基金会.它相当于一个Java中间件,提供jdbc连接,操作hbase数据表.Phoenix是一个HBase的开源SQL引擎.你可以使用标准的JDBC API代替HBase客户端API来创建表,插入数据,查询你的HBase数据.Phoenix的团队用了一句话概括Phoenix:"We put the SQL back in NoSQL&quo

HBase Client API使用入门(二)---查询及过滤器

相关知识 创建表插入数据删除等见:http://www.cnblogs.com/wishyouhappy/p/3735077.html HBase API简介见:http://www.cnblogs.com/wishyouhappy/p/3753347.html 按行.列簇等查询 package wish.hbase; import java.io.IOException; import java.util.ArrayList; import java.util.List; import org

hbase的基本介绍

1. hbase的简介: ??HBASE是bigTable,(源代码是Java编写)的开源版本,是Apache Hadoop的数据库,是建立在hdfs之上,被设计用来提供高可靠性,高性能.列存储.可伸缩.多版本,的Nosql的分布式数据存储系统,实现对大型数据的实时,随机的读写请求.更是弥补了hive不能低延迟.以及行级别的增删改的缺点.?? HBASE依赖于hdfs做底层的数据存储?? HBASE依赖于MapReduce做数据计算?? HBASE依赖于zookeeper做服务协调 2. hba

HBase 系列(七)——HBase 过滤器详解

一.HBase过滤器简介 Hbase 提供了种类丰富的过滤器(filter)来提高数据处理的效率,用户可以通过内置或自定义的过滤器来对数据进行过滤,所有的过滤器都在服务端生效,即谓词下推(predicate push down).这样可以保证过滤掉的数据不会被传送到客户端,从而减轻网络传输和客户端处理的压力. 二.过滤器基础 2.1 Filter接口和FilterBase抽象类 Filter 接口中定义了过滤器的基本方法,FilterBase 抽象类实现了 Filter 接口.所有内置的过滤器则

学习hadoop常去的网站

学习hadoop常去网址: hadoop邮件列表信息查询http://www.search-hadoop.com简介:hadoop邮件列表都是hadoop用户和开发者的提问和讨论的邮件列表,里面大量问题,和解决方案,可以帮助自己解决工作中遇到的大量问题. hadoop in china http://www.hadooper.cn/dct/page/65750简介:由中国科学院计算技术研究所 网络科学与技术重点实验室主办,中文信息易于阅读,内容比较丰富. Hadoop 0.18官方文档http: