MySQL RDS 的设计与功能体验
发布日期:2016-4-21 16:4:54
MySQL RDS 的设计与功能体验 我在前边几篇文章都没涉及很多技术,所以希望这篇文章计划介绍下 Amazon 的 RDS ,帮助大家了解。若你是云服务研发人员或者产品人员,可以关注一下 Amazon RDS 的设计理念。如果你是普通研发人员或互联网创业公司的 CTO 可以关注一下 RDS 的功能与优缺点。如果要我来说说亚马逊云服务里哪个模块省心,莫过于 RDS了 。本篇文章主要说 MySQL 的 RDS 。因为MySQL 大概是大部分公司或者团队的最佳选择,它使用广泛,几乎成了创业公司标配。以下是本片文章的目录:
一、监控系统 亚马逊提供了 RDS 数据库的重要指标的实时查看功能。包括:
RDS 数据库支持在 Web 控制页面实时查询这些图表;并且支持同一组服务器的图表对比。 RDS 的监控建立在 AWS CloudWatch 基础之上;监控图表服务完全由 CloudWatch 提供。CloudWatch 是亚马逊云服务的统一监控组件,支持图表与报警接口。 这样,几乎不再需要借助其他工具对 RDS 数据库进行监控。当然,在某些情况下可以通过命令行链接数据库,进行 SHOW FULL PROCESSLIST 类似的操作。 二、参数配置系统 这是一个参数模板系统。AWS 的 RDS 提供一个称为 Parameter Groups 的系统进行 RDS MySQL 参数配置与模板管理。用户可以根据自己需要建立多个参数模板;在创建新 RDS 服务器的时候使用这些模板。可以在 AWS 模板基础上修改一些比如以下的重要参数:
另外如果有自己的其他组件需要用 RDS 的 BINLOG,还可以修改 binlog_format ROW 或者 MIXED 。MySQL 的其他所有参数都可以进行配置。 需要注意的是某些参数可以在运行时修改,但是某些参数在 RDS 运行情况下修改的话,需要 reboot 服务器。假如手动创建 RDS 实例的话一定记得选择自己创建的 PG 。 三、备份系统 备份系统包括三部分,如以下所示:
数据库镜像可以随时用来恢复整个数据库实例,并且速度很快。定期创建镜像需要通过 AWS 命令或者接口实现;也可以通过界面操作完成。镜像的创建完全不影响数据库的服务和使用。 DUMP 数据库和其他地方一样,连接数据库并且用命令 DUMP。 回滚日志:RDS 提供一个功能回滚到之前一段时间范围内的时间点。注意这个回滚非常耗时间,猜测其中包含了 RDS 自己维护的定期镜像恢复和相应时间段 BINLOG 的日志恢复。其中 BINLOG 的恢复非常耗时。 四、跨 IDC 高可用 跨区域高可用这个是 RDS 最大的亮点。创建一个 RDS 实例,可以选择是否支持 Multi-AZ 即跨区域 IDC 的高可用。即使一个 IDC 不可用仍然不影响 RDS 服务。我们都知道跨 IDC 的任何系统都非常难以维护,AWS RDS 正解决了这个问题。但是同时,跨区域高可用会维护一个 Hot standby 服务器在另外一个机房,价格会翻倍,并且另外一个服务器不可提供服务。高可用不是完全可用,没错。假如一个 IDC 的 RDS 出现问题,会有一个 Failover 的过程,根据应用特点大约 1-2 分钟。期间最好情况下也需要 query cache 的预热的完成。 强制 Failover:由于跨 IDC 的网络延迟,也许你需要 RDS 和其他服务器工作在同一个或者 2 个 Region。如果 RDS Failover 到不是期望的区域,可以通过 reboot 来强制 Failover 到其他 Region。高可用 RDS 的区域基本在 2 个 Region 之间互相 Failover 切换。 五、安全体系 AWS 提供了以下两种选择:
可以定义开放端口服务给哪些服务器。AWS Security Groups 是另一个庞大的体系。 六、数据回滚和恢复 数据回滚之前已经提到可以一键选择恢复到之前的一个时间点。另外可以通过镜像的方式进行恢复。或用自己导出的 SQL 备份文件进行传统方式恢复。 可以选择备份时间窗口,选择在业务低峰期进行自动备份。 七、自动维护和更新 可以自定义每周的维护时间窗口,AWS 会在这个时间段内进行 PATCH 、安全升级等操作。选择自己的业务低峰期即可。另外假如有安全更新之类 AWS 会邮件预告,并且会现在在待执行列表中。 八、活动日志 大部分界面的手动操作与自动操作比如 reboot 都会显示在活动日志中,比如自动备份、强制 Failover 等等。 九、错误和慢查询日志 尽管不能进入运行 RDS 的服务器,但是也可以获取慢日志进行分析,但是 AWS 会每小时滚一个日志文件,这些文件可以在 AWS 下载或实时查看。 十、型号选择 型号选择类似 EC2 的选择,可以根据以下的参数选择型号:
另外可以选择是否 SSD 磁盘,以及磁盘 IOPS 的规格。 磁盘类型主要分普通磁盘和 SSD 。但是都可以选择 IOPS 的提升。这个可以根据需要选择,假如是读多,非交易系统,普通 IOPS 完全可以满足要求。 十一、主从同步 创建主服务器的时候可以创建多个从服务器,这个跟传统的主从读写分离架构类似。与传统的主从读写分离架构的区别是你不再需要手动操作主从同步,更加安全。主从延迟图表也可以从界面监控系统看到。 十二、长期租用 亚马逊支持年付或更长时间租用模式,价格往往只有一半。 亚马逊云平台大大降低了运维成本,并且不再需要人工进行复制的数据库优化。性能甚至比人工优化过的更好。但 MySQL 数据库的原理未变, DBA 之前的经验仍然可以帮你作出正确判断。 上一条: mysql实现主从复制的方法
|