前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >高性能MySQL第十一章 读书笔记

高性能MySQL第十一章 读书笔记

作者头像
用户7962184
发布2020-11-20 15:02:49
2250
发布2020-11-20 15:02:49
举报

第11章 可拓展的MySQL

  • 可拓展性表明了当需要增加资源以执行更多工作时,系统能获得划算的等同提升的能力。
  • 从不同的角度来考虑负载很有帮助,例如从数据量,用户量,用户活跃度,相关数据集的大小等。
  • 理想状态中的性能可以随着机器的增加而线性增长,但是在现实中,大部分系统只能以比线性扩展略低的扩展系数进行扩展。
  • 产生无法线性拓展的因素主要有两个因素,一个是无法并发执行的一部分工作,以及需要交互的另外一部分工作。
  • 使用更强悍的机器,垂直扩展,使用多台机器,水平拓展。
  • 规划可拓展性最困难的部分是估算需要承担的负载到底是多少。
  • 在短期内可以通过向上扩展和删除一些冷数据来争取实现向外扩展的时间。
  • 向外拓展 的方式有:按功能拆分,将互不相关的业务放到不同的mysql服务器上,数据分片,将同一类型的数据,根据某种规则去分配到特定的服务器上面去。但是分片实现相对复杂,如非必要,尽量不分片。
  • 在分片拆分的时候,那些数据之间相互依赖程度高的数据模型,是很难进行分片的。
  • 在适当的时候利用列数据冗余可以优化水平分片的完全冗余的数据存储。
  • 每个分片的大小可以相对小一些,这样有容易管理(修改表结构),便于转移。但是也不能太小,会产生太多的表。
  • 固定分片的主要优点是简单,开销低,甚至可以在应用中直接硬编码。但是难以扩展和迁移。最好使用动态分片。
  • 动态分区可以很方便的实现拓展,但是相对复杂。
  • 给分片表中设置步长可以生成唯一id。或者使用一个负责生成id的节点表,使用一些第三方工具如redis的inic(丢失了很麻烦)。批量申请id,或者是分片号+id去实现复合值。
  • 最好的拓展策略并不是一开始就建立一个超大的架构,最好的策略是实现应用所明确需要的,并为可能的快速增长做好预先规划。
  • 不必亲力亲为,有很多中间件已经实现得很好了,不需要重复发明轮子。
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 第11章 可拓展的MySQL
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档