Advertisement

HBase 关于 row Key 的设计技巧

阅读量:

HBase是一种基于三维结构化的数据存储方式,在该系统中可以通过行键信息(RowKey)、列键信息(ColumnKey)以及时间戳(Timestamp)这三个维度实现对数据快速定位。具体来说,在HBase中定义的元数据表用于存储列元数据信息(ColumnFamily和Qualifier),而主表则用于存储核心数据行信息。在实际应用中,默认情况下主表会自动创建一个时间戳索引(TimestampIndex),以便于快速定位最新的数据记录。此外,在HBase查询过程中还支持基于元数据表的时间范围查询(TimeRangeQuery)。

  • 1.采用特定方法指定rowkey以获取唯一条记录
  • 2.采用扫描模式设定startRow及stopRow参数实现范围匹配
  • 3.对整个数据表进行全面扫描确保覆盖所有行数据

1 rowkey长度原则

rowkey是一个二进制码流,可以是任意字符串,最大长度64kb,实际应用中一般为10-100bytes,以byte[]形式保存,一般设计成定长。
建议越短越好,不要超过16个字节 ,原因如下:

  • 数据被持久化存储在HFile文件中,并采用KeyValue架构组织数据。当rowkey字段过长时(如超过100字节),处理1,00万行的数据会导致其中rowkey字段的数据量达到1,1亿个字符(约占用了约1GB的空间),这将

全部评论 (0)

还没有任何评论哟~