数据库单表数据量过大

2019-03-07 21:44:08 +08:00
 a7217107

mysql,单表 1000W 左右,还在继续往上加,emmm,请问除了 mycat 还有啥好的中间件吗?还是手动水平分表?

7008 次点击
所在节点    Java
29 条回复
jzmws
2019-03-07 21:55:06 +08:00
借楼有什么好用的 oracle 分表中间件
cz5424
2019-03-07 22:00:41 +08:00
分区
opengps
2019-03-07 22:13:16 +08:00
先考虑表分区,其次考虑分表,下一步考虑分库
ghostsimon
2019-03-07 22:15:26 +08:00
单表 30 亿,分库,根据时间分表,运行的还不错。
richard1122
2019-03-07 22:19:45 +08:00
1000 w 索引设计好的话应该还距离瓶颈远的
GGGG430
2019-03-08 02:08:32 +08:00
@cz5424 @opengps 分区的话以后查询就得带上分区字段了,感觉不太好
GGGG430
2019-03-08 02:11:08 +08:00
借楼问一下以一个唯一 uuid 作为唯一索引的表如何水平分表较好,采用 hash 算法+取模如何呢?各位大佬
yanaraika
2019-03-08 03:44:19 +08:00
短期 sharding-jdbc。长期来看不管现在的很多 DBA 怎么阻挠,NewSQL 迟早会是主流,中间件分库分表都是 poor man's choice
ihipop
2019-03-08 07:58:05 +08:00
tidb
billwang
2019-03-08 08:17:51 +08:00
一千万级的表不算过大,大型业务系统到这个数量级别轻轻松松。建立好索引,sql 尽量不要用全表查询。
ducklyl
2019-03-08 09:12:06 +08:00
要考虑未来数据量有多大,上亿的话,水平切分
jiom
2019-03-08 09:13:24 +08:00
@ghostsimon +1。
chaleaochexist
2019-03-08 09:24:51 +08:00
@yanaraika NewSQL 是啥...
chaleaochexist
2019-03-08 09:25:18 +08:00
@yanaraika 查到了.谢谢.
saltxy
2019-03-08 09:27:04 +08:00
@ghostsimon 有用什么中间件吗,还是自己处理 sql 路由
loveCoding
2019-03-08 09:34:19 +08:00
ghostsimon
2019-03-08 10:37:09 +08:00
@saltxy 用的其他厂家的数据库平台,看日志和报错应该是用 mycat,但是肯定有不少二次开发。具体技术细节就不清楚了。
xiaoidea
2019-03-08 13:52:12 +08:00
建好索引 1000W 不是事,上 SSD,减少复杂查询,复杂逻辑在业务代码里处理。我的经验是单条查询能在 10ms 以内返回。楼上有人提到的 sharding-jdbc 分表也不错
firstfire
2019-03-08 14:04:18 +08:00
正在使用 sharding-jdbc。(楼上也有提到。
leon0903
2019-03-08 14:45:11 +08:00
1000w 对于 mysql 还是没什么问题的。像 ls 说的那样,用 ssd,建好索引,速度不会慢。我们这里生产环境有些单表 4000w,照样很快。

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

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

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

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

© 2021 V2EX