Hadoop大数据系列之NoSql海量数据库Hbase详解原理篇(一)

Hbase的引言

一、什么是Hbase

1、hbase是Apache 组织开源的顶级项目 distributed, scalable, big data store 产品。
2、hbase是Google 的BigTable论文的开源实现。
3、hbase是基于Hadoop的一个NoSQL产品  Column(列存储)类型的NoSQL。
4、hbase是Google BigTable的开源实现, 数据存储于Hdfs上。
5、hbase运行亿级别数据查询时,效率可达到秒级、毫秒级、在线处理、实时的处理。

二、Hbase表的包含

表(Table)
       一个表可以有上亿行,上百万列,面向列:面向列(族)的存储和权限控制,列(族)独立检索。稀疏:对于为空(null)的列,并不占用存储空间,因此,表可以设计的非常稀疏。
行(Row)
       在表中数据依赖于行来存储,行通过行键来区分。行键没有数据类型,通常是一个字节数组。

列族(Column Family)
       行中的数据通过列族来组织。列族也暗示了数据的物理排列。所以列族必须预先定义,并且不容易被修改。每行都拥有相同的列族,可能有些行的数据为空。列族是字符串和字符的组合,可以在文件系统路径 
中使用。

列标识(Column Qualifier)
       数据在列族中的位置是通过列标识来指定的。列标识不需要预先指定,每行的列标识也不需要相同。就像行键一样,列标识没有数据类型,通常也是字节数组。

单元(Cell)
       单元是行键、列族、列标识的组合。这些数据存储在单元中,被称作单元数据。数据也不需要数据类型,通常也是字节数组。

时间戳(Timestamp)
单元数据是有版本的。版本的区分就是他们的版本号,版本号默认就是时间戳。当写入数据时,如果没有指定时间,那么默认的时间就是系统的当前时间。读取数据的时候,如果没有指定时间,那么返回的就是最新的数据。保留版本的数量根据每个列族的配置。默认的版本数量是3。

三、NoSQL特点

1、部分NoSQL In-Memory 内存型 (Redis)。
2、Schema-Less NoSchema 弱格式 无格式。
3、杜绝表连接。
4、弱化事务,没有事务 (Redis有事务,MongoDB(4.x 没事务 4.x后有事务了)。
5、搭建集群方便。

四、NoSQL分类

1、Key value    类型  redis
2、Document   类型  mongodb
3、Column       类型  HBase Cassandra
4、图                类型  neo4j (金融 知识图谱) 

五、Hbase详细说明

1、它是面向列的存储方式,Hbase中没有库的概念。通过namespace替换库,它是一种数据格式为Key,Value类型的nosql数据库,Value是以Byte[]流存储。
2、Column Famliy:列簇,把具有相同特性的列放在一块,组成一个列簇。一个表可以有多个列簇,而且列簇必须在创建表的是指定Column:列名,存属于列簇,一个列簇下面可以有多个列名,列簇下面的列名可以动态添加。列名需要在添加数据的时候指定。Value:保存列名对应的值。同一个rowKey同一个列对应的值,可以有多个版本。通过timestamp当版本号。一个Value默认可以保存3个版本号,基于列簇可设置时间数据存活时间(TTL)
3、Hbase保存的数据特别稀疏:由于列名不固定,列对应的值得类型比较丰富。
4、支持数据的横向自动扩展。

六、hbase中的核心服务<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值