如何扩展数据库以及何时对 MySQL 进行分片

如何扩展数据库以及何时对 MySQL 进行分片

💡 原文英文,约1300词,阅读约需5分钟。
📝

内容提要

本文介绍了水平分片作为处理数据库吞吐量和数据大小问题的一种解决方案,提供了更好的成本优化、更快的备份、恢复和模式更改、更好的SLA和可预测的水平可扩展性等优点。文章还列举了一些指标,表明数据库已准备好进行水平分片,并介绍了一些实施措施。

🎯

关键要点

  • 水平分片是处理数据库吞吐量和数据大小问题的一种解决方案。
  • 水平分片提供更好的成本优化和更快的备份、恢复及模式更改。
  • 数据库在达到CPU、内存、磁盘空间或IOPS等限制时,可能会导致查询延迟增加和业务中断。
  • 在考虑分片之前,首先应确保已用尽其他扩展选项。
  • 使用副本进行读取是MySQL扩展的常用方法,允许通过添加更多副本来继续扩展读取。
  • 垂直分片通过将逻辑表分组到新的集群中来扩展,但可能会带来更复杂的应用程序更改。
  • 水平分片通过将不同的行分配到共享相同模式的集群中来扩展。
  • Vitess是一个开源解决方案,使分片变得更加可及,不再是最后的选择。
  • 当数据大小、写入吞吐量或读取吞吐量达到极限时,可能是考虑分片的好时机。
  • 数据大小影响备份和恢复的时间,较小的分片数据大小提高可管理性。
  • 写入吞吐量达到极限时,可能会导致复制延迟和数据不一致的问题。
  • 通过水平分片扩展读取能力可以避免复制延迟带来的复杂性。
  • 分片不仅可以处理大数据量,还可以扩展读取和写入的吞吐量。
  • 分片的其他好处包括更好的成本优化、增加并行化和可预测的水平可扩展性。
➡️

继续阅读