V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
LeeReamond
V2EX  ›  问与答

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

  •  
  •   LeeReamond · 2021-08-05 19:11:10 +08:00 · 1108 次点击
    这是一个创建于 1240 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

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

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

    4 条回复    2021-08-06 03:08:43 +08:00
    Jface
        1
    Jface  
       2021-08-05 20:10:22 +08:00
    最近也在学习 Hbase 相关知识,如果有误请大家指正
    1.时间戳可以手动输入, 而且还支持多版本, Hbase 是按列存储
    2.Hbase 关键在于设置 rowkey, 就是主键, 配合过滤器能满足各种过滤要求
    3.Hbase 是 NoSQL 数据库, 替换需要考虑到非关系性数据库的影响,这方便我也不太了解...
    noqwerty
        2
    noqwerty  
       2021-08-05 20:31:53 +08:00 via Android
    直接用 InfluxDB 这种时序数据库有什么问题吗?性能上应该会比 OpenTSDB 好很多
    LeeReamond
        3
    LeeReamond  
    OP
       2021-08-05 20:38:21 +08:00
    @noqwerty 以前测试使用过,我测试中获取题目中描述的数据量下的数据( 30 亿)中类似限定时间范围+指定传感器的这种需求,获取连续一万条数据,目前调好的关系型数据库能做到延迟 300ms 左右,ifdb 没有在延迟方面表现出明显优势,而其他各项上则明显劣势了,所以当时没有换。不过这是前两年的测试了,现在很多细节我已经忘了,只是有这么个结论的印象
    Samuelcc
        4
    Samuelcc  
       2021-08-06 03:08:43 +08:00 via Android
    用 influxdb 吧,专门为时序数据设计的数据库,大致原理和 hbase 相似,但是对时序数据的特点做了不少优化。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   939 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 21:14 · PVG 05:14 · LAX 13:14 · JFK 16:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.