目前能够知道的是有如下四种方案

1、kingshard、shardingsphere手动分表方案 mysql实体分表,所有的分表等操作都需要自己去维护
2、PolarDB-X阿里云开源的New Sql方案 可以做分布式和分片等 或者TiDB(需要大量的机器成本)
3、使用列数据库如Cassandra 不兼容SQL语句,需要单独做写和读的处理,并且查询条件没有mysql丰富,尽量要把格式定下来,不过写和读的性能还有扩容方面非常优秀

线上一个表目前是4千万的数据,4h8g的机器,平常是2%的cpu,40%的内存使用率,select count(*)全表读9秒,用索引的情况几十毫秒,由于分库分表带来业务及架构服复杂不确定性,所以能不分表就不分,只有等到无法通过添加机器和优化代码来提升性能的时候再进行分表方案的操作,这个情况下会比较合理。

最后修改:2022 年 10 月 15 日 06 : 29 PM
如果觉得我的文章对你有用,请随意赞赏