DMS停止服务后Resume续传的测试

一、背景

当DMS配置为Full Load + CDC(又名Ongoing replication)或者配置为CDC Only后,在传输过程中,可能因为网络等原因中断,包括主动断网、被动断网等。这时候需要重新启动任务继续传输。那么此时DMS能否实现“断点续传”,也就是从停止下来的地方继续开始、而不会触发全表复制?

答案是可以的,本文档模拟环境如下。

Continue reading “DMS停止服务后Resume续传的测试”

使用Aurora Babelfish的Single-DB和Multi-DB模式在T-SQL和PostgreSQL之间共享数据

本文在AWS宁夏区Aurora PostgreSQL 15.3版本上测试通过。

一、背景

1、关于Babelfish

Aurora Babelfish通过Babelfish在TCP 1433端口上提供了对T-SQL(即SQL Server)的兼容。Aurora Babelfish的底层实现是PostgreSQL,工作在TCP协议5432端口,使用PL/pgSQL。因此,可以实现数据通过某一个接口写入,然后即可被任意接口读取的场景。

本文将演示Aurora Babelfish工作在Single-DB和Multi-DB两种配置下,如何在T-SQL和PL/pgSQL之间共享数据。

Continue reading “使用Aurora Babelfish的Single-DB和Multi-DB模式在T-SQL和PostgreSQL之间共享数据”

Aurora 5.6 升级不同数据量和机型所需要时间的测试

一、背景

Aurora MySQL 5.6在2023年2月28日End of life,因此需要升级到5.7或者8.0。参考AWS这篇官方文档对5.6结束生命周期的解释

最简单的升级方式是:直接编辑数据库版本,选择新的版本,然后点击保存。此时数据库会修改版本并重启,升级期间无法接受外部访问。

为了合理申请停机窗口,本文模拟了一个有一定数据量的测试环境,评估升级所需要的时间。

Continue reading “Aurora 5.6 升级不同数据量和机型所需要时间的测试”

AWS RDS 和 Aurora PostgreSQL Benchmark 性能测试

一、背景

1、目标

在系统上线之前,对整个系统进行压力测试是必要的、周密的做法。整个系统业务处理能力(TPS)是结合了网络、应用架构、数据库等多种因素的一个衡量方式。其中,数据库性能对于整个业务系统处理能力是关键点之一。

为了充分验证数据库能力,建议在云上VPC内另外启动一台高配置的EC2作为负载发生器,并通过sysbench工具运行特定的sql脚本对数据库施压。由此可尽量隔绝应用层和网络层带来的额外影响因素。

Continue reading “AWS RDS 和 Aurora PostgreSQL Benchmark 性能测试”

为Aurora MySQL启用审计日志(Audit Log)

一、背景

在数据库RDS创建界面中,点击Addional额外设置之后可以展开日志设置,有四个选项,分别是:

Select the log types to publish to Amazon CloudWatch Logs:

  • Audit log
  • Error log
  • General log
  • Slow query log

这几个选项打开后,Cloudwatch会输出General log和Error log,可以看到失败的登录记录,但是无法看到Audit log,也就是无法看到每一条SQL查询、更新级别的日志。

这是由于,RDS日志需要额外打开选项。

Continue reading “为Aurora MySQL启用审计日志(Audit Log)”

通过RDS参数组功能修改RDS数据库的RDS时区参数

一、背景

RDS是托管数据库,也叫做Managed Service,由云平台负责数据库创建、配置、集群、高可用、存储、数据复制、监控、快照、备份、诊断、扩缩容、更换机型等一系列功能。

这一些功能由云平台提供,意味着运行RDS的基础操作系统是不允许用户登陆的。虽然在创建数据库时候需要选择实例规格,例如选择m6g.2xlarge,意味着8vCPU/32GB的虚拟机,并且这个虚拟机会使用Amazon Linux系统。但是这一切用户不可见。RDS只对用户暴露数据库的SQL接口,例如SQL Server暴露1433端口,Oracle暴露1521端口,MySQL暴露3306端口,PostgreSQL暴露5432端口。RDS对外不暴露SSH端口。

如果此时有需要调整数据库服务的底层参数,例如在虚拟机上手工安装MySQL时候需要在/etc/my.cnf中配置参数,这时候应该如何调整?本功能就是RDS参数组提供的修改数据库参数功能。RDS参数组功能对各种RDS数据库均有效,本文仅以MySQL为例编写。

Continue reading “通过RDS参数组功能修改RDS数据库的RDS时区参数”