一 HBase
存储结构
HBase结构图示
二 rowkey
设计原则
1️⃣
rowkey
长度原则 : 建议越短越好因为如果要存储多行数据的话,单凭rowkey
就要占用很多的存储空间会严重影响存储效率;2️⃣
rowkey
散列原则 : 如果rowkey
按照时间戳的方式递增不要将时间放在二进制码的前面,建议将rowkey
的高位作为散列字段由程序自动生成低位放时间字段,这样将提高数据均衡分布在每个regionserver
以实现负载均衡;3️⃣
rowkey
唯一原则 : 必须在设计上保证其唯一性rowkey
是按照字典顺序排序存储的,因此设计rowkey
的时候要充分利用这个排序的特点将经常读取的数据存储到一块,将最近可能会被访问的数据放到一块;
三 RowKey
如何设计
1️⃣ 什么是热点数据?
热点发生在大量的client
直接访问集群的一个或极少数个节点(访问可能是读 写或者其他操作);大量访问会使热点region
所在的单个机器超出自身承受能力引起性能下降甚至region
不可用,这也会影响同一个RegionServer
上的其他region
因为主机无法服务其他region
的请求;
2️⃣RowKey
如何设计
(1)生成随机数、hash
、散列值;
(2)字符串反转;
四 Phoenix
二级索引原理
待补充
网友评论