zoukankan      html  css  js  c++  java
  • HBase-存储-KeyValue格式

    HBase-存储-KeyValue格式

    本质上,HFile中的每个KeyValue都是一个低级的字节数组,它允许零复制访问数据。

    KeyValue格式如下

     

    该结构以两个分别表示键长度(Key Length)和值长度(Value Length)的定长数字开始。有了这个信息,用户就可以在数据中跳跃,例如,可以忽略键直接访问值。其它情况下,用户也可以从键中获取必要的信息。一旦其被转换成一个KeyValue的Java实例,用户就能通过对应的getter方法得到更多的细节信息。

    上图中,平均键比平均值大的原因可以归结为键中包含的数据项:它包含了指定单元的全维度内容。键包含了行键、列族名和列限定符等。相对于一个较小的有效负载,这将导致相当巨大的开销。如果用户处理的值较小,那么应当保持键尽量小。选择一个短的行和列键(列族名是一个单字节,同时列限定符也一样短)来保证键值比率合适。

    另一方面,压缩有助于缓解这一问题,因为它着眼于有限的数据窗口,并且其中所有重复的数据都能够被有效地压缩。存储文件中所有的KeyValue都被有序地存储,这样有助于把类似的键放在一起。

  • 相关阅读:
    S1 商品信息管理系统
    用例图
    mvc使用mongodb时objectId序列化与反序列化
    windows下检測文件改变
    【Android 开发实例】时间管理APP开发之数据库设计
    设计模式 之 原型
    ANT安装及配置
    Java环境变量设置
    Win7安装软件,界面上中文显示乱码的解决方案
    Some perl tips
  • 原文地址:https://www.cnblogs.com/EnzoDin/p/9766304.html
Copyright © 2011-2022 走看看