一、阿里云数据库DBaaS简介
云数据库诞生之前,用户往往需要自建数据库或由供应商负责搭建数据库,但用户需要对数据管理与数据库管理进行全权兜底,这对于用户来说是不小的挑战。
云原生数据库诞生之后,用户可以将专业的事情交给更专业的云数据库来实现,比如可以通过DMS进行一站式数据管理,通过Open API用户控制台购买云数据库实例。而DBaaS相当于云数据库的操作系统,可以通过DBaaS加速数据库内核快速实现商业化和服务化。
DBaaS已经通过信通院《数据库管理平台》满分认证,也能够帮助基于DBaaS的产品快速通过认证。
提效是当前大多数企业的关键词。对于企业而言,降本增效诉求强烈;对于开发人员而言,平台多、种类多,需要对开发效率进行提效;另外伴随着规模越来越大,运维成本也越来越高,运维也急需提效。
二、云原生DBaaS全面升级
Serverless化是大势所趋。DBaaS提供了弹性设备的基础设施,为产品快速实现Serverless化提供平台支撑。
DBaaS本身已经掌握了所有数据供决策中心使用,将策略下发,节点根据用户负载的预测进行调整即可。但我们无法100%准确地进行预测,当有突发情况发生时,节点也需要有秒级弹升能力,实现治标且治本的效果。
如果有端侧的实际操作与中心策略不吻合,则会将此类情况上传到决策中心,中心根据反馈进行学习与调整。
为了实现秒级弹性,我们将调度系统与资源池进行联动,得益于阿里云资源池的优势,能够快速从资源池获得大量资源,并且在不需要资源时可快速释放。可以在保障SLA的前提下,能够实现最快速度、最小成本的弹性。
DBaaS通过其弹得快、弹得细、弹得稳以及弹得广的特性,帮助用户解决了资源的效率问题。
另外,伴随着开发架构的复杂化,开发效率问题也日益凸显。而提升效率最简单的解法即解耦。
我们将DBaaS的组件进行了非常详细的梳理,抽取出核心部分组成非常轻量的架构,以保证核心功能可快速运行起来,在本地实现分钟级拉起。需要开发核心功能时,可以直接在本地进行快速调试。另外,各种组件可按个人需求插件化接入,实现快速开发。
基于DBaaS构建数据库服务时,如果只需要开发数据库内容,则无需加入其它组件,可以快速迭代、快速更新。如果需要与备份服务联调,则通过配置的方式加入相应模块即可。
另外,DBaaS提供了从开发到自动化测试到部署的全平台、端到端到 CI/CD 流水线,使得应用能够快速实现开发、测试、部署、上线。
我们也构建了非常强的可观测能力。比如可以根据提供的数据,快速搭建Top结构的展示。优秀的可观测能力在一定程度上解决了从开发、部署到运维过程中的问题。
三、AI助力数据库智能化管理
而随着运维规模愈发庞大,单纯的Dashboard和告警也不再能够满足业务需求。因此我们需要通过 AI 助力数据库的智能化。
我们将可观测系统与调度、运维等系统打通,实现闭环,实现了端到端的、可观测的运维体系。
过去几年,我们在线上积累了大量操作经验,问题规模越来越大时,操作规则也越来越多,每天产生了近千亿次异常检测。而海量数据正是机器学习的基础,因此,我们与达摩院强强联合,推出了数据库智能管理的能力,且该能力与国内相比存在两年多的技术代差。同时,我们将技术经验整合成大量论文,发表在顶会期刊,分享给业界。
据统计,70%的数据库性能问题由SQL导致,70%受访DBA认为SQL优化是最耗时的工作。因此,我们将内部能力产品化后推出了数据库自治服务DAS。
比如数据库在第一分钟时出现慢SQL导致服务下线,则DAS可自动在1分钟内对数据库进行限流,限流之后用户服务即可恢复,从感知到修复仅需不到2分钟。同时,DAS还可对慢SQL原因进行分析,比如发现原因为索引建立不合理,则可自动对索引进行优化,然后自动解除限流,一定程度上从原先的治标转变为了治本的效果。另外该种情况下,如果得到用户授权还可自动进行扩容;如果未得到授权则会建议用户进行扩容。
我们希望通过云原生、智能化的DBaaS,让用户的使用更简单,让阿里云数据库更快、更稳、更安全、更好用。