您的位置:首页 > 数据库

基于HBase的实时历史数据库设计思路

2017-10-23 11:00 260 查看
实时历史数据库是实现工业海量数据采集存储的有效手段。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版本,但是并没有发布。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  数据库 HBase
相关文章推荐