如何优雅的实现千万级以上数据存储与读取?

2021-04-16 21:48:37 +08:00
 IfEles
最近有个需求,做一个简单的比喻,比方说有一片海域养殖生蚝,海域里有上千个养殖点,每个养殖点有一串生蚝养殖基,每个生蚝有每个生蚝的一些信息字段,这样大概有四张表:海域表 /养殖点表 /养殖基表 /生蚝表,数据量大概会有千万级以上,业务场景需要读的场景比较多,写的话压力不大也可以用中间件分批写入,如果用 mysql 这类关系型数据库,感觉有点扛不住,V 友们有这方面的经验吗?或者有别的 DB 可以推荐的,感谢了~
2862 次点击
所在节点    数据库
19 条回复
manami
2021-04-16 22:03:54 +08:00
如果只是读的场景多而写的压力不大的话,千万级其实用 mysql 就行,索引做好
yeqizhang
2021-04-16 22:13:30 +08:00
千万级 mysql 还是没问题的,我建议给你们前面三个表加编码,编码不能修改,然后生蚝的编码就是 00100010001xxxx 这样编码,这样加个索引后不用关键查询直接模糊查询
cmdOptionKana
2021-04-16 22:19:37 +08:00
建议生成伪数据试一下,反正伪数据也很好弄不麻烦。
rekulas
2021-04-16 23:22:29 +08:00
我们单表最大就在 x 千万级,配个 1w 多的机器毫无压力,朋友的 mysql 也有在亿级使用的,不过由于特殊查询的原因,已经在考虑换数据库
如果还担心 hold 不住,直接上云,阿里 polar 入门级一年也就几千,我们也在使用感觉挺棒,感觉普通亿级数据支撑应该问题不大
zhady009
2021-04-16 23:31:05 +08:00
数据仓库?
domodomo
2021-04-17 01:35:13 +08:00
其实没什么压力,你要真觉得压力大,简单的拆表就行了,毕竟业务也不复杂。
ch2
2021-04-17 01:35:24 +08:00
mysql 问题不大,mongo 也行
gBurnX
2021-04-17 08:30:58 +08:00
建议你还是先预估一下数据 io 的特点与数量,一上来就说 mysql 扛不住是不理智的。
skys215
2021-04-17 10:19:29 +08:00
只读取的话,mysql 有个 archive 引擎
maemual
2021-04-17 22:02:31 +08:00
其实还是得看查询有多复杂,如果查询够简单、索引做好,单表千万根本不算事。我们还有单表五六十亿的呢,毫无问题。
Evilk
2021-04-18 15:01:03 +08:00
@maemual 我们也是,单表上亿,毫无问题
tony601818
2021-04-18 15:40:21 +08:00
> mysql 这类关系型数据库,感觉有点扛不住

不要抹黑 mysql……想用非关系型的直接用,非关系型推荐上云提高开发效率。

读多写少到底是多少读多少写?
bthulu
2021-04-19 08:51:33 +08:00
只针对索引查询, Mysql 单表几百亿毫无压力
misaka19000
2021-04-19 10:46:41 +08:00
上千万的数据 1h1g 的 mysql 随便写
no1xsyzy
2021-04-19 12:48:51 +08:00
对于性能问题,在你实测之前抛出一句扛不住挺诡异的。
毕竟所有的数据库中,关系型数据库的优化是做得最充分的

你不应该写一些稀奇古怪的代码来提升运行效率,而应该采用最常用的写法,因为最常用的写法拥有最充分的优化。
Goat121
2021-04-19 15:40:19 +08:00
千万级还优化啥啊。。
godwinma
2021-04-19 17:11:36 +08:00
曾经我们的 mysql 但表 6 亿,也没什么问题,索引配置好。
MrWhite
2021-04-19 20:03:38 +08:00
@godwinma 6E?... 我们一千多万就分了。。
godwinma
2021-04-21 15:32:33 +08:00
@MrWhite 嗯,配合每隔几天定时删除一批+每天基本写入 1000w+的数据,坚持了一段时间,后来每天写入越来越多,最后就拆了。

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

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

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

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

© 2021 V2EX