zoukankan      html  css  js  c++  java
  • HBase数据模型

    上次我们讲过了《HBase简介》,点击阅读有助于更好地理解本文。本文讲述的是HBase数据模型。

    1、ROW KEY

    决定一行数据
    按照字典顺序排序的。
    Row key只能存储64k的字节数据
    2、Column Family列族 & qualifier列

    HBase表中的每个列都归属于某个列族,列族必须作为表模式(schema)定义的一部分预先给出。
    列名以列族作为前缀,每个“列族”都可以有多个列成员(column);如 course:math, course:english, 新的列可以随后按需、动态加入;权限控制、存储以及调优都是在列族层面进行的;
    HBase把同一列族里面的数据存储在同一目录下,由几个文件保存。
    3、Cell单元格

    由行和列的坐标交叉决定; 单元格是有版本的;
    单元格的内容是未解析的字节数组;
    由{row key, column( =<family> +<qualifier>), version} 唯一确定的单元。cell中的数据是没有类型的,全部是字节码形式存贮。
    4、Timestamp时间戳

    在HBase每个cell存储单元对同一份数据有多个版本,根据唯一的时间戳来区分每个版本之间的差异,不同版本的数据按照时间倒序排序,最新的数据版本排在最前面。
    时间戳的类型是 64位整型。
    时间戳可以由HBase(在数据写入时自动)赋值,此时时间戳是精确到毫秒的当前系统时间。 时间戳也可以由客户显式赋值,如果应用程序要避免数据版本冲突,就必须自己生成具有唯一性的时间戳。

    存储实例:

    这就是HBase的数据模型,接下来一篇文章将介绍HBase的架构体系和HBase集群安装,请多关注。

  • 相关阅读:
    js 产生随机数
    基于bootstrap的multiple-select下拉控件使用
    jqgrid 单列排序和组合排序
    jqgrid 配置行号及行号的宽度
    jqgrid 配置分页大小及下拉项
    jqgrid 滚动分页
    jqgrid 宽度自适应
    jqgrid 行选中multiboxonly属性说明
    jqgrid 谈谈给表格设置列头事件、行事件、内容事件
    jqgrid 加入右键菜单按钮管理
  • 原文地址:https://www.cnblogs.com/shsxt/p/8184991.html
Copyright © 2011-2022 走看看