前沿探索:腾讯云数据库自治服务最佳实现(下

时间:2021-07-15 | 标签: | 作者:Q8 | 来源:刘迪网络

小提示:您能找到这篇{前沿探索:腾讯云数据库自治服务最佳实现(下}绝对不是偶然,我们能帮您找到潜在客户,解决您的困扰。如果您对本页介绍的前沿探索:腾讯云数据库自治服务最佳实现(下内容感兴趣,有相关需求意向欢迎拨打我们的服务热线,或留言咨询,我们将第一时间联系您!

三、DBbrain行业典型案例分享

< font-size: 16px;">下面我们结合一个行业用户的案例,来给大家进一步分享数据库自治在实际的生产过程中如何应用。

< font-size: 16px;">电商大促大家都不陌生,腾讯云自身也支撑了非常多的大规模电商。那么电商在每次的大促过程中,如何利用数据库的自治服务,来保障自身的数据库安全?

< font-size: 16px;">在备战阶段需要进行故障梳理、资源评估等工作,在没有数据库自治之前,这些工作都必须电视播放广告由DBA来进行。一旦在某个环节出现了问题,或者业务出现了问题,往往DBA就变成了“背锅侠”,总能找出DBA的问题。

< font-size: 16px;">而使用数据库自治服务就可以有效解决上述问题。

1.数据库巡检,评估风险

< font-size: 16px;">首先,我们可以通过数据库巡检全量的实例,评估相应的风险。因为电商行业的实例很多,如果让DBA手动巡检,工作量是非常巨大的,所以常规DBA会进行核心实例的巡检,或者只对经常出故障的实例进行巡检,但这样就会有很多潜藏的风险。所以全量巡检、多维度巡检是非常必要的。

< font-size: 16px;">为什么说在这个地方可以发现问题?因为在备战阶段业务侧一般会封网,一旦封网,业务逻辑不到必要的bug修复时是不会调整的。所以在封网后进行全量巡检、排查问题,只要修复了那么在之后大促的过程中,就可以尽可能的减少问题。



< font-size: 16px;">数据库自治的巡检报告,包含从基本信息到资源状况、任务状态的巡检,以及日常的访问行为等非常全面的信息。

< font-size: 16px;">热点访问是非常关键的,很可能业务没有出问题,但冷热数据一旦没有进行区分,那么在并发量高的情况下一定会出问题。所以我们可以在用户封网后提供全链路的检查。

2.助力业务优化改造



< font-size: 16px;">在排查之后,我们还需要助力客户进行业务的优化。如图所示,我们把优化大致分为五层。

< font-size: 16px;">其中,SQL优化是大家非常容易上手、操作起来非常方便的一个优化,比如索引优化、改写优化等。其次还有更深入的配置优化、数据优化、架构优化和业务优化等。

< font-size: 16px;">之所以排为1-5,是因为在第一层的优化中,业务的配合度会比较高、改动比较小,随着逐渐深入,可能就需要业务侧更改代码逻辑。我们会根据业务不同的需求提供相应的优化建议。

3.业务场景的故障自愈

< font-size: 16px;">最后,我们发现还有一些问题。比如大促中临时的变更发布,导致因为数据库层面没有相应的应对措施,数据库被击穿或者压力很大。还有可能是低质量的SQL,在压力和数据量激增的情况下数据库出现问题。

< font-size: 16px;">面对这种情况,传统的方法一般是直接kill掉对话,持续kill或者定时kill进行降级。如果无法降级则进行重启或者HA切换,或者进行业务侧的应用回滚或者临时降级,但相对来说实践起来比较困难。

< font-size: 16px;">数据库资质DBbrain在这个时候就可以发挥作用。首先7x24小异常诊断与优化,可以在还未发生问题时就发现隐患,并提出优质的解决方案。此外,还提供了高并发场景的解决方案,并且可以自动持续的kill掉阻塞的SQL。

4.高并发场景解决方案

< font-size: 16px;">

< font-size: 16px;">刚才我们提到,DBbrain在高并发场景提供了数据库性能优化以及降级止损的解决方案。方案具体有三项:

< font-size: 16px;">(1)热点更新保护

< font-size: 16px;">在高并发场景中,经常出现对同一行数据的更新,在没有缓存的情况下,都会打到底层的数据库。为了保护和减小开销,针对语句的排队机制,尽可能把具有相同冲突的语句放在内存队列排队,通过开启热点更新保护来减少锁冲突的开销,提高高并发场景的数据库性能。

< font-size: 16px;">(2)SQL限流

< font-size: 16px;">顾名思义,就是帮助用户进行业务降级。限流的操作类似于改写,但技术方案不同。可以通过创建SQL限流任务,自主设置SQL类型、最大并发数、限流时间、SQL关键词,来控制数据库的请求访问量和SQL并发量,进而达到服务的可用性,不同的任务之间不会发生冲突。

< font-size: 16px;">(3)空闲事务自结束

< font-size: 16px;">自动结束(Kill)空闲事务,避免大事务未提交导致大量资源争抢。会自动识别开启的事务,如果开启事务后在一定时间内没有进行提交,会自动结束该事务。

四、数据库自治的未来展望

< font-size: 16px;">数据库自治在未来应该会朝着自愈、自优化的方向发展,不仅能自主调节索引建议,还可以自主创建索引,自动进行识别、添加和删除。

< font-size: 16px;">并且在未来还应该可以自动对企业危机公关论文报告执行计划进行回归修正,优化策略下沉与引擎融合,让用户需要干预的越来越少,提供的优化服务越来越多。

< font-size: 16px;">最后是能够自动识别并杀掉失控SQL,并阻止进行至优化完成,帮助数据库层面做更多业务层面的代码实现。



< font-size: 16px;">这些都是未来将要实现的功能,或者是数据库自治在未来能让大家看到的迭代或者技术点。

Q&A

Q:数据库审计功能很重要,特别现在等保也有要求。腾讯云数据库审计的功能是通过旁路审计,还是从proxy节点抽取日志?

< font-size: 16px;">A:腾讯云数据库的审计,是在内核层面实现的,并不像其他的审计功能需要外挂Agent,或者在接入机上安装采集的进程实现。

< font-size: 16px;">腾讯云的数据库审计,是在连接release之前,在语句提交之后进行规则匹配,如果命中规则便将内容转变成json,拷贝成审计的内容发回,批量进行Flush刷盘,最后存储到列式存储中,提供用户的查询,并且为数据库审计提供数据源。

< font-size: 16px;">在这个阶段,如果在return和连接release中间,审计规则配的比较复杂或者比较多,就可能会出现性能损耗,但这个损耗是非常低的,在5%以内。

< font-size: 16px;">腾讯云数据库的审计功能,与市面上其他审计相比的优势点在于,是通过内核侧实现,不需要再从旁路进行Agent审计,这样一是可以避免漏审,二是旁路审计抓到的只是SQL包,抓包解析有可能有些信息抓不到,而腾讯云数据库自治的审计除了常规内容之外,还能抓到SQL执行的一些相关信息,比如影响行数、扫描行数等。

Q:数据库走向自治后,DBA的工作内容有什么变化?

< font-size: 16px;">A:比如性能调优,故障恢复监控、帐号管理、实现高可用、数据备份部署、架构选型等,在数据库实现自治后,类似这些的重复、简单的工作都可以被协助实现。而DBA更多的会倾向于更有价值的、与业务侧结合更紧密的工作,类似于数据库架构师、业务架构师的工作。

Q:数据库的服务降级有哪些表现形式?

< font-size: 16px;">A:数据库降级服务主要有几种方式实现。比如SQL限流,用户最直观的感受是当SQL超过了数据库的承载量后,会被拒绝,在日志中会看到一个自定义的错误反馈。因为SQL限流是在语义解析器之后、优化器之前进行识别,当并发度超过我们设置的每秒并发,并且特征相符,就可以在进入优化器前进行拦截。另一种降级可以通过账号和权限来限制;还有一种也可以通过DBbrain“实时会话”中提供的持续kill来实现。

< font-size: 16px;">Q:DBbrain是否在SQL优化方面提供SQL优化预估的时间消耗?并且在提供索引建议的同时,提供一个按钮点击即可通过onlineddl手动建索引?

< font-size: 16px;">A:DBbrain现在给出的是cost分析。选择cost分析的原因,是因为cost更能体现出SQL在计算开销、内存开销、磁盘读取数据开销的代价特征,而时间往往是不准确的。比如在一个很空闲的系统中,执行一些比较费时的操作,时间往往很快,但一旦数据量突增、系统环境发生变化后,同样SQL的时间会变长很多,甚至是从量变到质变。而cost分析,哪怕是十行的数据没有加索引都可以识别出来,就会减少只通过时间分析导致的误判和影响。

< font-size: 16px;">对于提供点击的onlineddl手动创建索引功能,应该会在后续提供给大家,也是后续比较重要的一项功能,帮助完成从发现问题、定位问题、优化问题到最后执行,这样一个全链路的优化闭环。

前沿探索:腾讯云数据库自治服务最佳实现(下

上一篇:LinkedIn营销方法,帮你快速获得流量
下一篇:避免被Google处罚的5个SEO实用小技巧


版权声明:以上主题为“前沿探索:腾讯云数据库自治服务最佳实现(下"的内容可能是本站网友自行发布,或者来至于网络。如有侵权欢迎联系我们客服QQ处理,谢谢。
相关内容
推荐内容
扫码咨询
    前沿探索:腾讯云数据库自治服务最佳实现(下
    打开微信扫码或长按识别二维码

小提示:您应该对本页介绍的“前沿探索:腾讯云数据库自治服务最佳实现(下”相关内容感兴趣,若您有相关需求欢迎拨打我们的服务热线或留言咨询,我们尽快与您联系沟通前沿探索:腾讯云数据库自治服务最佳实现(下的相关事宜。

关键词:前沿探索:腾讯云数据库

关于 | 业务 | 案例 | 免责 | 隐私
客服邮箱:sales@1330.com.cn
电话:400-021-1330 | 客服QQ:865612759
沪ICP备12034177号 | 沪公网安备31010702002418号