主题:中间件情况下MySQL高可用选型
大纲:
1、我们一般把中间件跟MySQL高可用分开讨论,从您的分享话题来看,中间件指导高可用选型有什么特殊意义吗?
2、从目前看来仍然有很多公司在使用Mycat,他们也很迫切希望升级到DBLE,有什么建议给到他们吗?
3、前几天DBLE3.0也在腾讯课堂分享了,可以再跟我们分享下关于MySQL 8.0支持部分,有计划推出些什么功能适配吗?
4、爱可生的图解MySQL很不错,会不会推出图解DBLE呢?
嘉宾自我介绍
孙正方 资深研发工程师 任职爱可生信息技术股份有限公司,开源项目DBLE核心研发人员,拥有丰富的数据库中间件开发、咨询以及调优经验。擅长数据库中间件的问题排查和处理,对于线上中间件部分问题的排错有深入的实践和认知。
01
我们一般把中间件跟MySQL高可用分开讨论,从您的分享话题来看,中间件指导高可用选型有什么特殊意义吗
MySQL的高可用算是DBA比较传统解决的问题之一,相对来说有比较成熟的方案和处理方式。但是,在架构上面引入了中间件之后,传统的MySQL高可用设计会面临到新的挑战:
1 . 在中间件连接MySQL的时候有哪些MySQL高可用的方式依旧可以使用,而哪些MySQL高可用的方式不再适用?
2 . 用了中间件连接MySQL之后,MySQL的高可用是不是有部分内容可以得到简化,需要怎么简化?
3. 中间件在使用过程中是不是有必要和执行高可用切换的组件/平台进行交互,怎么交互会更加合理和安全?
这些由于引入了中间件所产生的MySQL高可用架构上面的变化在实际应用中多次遇到之后,DBLE项目对于这些由于中间件引入产生的新的高可用的形式进行了深入的调研和思考。
希望在此次直播中通过分享DBLE项目对于这类问题解决方案的演变历程,来给大家在上线中间件之后的高可用处理提供一些思路和参考。
02
从目前看来仍然有很多公司在使用Mycat,他们也很迫切希望升级到DBLE,有什么建议给到他们吗
虽然DBLE项目脱胎于Mycat,并且也有大量的配置和使用方法的兼容,但是我们也不得不承认,在公司内部生产环境替换中间件,不论在测试验证流程上,还是公司内部的项目管理论证上,都不是一个可以一蹴而就的任务。
在上述的前提条件下,我对于有意向使用DBLE进行替代的项目和个人的建议就是:不妨先起一个简单的测试环境试试看。
期间如果存在使用上面的困难和疑问,可以通过官方的支持群直接获取到开发者的直接指导和解答。在熟练使用DBLE配置以及熟悉了社区氛围的基础上,想必后续的中间件的更迭推进将会更加顺利。
03
前几天DBLE3.0的路线图也在腾讯课堂分享了,可以再跟我们分享下关于MySQL 8.0支持部分,有计划推出些什么功能适配吗?
主要是在两个方面对于8.0的新版本功能进行支持,一个方面就是关于兼容性方面,在8.0中引入新的认证插件,窗口函数,json函数,group语义的变化等,DBLE逐渐会在兼容性上面兼容上述的特性和语法。
另一些方面则是8.0引入的新功能带来的更加方便和高效的功能,比如数据直方图,MGR自动切换等等。
具体的支持项目排期和详细的支持计划会逐渐出现在DBLE项目在github上面的milestone里面,有兴趣的同学可以多多关注
04
爱可生的图解MySQL很不错,会不会推出图解DBLE呢?哈哈,可以给我们普及下中间件的各种算法
相对MySQL项目而言,中间件项目DBLE在功能规模和技术细节上并没有MySQL那么丰富,所以可能不会像图解MySQL这样提供一个专栏来做技术细节的介绍,可能会通过零散的公众号文章对于内部的机制进行介绍。
在DBLE3.0的故事中,我们将对于DBLE内部的代码运行进行更加细致的整理,并提供代码级别的trace功能,届时感兴趣的用户可以直接通过trace观察DBLE内部对于SQL的处理以及SQL执行的具体涉及的流程以及模块,甚至是部分的处理细节也会在trace的结果中可视化的展现出来。