HBase--基本简介

HBase

基本简介

1.bigtable是谷歌的一个nosql(非关系型)数据库
hbase是bigtable的开源java版本
是建立在 hdfs 之上
提供 实时读写
具有
高可靠性
高性能
列存储
可伸缩
的特点。

2.它介于nosql和RDBMS之间,仅能通过主键row key 和主键的range来检索数据
仅支持单行事务(可通过Hive支持来实现多表join等复杂操作)

3.存储内容: 结构化和半结构化的松散数据。
结构化的数据相当于mysql的一张表,字段的个数是一定的,字段的类型也是一定的。
非结构化的数据,就类似于json、xml。

4.它的查询功能很简单,
不支持join等复杂操作,
不支持复杂的事务(只支持行级的事务)。

5.支持的数据类型: byte[]

6.与Hadoop一样,HBASE目标是主要依靠横向扩展,通过不断增加廉价的商用服务器,来增加计算和存储能力。

7.表特点:
大:上十亿行,上百万列。PB级别
面向列:面向列(族)的存储和权限控制,列(族)独立检索。列族在创建表时必须置顶
稀疏:对于非空的列,并不占用存储空间,因此可以设计的非常稀疏。

8.数据库必然支持随机读写。
这里抛出一个问题:
hdfs对随机读写不是支持的太良好,hbase是一个数据库,支持随机读写。hbase是基于hdfs的,hbase的数据存储在hdfs上面的,hbase是如何基于hdfs的数据做到随机读写的?

9.与HDFS对比:
为分布式存储提供文件系统–>表状的面向列的数据存储
直接使用–>使用key-value操作数据
–>灵活的数据模型
一次写多次读–>多次读多次写

与RDBMS对比:
数据库形式:表–>region
支持: HDFS文件系统–>FAT、NTFS、EXT、文件系统
存储日志方式:Commit log–>WAL
参考系统:坐标系统–>zookeeper
使用:行、列、单元格–>行、列、列族、单元格

10.功能:
支持:向上扩展–>向外扩展 //ask
如何访问数据: SQL查询–>API和MapReduce
面向行–>面向列 //即行/列是连续的单元
数据总量依赖于:服务器配置–>机器数量
支持ACID吗: 支持–>不支持(原子性、一致性、隔离性、持久性)
存储数据特点:结构化数据–>结构化数据、非结构化数据
一般都是中心化的–>分布式的
事务支持:支持–>不支持,支持的是单行数据的事务操作(即一行数据要么插入成功要么插入失败,不支持多行事务)
Join支持:支持–>不支持

11.HBase特征简要:
海量存储—极易扩展
列式存储
极易扩展—两方面:上层处理能力(RegionServer)的扩展,基于存储的扩展(HDFS)。
高并发
稀疏

猜你喜欢

转载自blog.csdn.net/AnlaGodness/article/details/103790844