HBase基于Google的BigTable构建,是一种column-orientednosql数据库
1.模型视图
1.1概念视图
从概念模型上看,HBase的存储逻辑同关系数据库类似,是基于Table的存储,存储视图如图所示:
图中列出了表格的一条记录,com.cnn.www是该记录的主键,contents:、anchor:cnnsi.com和anchor:my.look.ca是表格的column
与关系数据库不同的是,这里的cell具有版本的概念(每个cell有多条记录,这些记录通过时间戳来区分彼此).
1.2物理视图
概念视图只是基于关系数据库的一种参照,在真正的物理存储上,HBase基于另外一种模型,模型视图如图所示:
如图所示,HBase实际上是基于列存储的数据库,可简单认为每个ColumnFamily对应一张存储表,表格的RowKey、Timestamp和column确定了每条记录的唯一索引。在物理层面上,表格的数据是通过StoreFile来存储的,每个StoreFile相当于一个可序列化的Map,Map的key和value都是可解释型字符数组,如key的字符数组主要由以下信息组成(value于此类似):
rowlength |
rowKey的字符长度 |
row |
rowKey的值 |
columnFamilyLength |
columnFamily的字符长度 |
columnFamily |
columnFamily的值 |
columnqualifier |
column |
timestamp |
时间戳(版本) |
keytype |
key的类型(Put,Delete,DeleteColumn,DeleteFamily…) |
这样便可从相应的Key/Value键值对中提炼出具体的rowKey、timestamp、columnKey和columnValue等信息。而多个map整合到一起,便形成一张松散的、可分布式的、多维的、可序列话的BigTable。
2.模型概念
2.1ColumnFamily
Column Family是一组Column的组合,在HBase中,Schema的定义主要为columnFamily的定义,同大多数nosql数据库一样,HBase也是支持SchemaFree的,但是前提要先定义出具体的columnFamily,而在随后的column定义则没有任何约束。
其次,HBase的访问权限控制,磁盘及内存统计等功能都是基于columnFamily层面完成的。
2.2Cell
概念模型中的cell由row、column和timestamp三元素组成
2.3Timestamp
HBase提供基于cell的版本管理功能,版本号默认通过timestamp来标识,并且呈倒叙排列。这样,最后添加的版本会首先遍历到
注:这里的cell指的是概念视图中
分享到:
相关推荐
Hbase思维导图之物理模型
HBase官方指南——数据模型篇
3. HBase数据模型 4. 常用shell操作 5. shell管理操作 6. Hbase Java编程 7. HBase高可用 8. HBase架构 第二章 陌陌海量存储案例 1. 案例介绍 2. 打招呼消息数据集介绍 3. 准备工作 4. 陌陌消息HBase表结构设计 5. ...
springboot搭建的hbase可视化界面 支持hbase的建表与删除 支持根据rowkey查询数据
java操作Hbase之从Hbase中读取数据写入hdfs中源码,附带全部所需jar包,欢迎下载学习。
kettle集群搭建以及使用kettle将mysql数据转换为Hbase数据
HBASE的一个读取数据流程的解析,清晰的画出整个过程,十分有利于理解
python 连接hbase 打印数据。hbase 的一些源数据未转化
├─01_讲义 │ Day15[Hbase 基本使用及存储设计].pdf │ ├─02_视频 │ Day1501_Hbase的介绍及其发展.mp4 │ Day1502_Hbase中的特殊概念.mp4 │ Day1503_Hbase与MYSQL的存储比较....│ Day1512_Hbase的存储模型.mp4
为解决现有的HBase数据压缩策略选择方法未考虑数据的冷热性,以及在选择过程中存在片面性和不可靠性的缺陷,提出了基于HBase数据分类的压缩策略选择方法。依据数据文件的访问频度将HBase数据划分为冷热数据,并限定具体...
HBase是一个开源可伸缩的针对海量数据存储的分布式nosql数据库,它根据GoogleBigtable数据模型来建模并构建在hadoop的hdfs存储系统之上。它和关系型数据库Mysql,Oracle等有明显的区别,HBase的数据模型牺牲了关系型...
分布式数据库HBase在大规模数据加载中较传统关系型数据库有较大的优势但也存在很大的优化空间.基于Hadoop分布式平台搭建HBase环境,并优化自定义数据加载算法.首先,分析HBase底层数据存储,实验得出HBase自带数据加载...
hbase备份和数据恢复,hbase与hive的互导,hbase和hdfs互导。
HBase概述——HBase的存储模型.pdf 学习资料 复习资料 教学资源
Hbase的物理模型及逻辑模型的简单介绍。
将数据从Hadoop中向HBase载入数据,该过程大致可以分为两步: 一、将Hadoop中普通文本格式的数据转化为可被HBase识别的HFile文件,HFile相当于Oracle中的DBF数据 文件。 二、将HFile载入到HBase中,该过程实际就是...
从数据模型、物理储存、架构等方面介绍,比较简介通俗
使用spark读取hbase中的数据,并插入到mysql中
hbase海量数据的全量导入方法,大数据导入。
HBase基本数据操作详解,分享给大家!