搭建 [物联网] 数据中台 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
RedBeanIce
V2EX    数据库

搭建 [物联网] 数据中台

  •  
  •   RedBeanIce 2024-05-29 17:33:48 +08:00 3836 次点击
    这是一个创建于 507 天前的主题,其中的信息可能已经有所发展或是发生改变。
    我们是一个 30 人不到的小开发团队。

    目前选型数据库是 tdengine ,但是遗留了很多老系统有数据库 sql server ,mysql 等等

    我们要将这些其他数据库的数据同步到 td 里面,我们查询了很多文档,类似 datax 方案,类似 flink cdc 方案,消息队列方案,流处理方案,数据库本身自带的主从方案。

    请问一下问题:
    1 ,我们选择 td 数据库有问题么
    2 ,数据同步方案有推荐的么,我们目前准备使用 datax ,原因是他简单。
    我们没有人维护 flink 大数据关的集群,也没有人去维护消息队列的高可用。
    第 1 条附言    2024-05-30 06:52:24 +08:00
    需求

    1 ,将多个老系统的数据,处理到新系统中。( td ,mysql ,等等)
    2 ,将 td 中的数据,进行设备监测,展示,等等。(只查询不修改)
    50 条回复    2024-05-31 09:50:44 +08:00
    qiyilai
        1
    qiyilai  
       2024-05-29 17:37:13 +08:00   1
    数仓用 doris
    SbloodyS
        2
    SbloodyS  
       2024-05-29 17:40:22 +08:00   1
    一般衡量的标准有预算、数据团队大小、业务体量(数据量)、需求,有了这些才好进一步评估
    NoobPhper
        3
    NoobPhper  
       2024-05-29 18:17:55 +08:00   1
    tdengine 不是时序性数据库吗, 轻量级 OLAP 应该能做, 但是稍微复杂点的这玩意不好做, 不要把架构整这么复杂, 如果是云上服务的话 建议 买云服务, 因为现在的 无论是 HTAP Database 还是纯 OLAP database 如果自建 , 运维(安全稳定)都是极大的心里负担
    hero1874
        4
    hero1874  
       2024-05-29 19:01:11 +08:00   1
    我看 tdengine 也是针对物联网的,也许会比较契合你们物联网数据中台的业务,但还是像 2 楼说的那样才更好评估,如果你们没有实时性的要求,其实也没太大必要投入服务器成本和运维成本去搞一套 flink 集群,用 dolphinscheduler 海豚调度去配合 datax 其实也是可以的,如果没有对时序数据库的需求,可以调研看下 doris 和 starrocks ,起码这两个运维会好很多
    RedBeanIce
        5
    RedBeanIce  
    OP
       2024-05-29 19:50:16 +08:00
    @SbloodyS
    @hero1874

    预算约等于无,数据团队都是开发在临时做一下。数据量大概超过一千个设备,说是 3-5 秒采集一次数据。

    需求是问的那样,物联网数据中台,将多个数据库的数据采集到里面。
    进行数据的分析,预警,报表,等等
    RedBeanIce
        6
    RedBeanIce  
    OP
       2024-05-29 19:50:38 +08:00
    @qiyilai 好的!我去和领导聊一下,,,目前定的是 td
    RedBeanIce
        7
    RedBeanIce  
    OP
       2024-05-29 19:50:59 +08:00
    @NoobPhper 预算约等于无,都是自己搭建的。
    jiakme
        8
    jiakme  
       2024-05-29 20:49:10 +08:00
    1. 梳理需求背景和当前现状:a. 人员素养 b. 数据量,冷热情况,TPS/QPS c. 未来数据清洗情况
    jiakme
        9
    jiakme  
       2024-05-29 20:55:57 +08:00
    1. 梳理需求背景和当前现状:a. 人员素养 b. 数据量,冷热情况,TPS/QPS c. 未来数据清洗情况,数据分析维度 d. 当下硬件条件,网络情况,技术栈
    2. 结合前述条件分析引入技术栈情况:如果数据局部热,大部分冷,完全可以采用冷数据写入方式,只要有一个热点数据接收即可,无须引入 cdc ; TPS 和数据量少,直接用 mysql 抗,高版本 mysql/pgsql ,简单数据 TPS 200 ,几千万数据量随便用;中间件需要取舍一下轻量级和重量级,flink cdc 比较轻量,可以直接内嵌 springboot 使用,无须作为 flink task 集成,datax 有点重
    3. 编写 demo ,流程可行性确认,成本确认
    4. 方案实现和上线
    xueling
        10
    xueling  
       2024-05-29 21:08:02 +08:00   1
    你说的物联网的数据中台,我觉得应该有两方面作用:1 是物联网设备上报的原始消息的读写,2 是相关数据指标的统计监控,我觉得第一部分的功能选择时序性数据库还可以,但第二部分的功能其实很牵强,虽然时序数据库也可能有这方面的功能,但性能不会很强。我建议您了解一下我的开源项目: https://github.com/xl-xueling/xl-lighthouse ,虽然是大数据项目但后期维护其实非常简单。支持一键部署、数据自动备份、可以灵活扩容,轻量级使用,可以快速实现大批量数据指标。
    xianzhe
        11
    xianzhe  
       2024-05-29 21:14:31 +08:00
    不要 ALL in 一个地方,物联网数据上报和分析显然一个写入要求高,一个读取要求高,没有哪个数据库能做到既要又要的。你应该选择一个写入很快的数据库,LSM 类型的都可以,这里面保存原始数据。数据通过 ETL 后存入另一个 OLAP 数据库,这样起码做到了读写分离。
    zhonj
        12
    zhonj  
       2024-05-29 21:42:37 +08:00
    @RedBeanIce #7 优化一个开发,你就会发现服务器有丰富的预算了,每个月 2 万块钱投入云服务器,速度不仅块,服务也有保障,很多东西直接一把梭就好了,系统复杂性,可维护性都会有很大的提升
    RedBeanIce
        13
    RedBeanIce  
    OP
       2024-05-29 23:07:29 +08:00
    @xueling 非常感谢!我去试试!
    RedBeanIce
        14
    RedBeanIce  
    OP
       2024-05-29 23:08:25 +08:00
    @xianzhe 可惜我们没有往这一块考虑。

    目前想的是,先把其他地方的数据捞取到 td 。
    RedBeanIce
        15
    RedBeanIce  
    OP
       2024-05-29 23:08:32 +08:00
    @zhonj ~~~~~
    haimianbihdata
        16
    haimianbihdata  
       2024-05-30 01:09:31 +08:00 via Android
    @qiyilai 物联网这块应该用的比较多的是一些时序数据库吧。doris 在这一块也好使吗?
    levelworm
        17
    levelworm  
       2024-05-30 02:47:12 +08:00 via Android   1
    业务上数仓的需求是啥?选型和开发都是跟着需求走。
    humbass
        18
    humbass  
       2024-05-30 03:40:06 +08:00
    redis 队列缓冲下 --> TDEngine.
    v1
        19
    v1  
       2024-05-30 06:35:39 +08:00
    先考虑 raw_data 统一格式存储,确保不会漏掉任何一条上报数据。那么,剩下的都是小事情,哪怕不同需求、不同团队甚至不同数据库重构都可以。
    RedBeanIce
        20
    RedBeanIce  
    OP
       2024-05-30 06:52:39 +08:00
    @levelworm 如 append 所示
    512357301
        21
    512357301  
       2024-05-30 08:05:36 +08:00 via Android   1
    只说一句,免费 0 预算不建议用国产,因为使用体验并不好。。。(文档缺失或不通顺,使用案例少)
    0 预算建议用国外的,或者行业热门的,资料、文档多的。
    ZGame
        22
    ZGame  
       2024-05-30 08:16:42 +08:00
    相比较时序数据库 我觉得关系型数据库+es 缓存 这种更方便把...
    Dream95
        23
    Dream95  
       2024-05-30 08:44:21 +08:00   1
    没有信创要求,Postgresql+Timescaledb 吧更省事
    brant2ai
        24
    brant2ai  
       2024-05-30 08:53:41 +08:00
    @xueling 前段时间就看到你的项目,原来大佬就是你呀
    brant2ai
        25
    brant2ai  
       2024-05-30 08:56:09 +08:00   1
    TDEngine 只适合存放数据,到使用的时候还是需要 OLAP ,TDEngine 不太适合查询
    NoobPhper
        26
    NoobPhper  
       2024-05-30 09:28:41 +08:00   1
    @RedBeanIce 看你的需求 , 第一个需求只要迁移数据就好了, 数据体量 还有 前端业务 是影响数据库选型的唯一标准,

    第二个需求, 前置套个队列, 然后写个程序 处理 后转成 metrics , 放到 prometheus , 然后 配合 grafana embed dashboard ,你们前端开发量都能省一大半
    hero1874
        27
    hero1874  
       2024-05-30 09:46:05 +08:00   1
    @RedBeanIce #5 这样看的话,可以看下 doris starrocks ,当然如果没有时序相关需求,有的话,这俩就不大合适了
    qiyilai
        28
    qiyilai  
       2024-05-30 09:51:48 +08:00   1
    @haimianbihdata 推测一下,这种类似的项目一般都是对接多种数据源,数据处理后展示在大屏,或者对接 bi ,以及做机器学习,数据挖掘分析之类的;会涉及到复杂的聚合查询,td 适合去对接传感器数据的存储,不适合做为数仓使用
    Karte
        29
    Karte  
       2024-05-30 10:27:52 +08:00   1
    td engine 虽然是很适合物联网数据, 但是极其不稳定, 很不推荐. bug 没人修, 版本升级问题, 驱动问题.
    raywong
        30
    raywong  
       2024-05-30 10:39:14 +08:00   1
    自建投入生产使用过一段时间的 TD ,当时使用的版本是 3.0.2.x ,碰到过好几个问题:
    1. 乱序、重复写入数据会导致性能下降
    2. 业务上是在 TD 的子表查询,某些子表出现过以下问题:
    - 由于数据涉及到更新(覆盖写入),导致数据无法查询最新状态
    - 查询总数量 COUNT(*) 失败
    3. 3 个节点的集群出现过宕机,集群无法恢复工作
    4. 数据设置了 TTL 后只是逻辑删除,数据还是保留在磁盘上,需要手动执行命令才会清空磁盘

    -----------------------------

    以上问题目前最新版本可能已经修复了(未关注)。由于是自建集群,碰到问题后只能升级版本解决,但是线上环境升级数据库是个风险很大的操作,而且不可能每次一有问题就升级版本,折腾了一段时间最后还是停用了 TD 。
    选择什么数据库要考虑数据类型、数据量、数据写入、查询方式以及运维成本,如果 OP 想要自建,考虑好遇到问题要怎么升级版本。
    tuotuolala
        31
    tuotuolala  
       2024-05-30 10:45:20 +08:00
    交给乙方
    MoYi123
        32
    MoYi123  
       2024-05-30 11:03:59 +08:00   1
    反正数据量这么小, 不如在 mysql 和 postgresql 里挑一个, 可以保证在数据库上一定不会出问题. 能用的工具也很多.
    rb6221
        33
    rb6221  
       2024-05-30 11:06:08 +08:00
    只查询不修改?我觉得这个需求后期大概率会变。我建议用主流的 mysql 。各种 feature 成熟,后期扩展性高
    QWE321ASD
        34
    QWE321ASD  
       2024-05-30 11:10:31 +08:00   1
    不可能不修改,我们也做过类似的,经常因为一些原因要修改数据
    QWE321ASD
        35
    QWE321ASD  
       2024-05-30 11:11:47 +08:00   1
    我们懒得搞那么复杂,就单纯一个 mysql 然后同步到 clickhouse 里面,一年多没事
    xuhui54
        36
    xuhui54  
       2024-05-30 11:54:41 +08:00
    先评估数据体量,qps ,数据情况、业务情况,再定技术。
    yinxs2003
        37
    yinxs2003  
       2024-05-30 12:11:57 +08:00 via Android   1
    @qiyilai doris 是 olap 工具,当数仓的结果肯定是提桶跑路
    yinxs2003
        38
    yinxs2003  
       2024-05-30 12:22:35 +08:00 via Android
    Datax 可以,挺稳定的,优势是不用开发,多种数据源接入数仓。td 没听过估计不太行。看你提到数据接入,那估计就得在 hive clickhouse es 这里选型
    VoiceEXONE
        39
    VoiceEXONE  
       2024-05-30 12:23:02 +08:00 via iPhone   1
    如 append2 中的需求,你会选择直接拉取 TD 或者 influxdb 中的数据做分析还是 先把这些数据转存 OLAP ( postgresql )进行分析?
    yinxs2003
        40
    yinxs2003  
       2024-05-30 12:27:32 +08:00 via Android   1
    同意楼上,如果量不大,一个 clickhouse 是不是就能搞定
    RedBeanIce
        41
    RedBeanIce  
    OP
       2024-05-30 13:07:42 +08:00
    @VoiceEXONE 猜想的是,直接查询 td 数据,然后进行数据分析。
    hero1874
        42
    hero1874  
       2024-05-30 13:10:19 +08:00
    @yinxs2003 #40 楼主公司在运维投入不会太多,clickhouse 要考虑运维啥的,我们从 clickhouse 转 doris 其中一个原因就是 clickhouse 运维的问题
    yinxs2003
        43
    yinxs2003  
       2024-05-30 13:42:15 +08:00
    @hero1874 额,那确实得考虑(笑
    yinxs2003
        44
    yinxs2003  
       2024-05-30 18:28:07 +08:00 via Android
    @RedBeanIce 数据分析不都是 hive 吗?难道还有别的选择……
    yinxs2003
        45
    yinxs2003  
       2024-05-30 18:29:12 +08:00 via Android
    @yinxs2003 量小 doris 也不是不可以,但我们隔壁部门 doris 数仓总崩
    FanError
        46
    FanError  
       2024-05-30 18:33:34 +08:00
    @hero1874 老铁展开说说,clickhouse 要运维些啥内容。。我们没专业运维,准备选这个。狗头.jpg
    yinxs2003
        47
    yinxs2003  
       2024-05-30 18:37:39 +08:00 via Android
    @FanError 运维成本高被,总能碰到些有的没的问题
    yinxs2003
        48
    yinxs2003  
       2024-05-30 18:38:34 +08:00 via Android
    @yinxs2003 分布式的 那数据量运维成本就没不高的
    yinxs2003
        49
    yinxs2003  
       2024-05-30 18:40:54 +08:00 via Android
    顺便说一句,可以考虑 mongo 集群,这个作为成本应该比较低,数据量千万级别应该可以支撑,我猜的
    hero1874
        50
    hero1874  
       2024-05-31 09:50:44 +08:00
    @FanError #46 差不多就是回复你的老哥说的那些,再加上扩容缩容,分布式表配置等等,如果你们没有专门的运维慎重考虑下,我当时除了数据开发还兼着 ck 的运维,头痛啊
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2499 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 29ms UTC 04:45 PVG 12:45 LAX 21:45 JFK 00:45
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86