一个篱笆三个桩,一个好汉三个帮。
—— 民间谚语
上周的文章介绍了一下阿里云原生数据库PolarDB及其“亲戚”们,这周就来聊聊他的“朋友”们吧。
DMS(Data Management Service)数据管理平台,是一款功能强大的数据库管理和设计开发工具,通过直观的GUI图形用户界面可以管理多达20多种数据库,其中包括阿里云数据库、第三方云数据库、甚至对于线下IDC中运行的数据库也支持统一纳管。
DMS具体拥有如下功能:
- 数据开发、包括结构设计、数据访问、交互式数据分析、建模调度、数据可视化、测试数据生成。
- 变更稳定性保障、包括研发规范、SQL审计、风险管控、不锁表变更、变更可回滚、性能跟踪。
- 安全管控、包括细粒度权限管控、敏感数据脱敏、安全审计、安全规范。
- 高效协同、包括研发流程、版本管理、多环境同步、跨库查询、元数据中心。
对于ECS运维,我们可以通过堡垒机来实现操作管理的统一收口、操作审计、运维策略等功能,对于数据库的运维就可以通过DMS来完成类似的职能,只不过DMS是专门针对数据库的运维场景专门开发的一款运维工具,DMS在阿里巴巴集团内部沉淀了十年并已服务超过十万的企业用户,其成熟度已经得到了充分的检验。
DAS(Database Autonomy Service)数据库自治服务是一种基于机器学习和专家经验实现数据库自感知、自修复、自优化、自运维及自安全的云服务,帮助用户消除数据库运维的复杂性及人工操作引发的服务故障,有效保障数据库服务的稳定、安全及高效。
DAS的功能如下:
- 自感知&自决策、包括性能监控、workload监控、异常检测、指标预测、根因诊断。
- 自弹性、包括容量检测、容量预警、弹性伸缩。
- 自优化、包括参数优化、SQL优化、SQL限流、全链路优化、架构优化。
- 自安全、包括异常流量识别、安全审计、漏洞修复、敏感数据保护、架构优化。
DAS在阿里巴巴内部最重要的工作是自动对抗慢SQL,当数据库中出现慢SQL时,DAS能够在第一时间自动发现并对其进行限流降级处理,以防止其对数据的整体运行造成更严重的影响,在阿里巴巴DAS已经成功发现2900万以上的慢SQL、节省2.7PB以上的存储空间,超过93.3%的数据库告警都能通过DAS自动进行处理。
DTS(Data Transmission Service)数据传输服务支持关系型数据库、NoSQL、OLAP数据仓库等数据源的数据传输。它是一种集数据迁移、数据订阅及数据实时同步于一体的数据传输服务。
DTS最主要的用途就是数据迁移,不仅支持相同数据库的迁移,还支持异构数据库之间的数据迁移,例如将线下IDC中的Oracle数据库中的数据迁移到云上RDS MySQL数据库,为了能够实现上的去,下得来,可以在上云迁移完成之后建立一条反向的复制链路,将云上的数据变化反向同步到云下的Oracle数据库,一旦发现系统运行异常可随时回切,具体的步骤包括:
- 建立迁移正向链路并启动迁移,反向链路建好不启动。
- 等待正向增量迁移无延迟。
- 源库禁止写入,查看DTS无延迟后,停止正向链路,开反向回流。
- 应用切换到云上数据库。
- 一旦出现业务异常,可以随时将业务切换回线下数据库。
ADAM(Advanced Database&Application Migration)数据库和应用迁移是一款把Oracle相关的数据库和应用迁移到阿里云(包括公共云或专有云)的产品。ADAM全面评估上云可行性、成本和云存储选型,内置实时协助,数据、应用迁移等工具,确保可靠、快速上云。
ADAM包括数据上云和应用上云两部分功能:
- ADAM数据库上云主要是通过获取源Oracle数据库的相关信息来评估上云的可行性,并根据目标数据库的类型(RDS MySQL/DRDS/PolarDB-O等)给出参考的上云配置,生成数据库迁移计划,可将现有Oracle数据库的表结构信息、视图、存储过程等转换并迁移到目标数据库。再结合DTS来完成全量和增量的异构数据迁移。
- ADAM应用上云主要面对Java应用,通过JVM的内置跟踪机制以类似于APM的方式探测应用对数据库访问的SQL语句并分析迁移到目标数据库的兼容情况,针对不兼容的SQL语句给出修改调整建议。
ADAM还针对「线下」环境提供两款工具:
- ADAM Studio 是一个轻量级的DTS实现,可以执行ADAM生成的迁移计划,在线下环境完成数据的迁移。
- P2J是一个PL/SQL存储过程到Java程序的转换工具,可以将现有的PL/SQL存储过程转化为Java程序,假如希望将Oracle迁移到PolarDB-O以外的其他不支持存储过程的数据库(例如PostgreSQL、MySQL等)就需要使用该程序对现有的存储过程进行转化以消除迁移障碍。
DBS(Database Backup)能够为数据库提供连续数据保护、DBS不仅支持阿里云数据库,还支持包括IDC数据中心自建数据库、第三方云数据库等运行环境。
DBS适用的应用场景包括:
- 云中备份:阿里云RDS/PolarDB/ECS自建库备份。
- 上云备份:本地IDC数据库备份,恢复到阿里云。
- 下云备份:阿里云数据库备份,恢复到IDC数据中心。
- 跨云备份:其他云数据库备份,恢复到阿里云。
- 异地备份:数据库备份到其他地域存储。
- 数据归档:将数据库备份长期存储到OSS上归档。
- 备份查询:可针对备份的数据进行查询。
- 备份演练:备份数据可定期恢复到其他的数据库实例,以验证有效性。
- 物理上云:通过物理备份的方式对大型数据库进行上云迁移。
- 数据订正:生成误操作的回滚SQL并执行。
DBS数据库备份服务是数据库安全的最后一道防线,也是今天介绍的最后一个数据库工具服务,怎么样,上面这些工具你用过几个呢?