通过优锐课核心java学习笔记中,我们可以看到,码了很多专业的相关知识, 分享给大家参考学习。
之前,我们讨论了MySQL分片的应用程序和设计挑战以及可能导致并影响你的业务灵活性的一些相应业务挑战。 但是,MySQL如何应对DevOps挑战呢?
作为参考,以下是有关MySQL分片的简要说明:MySQL分片是将MySQL应用程序工作负载划分到多个不同的MySQL数据库服务器上的策略,从而允许查询和数据CRUD操作散开。 它围绕MySQL的单一写主体系结构工作,尽管具有权衡取舍,但仍具有扩展写和读的能力。 这是一个很大的DevOps项目。
而且,由于我们已经了解了MySQL分片对业务规则支持的挑战,因此我们来看看“屋后”:MySQL分片的DevOps挑战。
1.数据维护
一旦选择了分片密钥,就需要在MySQL服务器阵列中物理分布数据。 这些服务器中的每一个都将需要其自己的数据库才能拥有自己的一组数据分区。 初始数据分发可以是手动的; 那更多的是“一次性设置”。但是,随着工作量的增长会发生什么? 理想情况下,每个碎片都平均增长,但有时生活会发生...
碎片增长和热点
MySQL分片阵列存在两个主要的正在进行的数据维护能力挑战:
- 碎片增长
- 碎片热点
分片增长意味着你的一个或多个分片已准备好超过基础服务器的存储容量。热点意味着你的一台或多台分片服务器即使没有达到存储容量,也正在争用CPU或网络流量。分片增长和热点都会导致服务器性能下降,并且都具有类似的解决方案:拆分本地分片,然后将数据(例如一半)移至其他MySQL服务器。这为DevOps带来了巨大的工作。
从业务角度来看,碎片增长是积极的;增长是好的。但是,这种增长代表着一些DevOps挑战,