Hbase的数据模型
row 行
column 列
row keys 行键
column keys 列键
column families 列族
Hbase的数据模型和Bigtable的数据模型是一致的,非常适用于数据密集型的系统.
简单的说,Hbase可以简化描述为一个Map<byte[], Map<byte[], Map<byte[], Map<Long, byte[]>>>>.
一个Map建立行键和它们的列族的映射关系;第二个Map建立列族和列键的映射关系;第三个Map建立列键和时间戳的映射关系;
最后一个Map将时间戳对应到一个值上.键通常情况下为string,时间戳是个long,值为字节数组.列键通常包含它的族名例如:family:key.
一个列族可以包含无限多的列键值.所以想获得一个值,使用者需要使用get命令指定3个键来获取:
row key+column key+timestamp -> value
行
Hbase的行键是一个字节数组,但是这个数组必须有一个字符串名称,这个名词是按照字典顺序建立的,相当于索引。例如:1到100这100个数是
按照如下次序存放:1,10,100,11,12,13,14,15,16,17,18,19,2,20,21,...,9,91,92,93,94,95,96,97,98,99
现实例子:
为了能够更好地说明Hbase的数据模型,下面介绍一个简单的blog的数据结构设计.
假设一个blog具有如下特性:
1:blog实体,包括标题,副标题,日期,作者,类别(也就是标签),内容和评论.对于登录的用户,可以创建和更新.
2:用户,包含用户名,密码和昵称,可以登录和登出.
3:评论,包括标题,作者,内容.评论可以由匿名用户产生,这个时候,通过验证码来区分用户.
实体关系图(ERD)如下:
BLOGENTRY USER
PK:id_blogentry ----------> PK:id_user
FK1: name
title login
under_title password
id_user
date COMMENT
text <----------PK:id_comment
type FK1:id_blogentry
date
author
title
text
对应的Hbase架构:
Table
|
Row Key
|
Family
|
Attributs
|
blogtable
|
TTYYYYMMDDHHmmss
|
info:
|
Always contains the column keys author,title,under_title. Should be IN-MEMORY and have a 1 version
|
|
|
text:
|
No column key. 3 versions
|
|
|
comment_title:
|
Column keys are written like YYYMMDDHHmmss. Should be IN-MEMORY and have a 1 version
|
|
|
comment_author:
|
Same keys. 1 version
|
|
|
comment_text:
|
Same keys. 1 version
|
usertable
|
login_name
|
info:
|
Always contains the column keys password and name. 1 version
|
参考wiki:
http://wiki.apache.org/hadoop/Hbase/DataModel
分享到:
相关推荐
3. HBase数据模型 4. 常用shell操作 5. shell管理操作 6. Hbase Java编程 7. HBase高可用 8. HBase架构 第二章 陌陌海量存储案例 1. 案例介绍 2. 打招呼消息数据集介绍 3. 准备工作 4. 陌陌消息HBase表结构设计 5. ...
最近在学习HBase的使用,并仔细阅读了一篇官方推荐的博客,在这里就以一边翻译一边总结的方式和大家一起梳理一下HBase的数据模型和基本的表设计思路。HBase是一个开源可伸缩的针对海量数据存储的分布式nosql数据库,...
本文来自于csdn,主要为对HBase简介,HBase数据模型及物理模型,HBase架构及工作原理。HBase是一个构建在HDFS之上的,分布式的、面向列的开源数据库HBase是GoogleBigTable的开源实现,它主要用于存储海量数据个人...
HBase官方指南——数据模型篇
HBase思维导图,便捷整理思路,HBase简介、HBase架构、HBase数据模型、HBase角色
本文首先简单介绍了HBase,然后重点讲述了HBase的高并发和实时处理数据 、HBase数据模型、HBase物理存储、HBase系统架构,HBase调优、HBase Shell访问等。
本文首先简单介绍了HBase,然后重点讲述了HBase的高并发和实时处理数据 、HBase数据模型、HBase物理存储、HBase系统架构,HBase调优、HBase Shell访问等。
hbase-1.2.3-bin.tar.gz 本文首先简单介绍了HBase,然后重点讲述了HBase的高并发和实时处理数据 、HBase数据模型、HBase物理存储、HBase系统架构,HBase调优、HBase Shell访问等
4.1 概述 4.2 HBase访问接口 4.3 HBase数据模型 4.4 HBase的实现原理 4.5 HBase运行机制 4.6 HBase应用方案 4.7 HBase编程实践
hbase 数据模型,表结构设计 。。。。。。。。。。。。。。。。。。。。。。。
从数据模型、物理储存、架构等方面介绍,比较简介通俗
重点讲述了hbase的高并发和实时处理数据 、HBase数据模型、HBase物理存储、HBase系统架构,HBase调优、HBase Shell访问等。
第 2 节 HBase数据模型HBase的数据也是以表(有行有列)的形式存储HBase逻辑架构HBase物理存储概念描述NameSpace(数据库)命名空间,类
的高并发和实时处理数据,数据模型,工作流程等。(一)HDFS主要是用于做什么的?HDFS(HadoopDistributedFileSystem)分布式文件管理系统、是Hadoop项目的核心子项目,是分布式计算中数据存储管理的基础,是基于流...
4.1 概述 4.2 HBase访问接口 4.3 HBase数据模型 4.4 HBase的实现原理 4.5 HBase运行机制 4.6 HBase应用方案 4.7 HBase编程实践
基于HBase的图书借阅数据挖掘模型设计与实现.pdf
HBase的基本元素: 4 3) 数据模型有哪些操作? 4 4) 返回结果的排序方式是什么? 5 5)最后,HBase不支持联合查询 5 mapreduce与HBase表配合使用 5 4. HBase的模式Schema设计的一些概念和原则 5 1)模式的创建与...
├─01_讲义 │ Day15[Hbase 基本使用及存储设计].pdf │ ├─02_视频 │ Day1501_Hbase的介绍及其发展.mp4 │ Day1502_Hbase中的特殊概念.mp4 │ Day1503_Hbase与MYSQL的存储比较....│ Day1512_Hbase的存储模型.mp4