RDS作业功能的支持

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介:

RDS最近将会支持数据库的job功能,包括mysql的events和mssql的job. RDS在开放一个服务给用户使用的时候,需要考虑非常的多因素,比如:

  •   该服务所占用的资源(内存,cpu等);
  •   存在的bug(bug的存在可直接导致用户在使用该服务上出现不当或者错误);
  •   潜在的安全风险(服务的开放往往需要开通某些端口,这样增加了RDS被攻击的可能性);
  •   与RDS现有架构的融合,比如:rds的架构采用的双机热备(主库和备库同时存在,主库down机后能够迅速切换到备库,所以必须考虑到开放job功能后,对RDS HA的影响,保证在HA切换后job仍能够正常的执行).

所以我们会不断的问自己一些问题,然后自己再去解答它:

(1).主库上建立一个job,备库上会不会也会创建一个job?

答:

  1. mysql上在主库创建一个events,会传送binglog日志到备库,所以备库上仍会创建一个events;
  2.  mssql的job是创建在mssql系统数据库中的,而RDS的备库采用mssql的mirror架构,也就是说msssql数据库不会被复制到备库,那么在mssql数据库中创建的job也不会创建到备库中;针对mssql中job不会同步到备库的情况,RDS需要有一个同步程序,定时将主库的job信息同步到备库,以保证主备切换后job能够正常执行;

(2)主库上执行的job,备库上会不会在重新执行一遍?

答:

  1. mysql在主库创建events时候有一个参数为DISABLE ON SALVE,这个参数可用于控制在备库上events是否执行,默认是不执行的,所以用户在备库上的job是不会执行的;更保险一点的做法就是任何备库都关闭掉events的功能;
  2. mssql由于我们的同步程序会将主库的job同步到备库,所以备库上也会存在job,那么这个job会不会执行喃?答案是不执行,因为mssql的备库处于mount状态(只负责接收运用主库传送过的日志,不提供读写功能),测试发现备库的job会一直执行,但是由于主库不可访问,在job一开始执行就报错.

(3)开启job功能占用的资源消耗有多少?

答:

  1.    mysql上启用events功能开启后,通过show processlist可以看到mysql会启动一个叫event_scheduler进程;
  2.    mssql的开启有些麻烦,首先需要开启windows的sqlagent服务,同时要授予帐号相应的权限:Sqlagentopertorrole,通过windows的任务管理器可以看到启动了一个进程:sqlagent.exe,大约占用了6M的内存;
(4)RDS主备切换后,新主库(原备库)中job如何处理?
答:
  1.    mysql实例在主备切换后,由于原来的备库job是disable掉的,所以需要切换程序需要将备库上的所有job都设置为enable,同时由于之前events的功能被disable掉,现在需要将events功能打开,并且将原主库(新备库)的events功能关闭;
  2.   mssql原来的备库是不可访问,现在切换为主库后,主库可以访问,job能够正常执行;原来的主库变为了备库,不可访问,job会执行失败;
(5)job的备份怎么处理?
答:
  1. mysql的逻辑备份采用mysqldump,而events默认是不备份的,所以备份程序需要加上events的备份(添加参数-E,Dump events);
  2. mssql备份需要加上mssql数据库的备份;
(6)可能的bug:
答:
  1.     mysql events在低版本中创建,如果创建超过2038年,执行时间会改为1970-01-01 00:00:00,  在高版本中创建:超过2038年的会报错;   Events中执行 ddl的递归操作是不允许的,低版本中会导致mysql crash:
  2.  mssql 暂时没有遇到bug;

通过上面的评估后,RDS数据库将会支持作业功能,预计会在下一个发布版本中与客户相见(预计在8月末发布).

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
4月前
|
自然语言处理 关系型数据库 MySQL
mysql 全文搜索功能优缺点
mysql 全文搜索功能优缺点
|
10天前
|
SQL 开发框架 .NET
突破T-SQL限制:利用CLR集成扩展RDS SQL Server的功能边界
CLR集成为SQL Server提供了强大的扩展能力,突破了T-SQL的限制,极大地拓展了SQL 的应用场景,如:复杂字符串处理、高性能计算、图像处理、机器学习集成、自定义加密解密等,使开发人员能够利用 .NET Framework的丰富功能来处理复杂的数据库任务。
|
28天前
|
SQL 关系型数据库 MySQL
MySql5.6版本开启慢SQL功能-本次采用永久生效方式
MySql5.6版本开启慢SQL功能-本次采用永久生效方式
37 0
|
7月前
|
Oracle 关系型数据库 MySQL
实时计算 Flink版操作报错之当将两个连接器放在同一个作业中时,MySQL作业无法启动,该怎么解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
|
4月前
|
存储 关系型数据库 MySQL
基于python django 医院管理系统,多用户功能,包括管理员、用户、医生,数据库MySQL
本文介绍了一个基于Python Django框架开发的医院管理系统,该系统设计了管理员、用户和医生三个角色,具备多用户功能,并使用MySQL数据库进行数据存储和管理。
151 4
基于python django 医院管理系统,多用户功能,包括管理员、用户、医生,数据库MySQL
|
4月前
|
JavaScript 关系型数据库 MySQL
node连接mysql,并实现增删改查功能
【8月更文挑战第26天】node连接mysql,并实现增删改查功能
67 3
|
5月前
|
关系型数据库 MySQL 存储
|
5月前
|
分布式计算 大数据 关系型数据库
MaxCompute产品使用合集之如何实现类似mysql实例中的数据库功能
MaxCompute作为一款全面的大数据处理平台,广泛应用于各类大数据分析、数据挖掘、BI及机器学习场景。掌握其核心功能、熟练操作流程、遵循最佳实践,可以帮助用户高效、安全地管理和利用海量数据。以下是一个关于MaxCompute产品使用的合集,涵盖了其核心功能、应用场景、操作流程以及最佳实践等内容。
|
5月前
|
存储 负载均衡 关系型数据库
面试题MySQL问题之通过配置FastDFS提高性能如何解决
面试题MySQL问题之通过配置FastDFS提高性能如何解决
54 1
|
5月前
|
关系型数据库 MySQL 调度
MySQL高级功能与优化策略深度探索
MySQL高级功能与优化策略深度探索
下一篇
无影云桌面