Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >MySQL 8.0的预研清单和计划

MySQL 8.0的预研清单和计划

作者头像
jeanron100
发布于 2021-04-22 06:43:38
发布于 2021-04-22 06:43:38
6410
举报

这是学习笔记的第 2342篇文章

最近在团队内聊了下关于MySQL 8.0的特性调研工作,其实线上已经稳定运行了近20%的业务,但是很多思维模式和习惯还是继承自5.7,所以需要与时俱进,在技能上能够引导开发同学,在后端的支持上能够做到游刃有余。

当然对于MySQL 8.0,有很多同学还是带有意思疑问,这个版本稳定吗,适不适合生产环境,如何平滑的升级到新的版本中,对此我们的调研工作需要做细做深,每一个技术点上都需要一些测评数据和对比数据的支撑。

我们经过讨论,锁定了一部分的特性内容,主要是从开发的角度来进行考量,还有一些特性是从运维管理侧来入手,这样一来就会形成两个分享方向,面向开发特性和面向运维管理。

其中带“*”的特性部分是和开发侧密切相关的,需要着重测试。

*1.驱动版本兼容性,jdbc驱动的变更

驱动的版本依赖性是相对于升级来说最需要关注的事情了,不能忽悠开发说没有任何变化,变化还是有的,但是需要清晰的定义出来。 *2.字符集和排序规则(collation)和使用建议

字符集的使用还是需要格外注意,尤其mb3和mb4的兼容情况。 *3.数据类型和一些变化,还有一些额外的细节,比如int(11)不建议,字段默认值 *4.JSON类型,创建索引

在我的经验中,业务愿意从5.5升级到5.7的最大原因就是因为JSON类型,希望在8.0里面能够带给我们更多的惊喜。

*5.索引基础

对于业务侧来说,如何正确的理解索引的实现原理是最基础的需求,通常来说,对索引基础的理解是很多开发性能问题的根因。

*6.索引优化:降序索引,隐藏索引,多值索引,函数索引

索引优化的部分属于进阶内容,这部分的内容还是需要和开发共同携手,至少在落地层面还是尽可能从测试环境开始入手。 *7.变更操作,字段变更,字段范围,哪些可以在线操作,基于5.5是否有改进

在线变更在8.0是一个亮点,基本的变更代价还是需要考虑的。 8.备份恢复,整体的备份恢复的支撑能力 *9.高可用方面,从5.7升级到8.0有什么影响,目前已经有哪些业务使用,哪些方面需要特意说明 10.MySQL 5.5升级到8.0的建议和策略

这里着重需要交付的是跨大版本升级的路线图,包括可能潜在的问题和需要格外注意的事情。 11.数据库参数的变化

参数的变化是最直接学习功能特性的方式 12.窗口函数

窗口函数还是带有一些想象空间的,但是在复杂度方面有一丝的顾虑,否则用不好就是“引狼入室” *13.密码插件,对于开发环境需要注意

大家一般在网上看到的升级到8.0最大的代沟就是密码插件变了,其实可以理解更深入一些。 14.双密码

在安全管理和运维的支撑方面是一个很强大的功能,尤其对于哪些安全管控严格的公司,每隔一段时间需要更换密码,这种场景简直有如神助。 15.资源管理

资源管理是一个需要入手的特性,能够在一定程度上使得管理更加主动可控。 *16.自增列的问题修复

自增列的使用其实是个伪命题,但是大家还很需要它,但是鲜有人知道自增列本身是有问题的,老大难的问题在8.0才修复。 17.binlog加密

安全层面的,show binary logs已经发生了很大的变化。 18.日志压缩

需要从多个维度进行压缩性价比的考量。 19.redo归档

这是一个需要格外关注的特性,归档也就意味着redo可以更加灵活。 20.新增mysql.innodb_ddl_log

这个特性让我比较纠结,但是还是希望能够深入测试一下。 21.派生表优化

优化器中的改进点,让人又爱又恨的派生表,至少还是有不小的改进空间的。 22.表连接优化

连接层面的优化需要关注,比如Hash Join *23.复制延迟优化

writeset的延迟优化改进很香,相关的使用和原理需要认真总结下。 24.8.0的权限规则

8.0的权限体系引入了角色,同时管理模式已经和oracle很相似了。 *25.count优化

count的优化确实很明显,相比于Percona同版本,社区版本已经体现除了很大的优势。

26.克隆插件

克隆插件式运维层面来说一个关键的特性,期望值很高。

各大平台都可以找到我

  • 微信公众号:杨建荣的学习笔记
  • Github:@jeanron100
  • CSDN:@jeanron100
  • 知乎:@jeanron100
  • 头条号:@杨建荣的学习笔记
  • 网易号:@杨建荣的数据库笔记
  • 大鱼号:@杨建荣的数据库笔记
  • 腾讯云+社区:@杨建荣的学习笔记
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-04-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 杨建荣的学习笔记 微信公众号,前往查看

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

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

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
从生命周期的角度来规划数据库运维体系
最近在和团队规划OKR目标的时候,我们讨论了很多问题,我先抛砖引玉,列举了一些现有的问题,打算按照推导的方式:
jeanron100
2021/01/13
1.2K0
关于数据库服务质量的问卷调研设计
最近在做年度规划的时候,一直在思考一个问题,怎么才能能够得到业务侧对我们服务质量的想法和建议,或者换句话来说,我们的价值和表现如果自我评判,一般来说都会有失偏颇,而且相对容易乐观悲观两极化,所以对于评判的形式,经过评估觉得还是问卷的形式要好一点,最主要的一个原因是我们要想得到别人对我们的评价,我们最好能够自己把问题想明白,理清楚了。
jeanron100
2021/03/16
9070
MyCAT和MySQL服务能力的对比梳理
今天下午对比了下MyCAT,MySQL和其他数据库的能力项对比情况,梳理了一个列表,因为篇幅原因,主要包含如下的一些能力项。
jeanron100
2021/10/14
1.1K0
MyCAT和MySQL服务能力的对比梳理
移动端接入数据库故障自愈的初步实现
对于节假日,难得的假期,尤其是外出的时候碰上几个数据库报警,那些报警又属于不得不处理的时候,真是让人上火,所以也想了一些办法来尽可能杜绝和避免这种情况。
jeanron100
2021/04/02
4020
对MySQL报警的一次分析处理小结
Metric:mysql.innodb_row_lock_waits Tags:port=4306,service=xxxx diff(#1): 996>900
jeanron100
2021/04/02
5130
我们为什么在MySQL中几乎不使用分区表
在Oracle中,使用分区表是一种很自然的事情,数据库容量基本都是500G起,大小在5T以上都是很常见的。
jeanron100
2021/03/16
1.8K0
MySQL数据实时克隆的初步设计
之前我们重点建设了数据克隆的一个服务,其实起这个名字也琢磨了好久,说逻辑备份恢复很多业务同学都不大能理解,GET到我们要解决的问题,而数据克隆的概念就比较清晰。
jeanron100
2021/03/16
6420
关于业务存储结构扩容的方案设计和思考
这是学习笔记的第 2417篇文章   今天和研发团队沟通一个数据存储方案的设计和改造,大体的背景是在数据库中有些id类数据,如果数据类型是int,则存在一定的溢出风险,在程序层面需要提前考虑修改为int64,在MySQL中可以简单理解为bigint.   我们假设这个id字段为uid,如果是用户业务,则很多业务逻辑都是和这个uid强相关的,那么就会存在大量的业务梳理和研发代码的接入,如果底层数据存储的压力和风险过大,则这个事情的改进周期和影响范围就会更难以评估和控制。      所以这个问题从长期来看是未
jeanron100
2022/05/12
6510
关于业务存储结构扩容的方案设计和思考
数据库环境标准化管理的初步规划
一般来说,业务能够稳定运行,大家主要聚焦的是线上环境的管理,相反对于其他环境的管理不够重视,而现实情况是这些环境的管理更需要标准化,通过统筹管理减少一些潜在隐患,才能在一定程度上减少线上环境的隐患。
jeanron100
2021/06/09
4860
MySQL延迟,深入逻辑解决只是时间问题
我的本意是先抛出一个系统层的解决思路,然后引出更有张力的解决方案,但是当时方案还没有验证完,不足为凭,最近的对比测试结果出来了,我就把一些结果附上。
jeanron100
2020/04/17
5660
MySQL 5.7和MySQL 8.0的4个细节差异
在这些年的MySQL升级需求中,让我大跌眼镜的一个现象是:驱动业务从MySQL 5.5升级到MySQL 5.7的很大一个因素是因为JSON这个特性。
jeanron100
2021/01/13
7.3K0
关于周期的思考和建议
今天脑海里蹦出了一个词“周期”,对的,周期。我觉得好像是一只无形的手,像是路口的红绿灯,路边的指示牌,能够通过这些规则的变化让交通秩序稳中有序。
jeanron100
2021/04/02
5140
运维开发体系升级的思考
在大概4年前,我们算是从0到1的构建了现在的数据库运维开发体系,这个过程有较长的启动周期,从我个人主导到后来的成员独当一面,从零星的功能建设到现在有了相对体系化的建设,现在想想真是不易。
jeanron100
2021/09/02
6070
MySQL中间件集群平滑迁移的初步方案
最近有一套MySQL集群环境的服务器即将过保,为了避免后续带来的一些额外问题,需要提前考虑服务器的迁移计划,但是现在的线上业务,申请维护时间是比较困难的,而且在线变更的容忍时间是很短暂的,一般在业务层也有容错机制,比如超时时间,容错次数等,所以希望整个方案是可控并且变更时间对于业务侧是清晰的。
jeanron100
2021/03/16
9940
一个MySQL建表需求的讨论和引导
昨天收到一个业务同学的需求邮件,一般有些复杂的需求业务同学会发邮件告知我们,需要我们评估之后再做交付,我看了邮件之后,发现这个需求好像有点别扭,大体的意思是在中间件的环境中创建一张表,表结构如下:
jeanron100
2021/03/16
2.8K0
数据库年度规划工作的方法论
春天来了,也到了新的财季,新的年度规划也要开始了。我相信很多同学都会有一种茫然的感觉,一年到头有做不完的事情,同时也感觉规划和实际落地会有很大的差距。
jeanron100
2021/04/22
5550
数据库年度规划工作的方法论
职场老鸟需要提升的四个方面
这是学习笔记的第 2411篇文章  今天和同事在聊天的时候,我们谈到了一个有意思的问题,那就是对于工作的业务价值和技术价值的衡量。具体的维度和考量就不细说了,大体的意思有两点:首先是不要什么事情都需要上纲上线,时间长了难免会焦虑,都想往价值上去靠,挖空心思包装自己的说法,会更让自己陷入迷茫之中;第二是得有一个轴,也就是我们在一段时间里做事情,一定是有轻重缓急,那么这个核心的轴我们得把握中,而且得把握平衡,否则就是撒芝麻,没有轻重,全是碎片化。 同时在我的观察中,我发现很多职场老鸟都在如下的几个方面存在或多
jeanron100
2022/03/31
2790
职场老鸟需要提升的四个方面
DBA得给自己敲响警钟了
最近两天也看到了一些文章,里面提到了关于DBA这个岗位的不务实,或者说这个岗位存在着一些危机,从我的视角来看,这是一件挺好的事情,算是给我们这个岗位敲响了警钟。
jeanron100
2023/02/28
5190
DBA得给自己敲响警钟了
维护之夜,说点故事和经验
人内心的默契就是这样,今天要写的标题和几年前一模一样,干脆在原来的基础上做一些补充。
jeanron100
2021/04/23
4170
梳理工作的一点小结-20220309
这是学习笔记的第 2407篇文章   最近在梳理工作的时候,做了一些小结。   首先是对于工作情况的量化,如果我们只是说自己做了什么什么事情,可能洋洋洒洒几十页ppt,也会让别人看得云里雾里,如果不是这个专业方向的人,基本都会有点晕菜,所以对于这个事情的抓手就是需要有一个参考基准,有了这个基准,你所做的事情都有一个对比,到底是多了还是少了,多了多少,少了多少,具体哪些多了,哪些少了都可以通过数字量化得到答案。     比如对于数据库服务能力的量化,我是选用了信通院开发的这个模型,通过评估惊人的发现我们做
jeanron100
2022/03/10
4880
推荐阅读
相关推荐
从生命周期的角度来规划数据库运维体系
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档