本站使用 Cookies,继续浏览表示您同意我们使用 Cookies。 Cookies 和隐私政策

  • 2021-10-15

云集技术学社 | RDS技术发展及主要技术能力

8月19日,深信服数据库规划负责人Austin在信服云《云集技术学社》系列直播课上进行了《RDS技术发展及主要技术能力》的分享,对RDS的起源、发展和现状、RDS常见的技术能力、业界主流RDS方案、RDS未来趋势进行介绍,以下是他分享内容摘要。 

看点一:RDS的起源发展与现状

数据库的发展,最早在IaaS层面探索。虚拟化技术带来了从物理服务器到虚拟机的转换体验,而在IaaS层数据库主要是在虚拟机中自建的方式使用。随着IaaS层面比较完善之后,人们开始思考数据库在PaaS层的设计与建设。

一般来说,企业的DBA(数据库管理员)工作量大且复杂,除了日复一日地进行数据库安装、部署、巡检、备份、恢复,为数据库的正常运行负责外,其工作难度主要还体现在:

1.基础设施和数据库种类繁多,需要不同的专业知识和能力,高级DBA专家覆盖成本高昂;

2.未经完善产品化测试的运维脚本在异常场景上的考虑往往不够周全,且人工操作难免错漏,难以保障服务质量,反而有可能成为事故之源;

3.日常运维工作使DBA时间碎片化,工作重复且繁琐;

4.不同SLA的数据库需要不同的安全配置,备份策略、高可用架构等均不同,管理员精力往往只够保障少数核心数据库。

复杂、冗长、容易出错的数据库部署流程犯错的几率较大,而不规范运维、人为操作失误往往带来巨量损失。哪怕花了很多功夫做了很多次备份,依然存在失效的可能。此外,企业建设高可用架构还存在着涉及面多、操作易出错、技术门槛要求高、故障处理时间长、对业务影响大等弊端。为了解决这些难题,诞生了RDS模式。

早期数据库的运维可以通过厂商工具来解决,类似Oracle的OEM、MySQL的sqlworkbench、navicat等,随着互联网和云计算的兴起出现了RDS和DBaas。在云计算资源的使用上,从最开始只是使用IaaS层基础资源,转向使用包括云数据库在内的各类PaaS资源。

数据库是企业IT架构的核心部分,RDS关系型数据库服务已经成为企业重度依赖的云服务。信息技术研究和顾问公司Gartner指出,云将主导数据库市场的未来,到2022年,75%的数据库将被部署或迁移至云平台,只有5%的数据库会考虑部署在本地。 

看点二:RDS常见的技术能力介绍

RDS实例一键部署

将数据库的最佳实践配置在产品界面上,用户根据产品向导完成数据库部署,避免误配置,规避隐患

数据库生命周期管理

一是参数管理,预置调优过的参数模板,可在部署阶段直接选用并支持在平台页面调整内部参数,共计160+项,无需登录数据库即可调参;

二是账号管理,在部署阶段即创建管理账号。数据库内部的账号,分为管理账号和普通账号,均可统一在平台进行管控,可自行定义普通账号权限,包括只读、读写、DDL、DML;

三是库管理,对数据库实例创建不同的库并给不同的库关联上不同的账号;

四是资源层管理,可以对CPU、内存等配置进行更改,以及可以磁盘空间、数量进行修改。

数据库备份以及恢复

RDS自带数据库级备份能力,有效保障事务一致性,无需依赖复杂的人工脚本操作或者昂贵的备份软件。轻松实现数据库主从集群备份,优先备从库降低业务性能损耗;增量备份可提高存储利用率,降低成本。

数据库集群高可用架构

RDS的部署过程就自带高可用架构,有个管理面维护主从架构、有监控程序进行主从切换,管理面维护集群架构的拓扑关系,在单个节点或者整个集群故障之后进行故障修复。

数据库监控与巡检

监控巡检系统首先由指标采集组件对不同数据库的各项相关数据(系统数据、网络数据、数据库数据、消息和事件)进行采集。然后采集的数据经由收集系统Collector进行汇总整理,存储至时序数据库TSDB。最后再通过数据处理模块对数据进行实时处理,分别由巡检中心生成巡检报告、告警系统触发告警、展示服务提供UI呈现。

读写分离、横向扩展架构

读写分离一般运用于读多写少或者高并发的未知场景。由于云计算的扩展的一些特性,让RDS可以在数据库这一层也可以做到横向扩展的架构。目前常见的是通过中间件去实现7层的自动读写分离,让主数据库处理事务性增、改、删操作(INSERT、UPDATE、DELETE),而从数据库处理SELECT查询操作。数据库复制被用来把事务性操作导致的变更同步到集群中的从数据库。然后通过扩容只读节点来增加数据库的只读实例。

数据库容灾与切换

一般采用本地高可靠+异地容灾的方式作为解决方案,例如对于MySQL而言采用3节点方案,本地一主一从+异地备库,Oracle本地RAC+异地DG的方案。部署的时候不同节点可以支持跨在不同的机房中,实现跨节点的冗余,当然前提是需要跨集群的网络可以打通。一般搭配DNS、负载均衡等设备然实现故障时候的业务切换访问恢复机制。

在数据保护力度上,RTO/PRO满足历史数据恢复、开发测试多版本数据构建等需求;CDP,秒级RPO,数据库日志解析同步技术;CDM,秒级挂载,秒级完成快照挂载,并自动生成数据库实例,全增合并,后台自动完成合并,降低任意时间点数据的恢复时间。

为了保障可用性,RDS可以按需定期弹性做恢复演练,并支持发送演练报告到指定邮箱,支持实现低成本以及便捷的恢复演练能力。

SQL分析与优化

RDS可以实现快速诊断,按照不同的实例做多维度的统计信息,包含总SQL条目、总执行次数、总延迟时间、总锁等待时间、平均查询延时、平均锁等待时间等。基于机器学习和细粒度的监控数据,实现7×24小时的异常检测,相比基于阈值的告警方式,能够更为及时的发现数据库的异常变化。

RDS还可以提供问题处理建议,并且自动化处理问题。基于机器学习和细粒度的监控数据,实现7×24小时的异常检测,提供自动SQL限流、异常快照、自动SQL Review和优化、弹容量评估、存储空间自动扩展、计算资源自动扩展等功能,实现了诊断流程的闭环,优化效果可量化。如果数据库遇到缓存穿透、异常流量等问题,传统的解决方案中没有好的解决方案,只能接受业务崩溃或者寄希望于开发进行处理,自动SQL限流可以直接快速的发现异常并识别到异常SQL,自动触发限流操作,5分钟内帮助业务恢复。

数据库审计

当企业要进行等保合规建设、企业的系统面临安全问题时,或者当企业内部多个业务部门及应用厂商驻点开发人员都要去使用数据库时,就要求数据库有审计的能力。而在RDS中,针对数据库审计有着四大功能:

一是全面的安全规则,除了内置大量SQL安全规则,还可根据业务需要自定义各种场景的安全规则,对于违规的数据库访问可进行实时警告和阻断;

二是导出、收藏与订阅功能,支持按天、周、月订阅报表,用户可直接进行拖拽组合,方便灵活,为用户提供结合自身业务特性的订阅报表,让数据库管理更简单;

三是精细化的数据库权限管控,支持各类元素的配置,支持针对各类SQL语句命令以及访问程序名对用户做权限管控;

四是日志查询与统计分析,TB级日志秒级查询,支持14种数据库行为、趋势或SQL预计的分析报表,可从5种维度进行数据库分析。

数据库迁移DTS

看点三:业界主流RDS方案介绍

公有云RDS服务

公有云常见RDS产品分别是MySQL版、SQL Server版、MariaDB版、PostgreSQL版。深信服也有托管云RDS的服务。RDS价格按计算规格、以包年包月或者按量付费的形式进行收费,会提供数据库备份存储空间,超出按照存储空间收费;针对异地备份服务(DBS)、数据库迁移费用(DTS)、自治服务(DAS)等高级能力单独收费;提供高级专家人工服务,独立收取服务费。

私有云RDS服务

自建本地数据中心,构建私有云环境,通过数据库服务目录,提供数据库服务,适应企业云、教育云、政务云等场景。产品能力上和公有云RDS基本类似,使用模式上会有差异,服务资源为自有,按需使用即可无按量计费模式。 

独立DBaas平台

本地数据中心场景为主,并非整个数据中心建设云服务,而是通过构建单独的数据库资源池平台,或者是采用独立数据库管理平台软件,实现DBaas(数据库即服务)平台的搭建。独立软件交付在部分功能的体验性相较于云服务RDS会略微有差异。

云端数据库专家服务

从企业的发展性价比的选择上以及发展的规律上看,一般企业都会使用上述的公有云、私有云等产品来解决数据库运维的日常问题。但是总有些疑难杂症难以解决,这时候企业会购买云端数据库专家服务来保证安全问题的兜底。

看点四:RDS未来趋势介绍

Austin认为随着互联网和云计算技术的不断发展,RDS的未来发展会呈现三种趋势。

一是更加自动化、智能化

从最符合企业的经济效益来讲,产品的高度自动化、智能化一定是最佳的实践方式。从人力成本上考虑,企业无法请大量高级DBA来运维数据库。从最初数据库的脚本化到工具化到现在的产品化,我们可以看出自动化智能化的趋势十分明显。未来数据库产品化的发展一定会迎来自动化智能化的时代。

二是更加多元化

随着云计算技术的发展,基于业务发展和企业发展,企业对于数据库的需求各不相同,推动了云计算厂商根据企业需求定制解决方案,这也使得应用场景、数据库类型和承载环境呈现多元化发展的趋势。

 

三是更加关注数据安全性

随着近些年数据安全事件频发,政府也发布了系列政策进行规范,这使得企业更加关注数据安全性。随着用户在整个数据中心安全的建设上的逐步完善,现在最薄弱的一环那就在数据库这一层上。所以基于这个层面,深信服提出了最大安全性架构数据库的解决方案,可以全方面地分析数据流转流程中的相关风险并提供解决方案。