关于物联网系统的数据库设计和选型

2022-03-18 01:25:03 +08:00
 wxt

之前做能耗监测类的项目,因为有个集中器主控,所以一般一个集中器连接几百块仪表,一个项目也就几十个集中器。当时系统数据库用的 mysql 按月和设备编号分表。也就是一个月一个设备一张数据表。

最近做了一个项目,但是量大了,可以理解为有一万个集中器了,每个集中器固定有二十多个仪表,沿用原来代码发现 mysql 一个月就要建一万多个数据表,这个很明显不合理了。目前看一个设备一个月也就一百万到四百万条记录吧。

只有一台 32 核,64g ,19t 硬盘的服务器的话大家有什么更好的方案和技术选型,是不是要放弃 mysql 数据库。

甲方说年底可能要到三万个设备,明年要五万个。

4070 次点击
所在节点    程序员
39 条回复
MoYi123
2022-03-18 09:57:47 +08:00
@singerll 2 年前用过, bug 还挺多的.
winnie2012
2022-03-18 09:59:50 +08:00
cshlxm
2022-03-18 10:01:45 +08:00
支持下国产,tdengine ,涛思,用下来感觉不错
singerll
2022-03-18 10:43:49 +08:00
@MoYi123 2019 年 7 月 12 日,涛思数据宣布 TDengine 正式开源。
开源后发展的还挺好的,我见过他们商务,这个公司搞笑的就是没有专职商务人员,商务都是技术人员兼职的,跟我们公司的技术交流群里,提的技术问题商务是解答最快的。。。。。
实话说我觉得他们真的是一个想做技术的公司,跟拿开源改文件名骗钱的完全不一样。
pengtdyd
2022-03-18 11:21:14 +08:00
只要是单机的不能用于生产环境!!!
wxt
2022-03-18 13:30:47 +08:00
@pengtdyd 没办法,甲方只能提供一台服务器,情况该说的也都说了,服务器带了个磁盘阵列。
wxt
2022-03-18 13:32:24 +08:00
@dayeye2006199 这种方式目前看可能是优选了,改动最小。
wxt
2022-03-18 13:33:55 +08:00
@opengps 多谢
wxt
2022-03-18 13:37:00 +08:00
@spacezip 我们最初计算大概是一万个设备一个月大概是 1T,目前看可能没那么大。
wxt
2022-03-18 13:40:28 +08:00
@CEBBCAT 甲方认为数据存储一个月就行,做了个磁盘阵列。
leonhao
2022-03-18 13:44:44 +08:00
IOT 这块做过几个项目,推荐 timescaledb ,简单好用,没有坑。clikchouse 一生黑,各种 bug ,浪费时间。
moen
2022-03-18 13:46:50 +08:00
关系型的话用 TimescaleDB ,起码能自动分表还能对历史数据做压缩
PopRain
2022-03-18 15:47:14 +08:00
发现很多搞 IOT 的都喜欢按设备建表,为什么不把设备 ID 作为数据库的一个字段? 既然数据仅仅保留一个月,这点数据对于数据库来说实在是小 case 了。(可以按时间分区,删除起来也不影响当前工作表)
wxt
2022-03-18 16:02:41 +08:00
@duke807 感觉这种方式不太适合我们 这个数据回头还得查询 计算处理什么的 感觉操作文件弄起来有点麻烦。
zhangrenjie
2022-03-18 19:51:59 +08:00
刚开始是使用 influxdb ,后面转到了 hbase,慢慢堆起来之后发现 Hbase 磁盘占用太多了,现在在踩坑 clickhouse 。
liveej
2022-03-19 08:55:21 +08:00
也推荐 TDengine ,省资源,技术支持方便
ljhskyso7
2022-03-19 15:08:26 +08:00
@wxt 可以试试这个: http://iotbase.io/

第一个真正意义上的物联网数据库,特点已经在官网有说明。总结一下:MQTT 消息直写(也兼容 pg 线协议),顶级的写入性能,顶级的分析查询性能(引擎内部对标 ClickHouse ,比 ClickHouse 快;外部对标 Timescale ,比 Timescale 快的 2-3 个数量级),免运维设计,极好的工程稳定性,完整地支持常用 SQL 函数。有待改进的是,目前只支持单机(但支持 HA ),复杂的 SQL 分析函数和 JOIN 还在进行中。

目前团队正在进行一些上云的工作,所以 SQL 方面的功能性增强会稍微放几天。

团队正在对有真实需求的企业用户提供免费内测,CEO 直接提供企业级支持,欢迎申请:
contact@iotbase.io
wxt
2022-03-28 11:14:55 +08:00
@ljhskyso7 多谢 抱拳
wxt
2023-02-20 17:56:22 +08:00
回顾一下,最后我们选用的涛思,大概运行半年多了,目前看没什么毛病很稳定,速度也还可以,也兼容很多之前的 mysql 语句,所以程序改动相对比较小。

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

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

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

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

© 2021 V2EX