右侧
当前位置:网站首页 > 资讯 > 正文

hbase宽表设计,hbase表设计的关键要素

作者:admin 发布时间:2024-03-28 00:45 分类:资讯 浏览:13 评论:0


导读:HBase存储架构HBase采用了类似GoogleBigtable的数据模型,即一个稀疏的、分布式的、持久化的多维映射表,每个表都由行键、列族、列限定符和时间戳组成。hbase...

HBase存储架构

HBase采用了类似Google Bigtable的数据模型,即一个稀疏的、分布式的、持久化的多维映射表,每个表都由行键、列族、列限定符和时间戳组成。

hbase的核心数据结构为LSM树。LSM树分为内存部分和磁盘部分。内存部分是一个维护有序数据集合的数据结构。

全表扫描(scan)RowKey行键 (RowKey)可以是任意字符串(最大长度是64KB,实际应用中长度一般为 10-100bytes),在HBASE内部,RowKey保存为字节数组。存储时,数据按照RowKey的字典序(byte order)排序存储。

/hbase/.archive HBase 在做 Split或者 compact 操作完成之后,会将 HFile 移到.archive 目录中,然后将之前的 hfile 删除掉,该目录由 HMaster 上的一个定时任务定期去清理。

HBase调优:预分区与行键设计

1、保证了负载均衡性。像这样预先创建hbase表分区的方式,称之为预分区。hash(主键)+年月日时(2019062315)这里只取hash(主键)的前6位,使得行键的长度正好是16,也就是8的整数倍,在64位计算机中,效果最好。

2、本篇文章来说道说道如何诊断HBase写数据的异常问题以及优化写性能。和读相比...优化建议:检查RowKey设计以及预分区策略,保证写入请求均衡。

3、像这样预先创建hbase表分区的方式,称之为预分区。hash(主键)+年月日时(2019062315)这里只取hash(主键)的前6位,使得行键的长度正好是16,也就是8的整数倍,在64位计算机中,效果最好。

HBase中rowkey设计有哪些注意点

由于hbase的rowkey有序分布在region上,所以通过每个region的startkey、endkey可以确定当前要操作rowkey的region信息。由于通过zk、hbase:meta查找region信息比较耗时,所以客户端会缓存表的region信息。

这说明这里是不能使用-,-也并不是转义字符,转义后也还是scan不出来的。不知道其他字符是不是也不行,没有测试。 所以需要注意。

注意事项:删除test表时,最好连带删除 test_sequence。先用HBase命令行启用表,然后再进行删除,或者查询。

标签:


取消回复欢迎 发表评论: