有关 hbase 能不能当做时序数据库用的疑问

2021-08-05 19:11:10 +08:00
 LeeReamond

首页有个老哥问数据库相关的问题时有很多朋友回复 hbase,我去查了之后想到这个东西能不能当做时序数据库使用的问题。

使用背景是我有一个需要储存传感器数据的项目,存储上一直感觉不太舒适,我的项目总共有约一万个传感器,每天新增数据在千万行左右,需要保存一年,合计稳定在 36 亿行左右。

以前尝试过使用时序数据库,但是有几个方面的问题(比如目前大部分是小公司在运营,感觉不太牢靠。而需求方面又需要进行一定的传统关系型数据库的搜索,试了几款数据库在使用中各方面感觉都不太舒适,要可拓展性的话费用也是另一个问题),总之是实测下来在 36 亿这个数量级上,表现并没有比传统的关系型数据库集群+分库分表的效果好很多,所以还是使用原先的方案了。

不过关系型数据库处理十亿以上数据毕竟还是卡,所以看到 hbase 的时候就很感兴趣,不知道能不能迁移。大概看了一些介绍文章,里面说 hbase 可以支持给每行存一个时间戳,我想知道这个时间戳能不能是手动控制写入的,因为传感器数据收集上来之后要统一做一个校正,不一定写入的时间就是数据采集时间。

另外,针对一些常见的需求,hbase 能不能做到,比如: 1 、搜集近一个月内 9000 号传感器的所有数据 2 、将 8000 号传感器时间戳为 2020-01-01 18:18:18:666 的数据内容由 aaaaa 修改为 bbbbb 3 、新增或删除单独行

不知道有没有大佬能指点一下 hbase 在这方面当做替换数据库用的可行性如何?

1108 次点击
所在节点    问与答
4 条回复
Jface
2021-08-05 20:10:22 +08:00
最近也在学习 Hbase 相关知识,如果有误请大家指正
1.时间戳可以手动输入, 而且还支持多版本, Hbase 是按列存储
2.Hbase 关键在于设置 rowkey, 就是主键, 配合过滤器能满足各种过滤要求
3.Hbase 是 NoSQL 数据库, 替换需要考虑到非关系性数据库的影响,这方便我也不太了解...
noqwerty
2021-08-05 20:31:53 +08:00
直接用 InfluxDB 这种时序数据库有什么问题吗?性能上应该会比 OpenTSDB 好很多
LeeReamond
2021-08-05 20:38:21 +08:00
@noqwerty 以前测试使用过,我测试中获取题目中描述的数据量下的数据( 30 亿)中类似限定时间范围+指定传感器的这种需求,获取连续一万条数据,目前调好的关系型数据库能做到延迟 300ms 左右,ifdb 没有在延迟方面表现出明显优势,而其他各项上则明显劣势了,所以当时没有换。不过这是前两年的测试了,现在很多细节我已经忘了,只是有这么个结论的印象
Samuelcc
2021-08-06 03:08:43 +08:00
用 influxdb 吧,专门为时序数据设计的数据库,大致原理和 hbase 相似,但是对时序数据的特点做了不少优化。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/793920

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX