MySQL 处理亿级别的数据怎么做?

echoless · 2024-9-3 19:17:52 · 304 次点击
面试的时候被问到这个.

面试官的问题是要设计一个交易所, 支持亿级别的 CRUD.

我被问住了, 我的有限经验 Postgres 接近过了亿级别, 就很有点慢了.

当时一直找不到好的解决办法.

我就说要 sharding 一下, 分库分表实际上也是 sharding 的思维.
举报· 304 次点击
登录 注册 站外分享
28 条回复  
awalkingman 小成 2024-9-3 19:34:42
上来就要设计一个交易所,亿你麻痹亿亿亿。
prodcd 小成 2024-9-3 19:37:44
我这有个 MySQL 表,结构比较简单,类似 key/value 结构,再加个 datetime 用来分区,7 亿数据量,查询带着 datetime ,速度没任何问题。感觉只要能将查询落到分区里,速度不会有什么明显变化。
luoyou1014 小成 2024-9-3 19:39:34

MySQL 处理亿级别的数据怎么做?

表结构尽量简单,确保查询要走到索引,复杂查询拆开,便于优化,上 SSD ,读写分离,可以支撑到 10 亿级别数据
再往上可以用分区功能,我的经验只到 20 亿级别,没有开分区,也扛住了。
GeekGao 小成 2024-9-3 19:59:30

MySQL 处理亿级别的数据怎么做?

就这些主要的
https://i.imgur.com/gimohdq.png
esile 小成 2024-9-3 21:19:51

MySQL 处理亿级别的数据怎么做?

MongoDB 高过 10 亿的,MySQL 百万级别优化不好都会卡吧。
june4 小成 2024-9-3 21:27:06

MySQL 处理亿级别的数据怎么做?

性能和查询有没有优化到位有关,和表数据多少关系不大,百亿表优化了照样正常用
Mrun 小成 2024-9-3 21:31:21

MySQL 处理亿级别的数据怎么做?

只要索引设置合理,mysql 单表存储几十亿并不是什么很难的事情。
esee 小成 2024-9-3 21:50:12

MySQL 处理亿级别的数据怎么做?

索引设置合理,没有太多联表操作的话,上亿并没有什么问题,我的数据表已经 4 亿了,也没有性能问题,本来设想的是出现性能瓶颈再分库分表,现在看来完全是想多了。不过我用的阿里的 RDS ,可能硬件性能硬盘的 IO 也是一个很重要的指标。
xiuming 小成 2024-9-3 21:50:53

MySQL 处理亿级别的数据怎么做?

用中间件 vitess 之类
123下一页
返回顶部