1. Hbase-region切分
- 自动切分,默认情况下
- 2.0版本,第一次region的数据达到256M,会进行切分,以后就是每达到10G切分一次,切分完成后,会进行负载均衡,均衡到其他regionserver
- 预分区+自定义rowkey
- 可以理解为预切分
- 比如预分区,每个regionserver会有10个region,每个region都有startrow和endrow
- 生产上必须要用预分区+自定义rowkey
- 预分区好了之后,即使没有数据,也会新建10个region的空文件
- 以后存数据的时候,会均匀的存到每个region中
2. Hbase-大合并和小合并
大合并:将过期数据删除,将文件进行合并 企业中7天进行一次
小合并:将过期数据标记,但是不会删除,只会合并邻近的文件
3. Hbase-内存数据刷写
- 手动刷写
- 用命令刷写
- 定时刷写
- 设置参数
- MemStore达到128M
- 如果MemStore比较多,而且都没有达到128M,可以设置region的大小为512M
4. Hbase-二级索引
4.1. 问题
hbase查询如果过滤条件不是rowkey,就会全局遍历
举例:
如果根据name过滤,就会全局遍历
sql
id name age
1 ikun 19
4.2. 解决
添加二级索引,其实就是再新建一个表,以name为rowkey
sql
name id
ikun 1