mysql 一年新增 800 多万条数据,如果是单表的话请问服务器能支撑吗?各位有什么好的办法吗?

2024-12-04 08:56:20 +08:00
 sxinsuoyu20
有个室温采集系统,一共 1686 个住户,每小时取一次数,供热季从 10 月份取到明年 4 月份,大约
1686*24*30*7=8,497,440 条数据,后期涉及到统计,分组排序等。
目前想到的办法是一年新建一张表,存储历史,然后做个配置表去管理查询哪张表。各位有在实际中遇到过相似问题的吗?有更好的办法吗?
14607 次点击
所在节点    MySQL
119 条回复
kuxuan
2024-12-04 08:58:48 +08:00
收藏
wowo243
2024-12-04 09:02:46 +08:00
这不就是按年分表,分库分表有框架,比如 shardingsphere
CodeCodeStudy
2024-12-04 09:07:39 +08:00
可以用时序数据库,比如 influxdb 之类的
akira
2024-12-04 09:08:14 +08:00
统计,分组排序 提前算好就行 啦
hefish
2024-12-04 09:11:33 +08:00
10 年才 8000 多万,100 年才 8 亿多。。。。一年建一张表也行,就是分析统计跨年度的时候要额外处理一下。。。

实在不行还可以分区嘛,根据时间分区,这样落在一个数据库文件里的数据量就更有限了。。。
linauror
2024-12-04 09:15:04 +08:00
都按年存了,其实不必搞什么配置表,直接不让跨年查明细就好了,主要是控制一下明细的时间范围。
统计的话可以单独搞个统计表,每天跑一次之类的,这点数据问题不大
Martens
2024-12-04 09:16:14 +08:00
这种数据可以用时序数据库
dynastysea
2024-12-04 09:17:25 +08:00
mysql 哪里有这么脆弱啊,单标现在最大都可以支持到几十 TB 了,别被网上的一些垃圾文章误导。直接去买云厂商的产品,几亿条都没问题。
yuzo555
2024-12-04 09:19:50 +08:00
建议时序数据库
HunterPan
2024-12-04 09:20:47 +08:00
分区吧 10 年数据够用了
whoosy
2024-12-04 09:21:42 +08:00
800w 数据小意思
rockddd
2024-12-04 09:21:49 +08:00
一年才八百万,直接上云服务的数据库,哪怕存几年,这点量 查起来都没什么感觉
dr1q65MfKFKHnJr6
2024-12-04 09:22:34 +08:00
800W ,室温数据,没啥复杂的数据结构,主要是查询(统计),统计提前跑任务,
我觉得时间索引一下,10 年、8 年 归档一下就行了,分啥库分啥表。。。
justfindu
2024-12-04 09:23:41 +08:00
我们有个统计表, 一个月是 4000 万数据, 偷懒单表, 不过可以归档. 3 个月一归档.
dddd1919
2024-12-04 09:25:32 +08:00
不可变时序数据,上 hive
weilai99
2024-12-04 09:26:54 +08:00
单表八百万一点问题都没有,我们单表将近两千万都轻轻松松
shen13176101
2024-12-04 09:27:01 +08:00
想复杂了,业务就那么简单,不相信 mysql 换 pg
systemGuest
2024-12-04 09:28:26 +08:00
你太看不起 mysql 了,我们单表最大 8 亿的设备登录记录,照样正常查。
但是你要做各种复杂统计,就需要把数据同步过去,用 ES 类似专业的玩意。
cheng6563
2024-12-04 09:29:08 +08:00
一年 800 万...等你一天 800 万在考虑这些吧...
jiakme
2024-12-04 09:31:10 +08:00
如果允许的话, 可以考虑将 mysql 更换为 pgsql. 简单数据, 单表 1 亿没问题

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

https://ex.noerr.eu.org/t/1094825

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

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

© 2021 V2EX