用户7962184
高性能MySQL第十一章 读书笔记
关注作者
前往小程序,Get
更优
阅读体验!
立即前往
腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
工具
TVP
最新优惠活动
文章/答案/技术大牛
搜索
搜索
关闭
发布
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
用户7962184
首页
学习
活动
专区
工具
TVP
最新优惠活动
返回腾讯云官网
社区首页
>
专栏
>
高性能MySQL第十一章 读书笔记
高性能MySQL第十一章 读书笔记
用户7962184
关注
发布于 2020-11-20 15:02:49
243
0
发布于 2020-11-20 15:02:49
举报
文章被收录于专栏:
没事多喝水
第11章 可拓展的MySQL
可拓展性表明了当需要增加资源以执行更多工作时,系统能获得划算的等同提升的能力。
从不同的角度来考虑负载很有帮助,例如从数据量,用户量,用户活跃度,相关数据集的大小等。
理想状态中的性能可以随着机器的增加而线性增长,但是在现实中,大部分系统只能以比线性扩展略低的扩展系数进行扩展。
产生无法线性拓展的因素主要有两个因素,一个是无法并发执行的一部分工作,以及需要交互的另外一部分工作。
使用更强悍的机器,垂直扩展,使用多台机器,水平拓展。
规划可拓展性最困难的部分是估算需要承担的负载到底是多少。
在短期内可以通过向上扩展和删除一些冷数据来争取实现向外扩展的时间。
向外拓展 的方式有:按功能拆分,将互不相关的业务放到不同的mysql服务器上,数据分片,将同一类型的数据,根据某种规则去分配到特定的服务器上面去。但是分片实现相对复杂,如非必要,尽量不分片。
在分片拆分的时候,那些数据之间相互依赖程度高的数据模型,是很难进行分片的。
在适当的时候利用列数据冗余可以优化水平分片的完全冗余的数据存储。
每个分片的大小可以相对小一些,这样有容易管理(修改表结构),便于转移。但是也不能太小,会产生太多的表。
固定分片的主要优点是简单,开销低,甚至可以在应用中直接硬编码。但是难以扩展和迁移。最好使用动态分片。
动态分区可以很方便的实现拓展,但是相对复杂。
给分片表中设置步长可以生成唯一id。或者使用一个负责生成id的节点表,使用一些第三方工具如redis的inic(丢失了很麻烦)。批量申请id,或者是分片号+id去实现复合值。
最好的拓展策略并不是一开始就建立一个超大的架构,最好的策略是实现应用所明确需要的,并为可能的快速增长做好预先规划。
不必亲力亲为,有很多中间件已经实现得很好了,不需要重复发明轮子。
本文参与
腾讯云自媒体同步曝光计划
,分享自作者个人站点/博客。
如有侵权请联系
cloudcommunity@tencent.com
删除
前往查看
数据库
云数据库 SQL Server
sql
本文分享自
作者个人站点/博客
前往查看
如有侵权,请联系
cloudcommunity@tencent.com
删除。
本文参与
腾讯云自媒体同步曝光计划
,欢迎热爱写作的你一起参与!
数据库
云数据库 SQL Server
sql
评论
登录
后参与评论
0 条评论
热度
最新
推荐阅读
LV.
文章
0
获赞
0
目录
第11章 可拓展的MySQL
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
产品介绍
产品文档
云数据库采购特惠,高性能、高可靠、高安全,超值优惠等你享!
领券
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档
0
0
0
推荐