实时历史数据库是实现工业海量数据采集存储的有效手段。HBase的写入性能优于查询性能,这个特色使其适合做为实时历史数据库开发的基础。数据库
全部的开发是基于HBase的API进行,主要开发节点和数据的增删改查方法的实现,而且使用Thrift做为软件的RPC,最终提供Server服务和Client API。其中Server功能是链接HBase以及实现增删改查的方法。架构
设计HBase的表结构是最重要的部分。首先,使用HBase的命名空间功能,为不通场景提供不通数据库。而后就是表结构设计,根据经验,要有三张基本表,分别是id,data,info。info表保存节点信息,节点名做为rowkey;id表提供能够给节点分配的id;data表保存节点数据,rowkey为“节点id+时间”形式。而后根据三个表结构的特色实现增删改查的方法。分布式
数据在HBase表中存储排序是字典格式。若是全部数据都在data表中保存时,获取实时最新数据是一个问题。能够使用过滤器取出符合条件的节点数据,而后reverse便可获取最后一个插入的数据。可是这种方法在测试时很慢,效率低。能够考虑增长realTime表,保存节点最新数据,只要在插入实时数据的方法中同事写入此表和data表便可,但结果却提升了查询实时数据的速度。性能
除了表结构的设计,HBase自身的分布式架构也使得该数据库试用大数据环境。剩下的 就是提升HBase的读写性能,特别是读取性能。测试
以上思路是根据生产实际经验总结而来,而且实现了beta版本,可是并无发布。大数据