记一次大库大表的治理过程

💡 原文中文,约10400字,阅读约需25分钟。
📝

内容提要

该文章讨论了MySQL数据库的治理问题,包括降低磁盘使用率、降低主库QPS和消除慢SQL。介绍了大表数据结转、拦截无参数查询、查询切从库和慢SQL治理等治理方案。讨论了分库分表和迁云作为可能的治理方案。

🎯

关键要点

  • 文章讨论MySQL数据库治理问题,包括降低磁盘使用率、主库QPS和消除慢SQL。
  • 数据库目前是一主两从,硬件资源过保,存在故障风险和性能问题。
  • 磁盘空间占用情况较高,急需通过数据结转或删除来降低占用比例。
  • 存在大表问题,多个业务线共用一个应用导致数据混合。
  • 主库QPS远高于从库,需将部分查询切换到从库以降低主库负担。
  • 慢SQL查询影响系统稳定性,需进行治理。
  • 治理目标包括降低磁盘使用率、降低主库QPS和消除慢SQL。
  • 治理方案包括大表数据结转、拦截无参数查询、查询切换到从库。
  • 通过数据结转,成功降低470G磁盘空间占用。
  • 拦截无参数查询有效避免了因无参查询导致的慢SQL。
  • 通过分析接口调用量,成功将主库QPS降低30%。
  • 慢SQL治理取得显著成效,10s以上的慢SQL完全消除,5s以上消除80%。
  • 分库分表和迁云作为未来可能的治理方案,但需谨慎评估风险和成本。

延伸问答

MySQL数据库治理的主要目标是什么?

主要目标是降低磁盘使用率、降低主库QPS和消除慢SQL。

如何降低MySQL数据库的磁盘使用率?

通过数据结转和删除数据来降低磁盘使用率,成功降低了470G的占用。

治理过程中如何处理慢SQL查询?

通过设定针对性的治理措施,成功消除了10s以上的慢SQL,5s以上消除80%。

为什么需要将部分查询切换到从库?

因为主库的QPS远高于从库,切换可以降低主库的负担,保障系统稳定性。

治理方案中提到的拦截无参数查询的作用是什么?

拦截无参数查询可以避免因无参查询导致的慢SQL,从而降低磁盘繁忙度。

未来可能的治理方案有哪些?

未来可能的治理方案包括分库分表和迁云,但需谨慎评估风险和成本。

➡️

继续阅读