hbase宽表设计,hbase表设计的关键要素
作者:admin 发布时间:2024-03-28 00:45 分类:资讯 浏览:13 评论:0
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命令行启用表,然后再进行删除,或者查询。
相关推荐
你 发表评论:
欢迎- 资讯排行
- 标签列表
- 友情链接