MySQL 社区 - 扩展

MySQL Community - Scaling

我在一个承受极端负载的环境中工作。它是一个数据库,由大约一千名用户使用一个应用程序。此应用程序对数据库执行数千次查询。我们注意到随着时间的推移性能会显着下降,并且正在寻找解决此问题的长期解决方案。当然,查询优化是我们正在做的工作之一,我们也在优化索引;但是,这不足以看到我们需要的性能提升。

我在 SQL 服务器工作了几年,但我的 MySQL 知识有限。为了开始扩展 MySQL,我研究了 Sharding,但由于我们使用的是 MySQL 社区版,我担心这会导致比它值得的更多的麻烦。唯一的另一种可能性是重新设计应用程序,特别是它如何从数据库中提取数据,但我宁愿不这样做。

所以我的问题是,分享值得追求吗?没有MySQL的企业版可行吗?您是否可以推荐另一种可能性?

使用 long_query_time=1 打开慢日志。等一天。使用 pt-query-digest 来识别 'worst' 可能的查询。然后让我们讨论一下。有时它涉及到 'composite' 索引的简单添加。

也就是说,查询速度慢几乎总是导致缩放问题的原因。

如果我们解决了这个问题,然后我们可以讨论分片和其他重要的方法。

我们必须看到 SHOW CREATE TABLE 和其他线索。