连接上阿里云RDS后,了解了它的另一项服务,墙裂推荐的DAS自治服务。..1:自治服务可以对异常进行事件检测,可以在几分钟内检测到,也可以订阅事件,自动发送通知。SQL自动限流的功能感觉挺高级的。通过全量sql和performance_schema中的信息,一般有三种sql,即阻塞SQL(DDL操作,锁等待,大事务),慢SQL(并发量不高,但是消耗很大)CPU和IO资源),流量型SQL(并发量很大),对于后两种情况,如果开启自动限流功能(也可以设置触发条件),可以自动拦截,保护数据库,不过话又说回来,实际商家敢用这个功能吗?SQL自动优化,可根据SQL全量进行SQL诊断,自动创建和删除索引。自动性能扩展可以在支持容量不足时自动增加数据库规格。看起来是个很好的功能,但是也涉及到计费问题。自动空间扩容,这个功能还是挺强大的,当容量不够的时候,会自动扩容。如果是自建数据库,扩容是个大工程。智能压测,这个功能挺有意思的,就是replay源库的sql,但是DDL动作怎么replay呢?智能调参,真的不需要懂mysql参数配置?使用服务的前提是了解服务。2:监控性能趋势和实时性能,看阿里云认为哪些指标重要。可以实时查看和趋势,比如tps,qps等,目前性能比自建mysql高很多。性能洞察作为负载监控、分析、性能调优的利器,通过直观的方式对SQL进行优化,找出问题根源,从而提高数据库的稳定性。一个比较好用的功能是自动优化SQL索引,非常实用。性能异常检测和一键诊断功能,最终报告数据库实例的监控状态。3:Alarm支持数据库级别和系统级别的各种告警。4:慢SQL和全SQL的SQL分析,真的很实用。它可以告诉你哪些SQL被调用频繁,哪些消耗资源较多,这对数据库很有帮助。此外,它还可以提供10秒的SQL分析功能,相当于执行showprocesslist语句,结合session管理功能,了解mysql最近执行了什么语句。5:SQL审计主要靠大数据分析,看SQL是否存在SQL注入风险。6:诊断其实和监控是高度耦合的,主要是一键诊断功能。从DAS提供的功能来看,主要还是靠数据分析,尤其是fullSQL和performance_schema的分析。整体架构图如下:DAS解决了数据库运维管理的痛点。糟糕的索引设计,如何发现慢SQL;决策需要数据支持,以便快速定位;管理成本高,需要专业人才;数据库是核心资源,风险很高。最后,DAS服务不仅可以监控Mysql,还可以监控Redis、MongoDB等;不仅是RDS,还有自建MySQL,在云时代真的省心不少。
