FlashTsDB时序数据库-Hbase 存储结构设计
FLashDB基于开源模式开发,地址:https://github.com/amon1991/flashdb
1、背景
FlashTsDB底层采用Hbase存储测点历史数据,Hbase存储结构的设计对最终数据的存取性能起到决定性的作用。
2、Hbase存储结构设计
-
Rowkey
如上图所示,rowkey包括三个部分组成,每个部分占用4个字节,总共12字节。
在FlashTsDB中,每个测点编码都会对应一个唯一的数字ID,在新建测点时由系统自动生成。- 首4字节:哈希码,使用测点数字ID进行MD5编码后取前4个字节
- 中间4字节:测点数字ID从1开始自增,最大为4,294,967,295。
- 尾4字节:从格林威治时间到当前的天数,例如:1970.02.25对应为56(31+25)
上述rowkey设计有如下优势:
- 首4位使用哈希码&#x