MySQL多IDC部署注意事项

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介:

目前暂时还没有哪款数据库产品是专门针对跨IDC进行的优化,在理论上被业界认为最优的方案是采用基于Paxos协议(暂时只有google做出了实现,google f1),今天只讨论MySQL在这方面的注意事项:

对于跨IDC的情况基本都会设计到以下问题:

1MySQL多IDC的数据同步,数据一致性

2、多IDC之间的高可用

3、多IDC的多点写入问题
 
4、运维监控

对于MySQL多IDC数据之间的同步问题:

1MySQL的复制是异步的(对于 5.5的半同步来说,还是属于“异步的”), MySQL同步依赖的因素很多,同步的网络环境,硬件配置, SQL语句是否高效,以及数据量的大小。

     在数据量较大的情况下在masterslave端启用slave-compressed-protocol = 1压缩模式,网络环境采用专线。可以利用blackhole存储引擎的MySQL作为relay server实现级联复制,这个最好控制在三层内,减少同步的延迟,减少机房之间传输的数据量。关于SQL语句,索引不要太多,影响插入速度,注意更新和删除的问题,如果采用row模式进行复制,数据量是个问题,建议采用mixed模式进行复制。对于实时性要求较高的应用可以允许第一次读的时候从主库上读取。或者在应用端给出等待时间来缓解同步延迟对用户的影响。

2、对于多 IDC中的高可用问题。

     对于采用relay server的方式,可以采用两台server,每隔relay下面都是一个slave集群。当某个出现问题的时候,可以只访问另一个slave集群。

     对于采用双主模式的情况下,这个容灾方式比较明显,每个 master下都接一个 slave集群。但对于多 IDC部署的话缺点也很明显,只能使用两个 IDC
 
3、多点写入问题

      双主复制,环状复制,通过federated引擎都可以实现多点写入。这个时候对于多点写入需要考虑自增问题,可通过auto_increment_increment=N(增量值,且N是节点数)auto_increment_offset=1,2,3,。。。N (初始值)来解决。更新丢失问题。每个master只写本地数据,slave拥有全部数据,这个时候数据是以一定次序出现的。利用消息队列,数据写入本地数据库时也写入消息队列中(本人为涉及到)

4、运维监控问题

     监控系统对整个维护过程中起着很重要的作用。为防止在多IDC之间网络环境的影响,最好采用分布式监控,并且每个IDC的监控系统都能独立工作,可以参考zabbix,ganglia(两个开源企业级监控系统)






本文转自 位鹏飞 51CTO博客,原文链接:http://blog.51cto.com/weipengfei/979672,如需转载请自行联系原作者

         

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
2月前
|
监控 关系型数据库 MySQL
MySQL创建索引的注意事项
在数据库设计和优化中,索引的合理使用是提高查询性能和加速数据检索的关键因素之一。通过选择适当的列、了解数据分布、定期维护和监控索引性能,我们能够最大程度地发挥索引的优势,提高数据库的效率和响应速度。
32 0
|
2月前
|
网络协议 关系型数据库 MySQL
如何实现无公网ip远程访问本地安卓Termux部署的MySQL数据库【内网穿透】
如何实现无公网ip远程访问本地安卓Termux部署的MySQL数据库【内网穿透】
|
2月前
|
监控 关系型数据库 MySQL
MySQL创建索引的注意事项
在索引的世界中,权衡是关键。权衡读写性能,权衡索引的数量和类型,权衡查询的频率和数据分布。通过谨慎的设计、定期的维护和持续的监控,我们能够确保索引在数据库中的角色得到最大的发挥,为应用提供更加高效和可靠的数据访问服务。在数据库优化的旅途中,索引是我们的得力助手,正确使用它将使数据库系统更具竞争力和可维护性。
19 0
|
4月前
|
关系型数据库 MySQL 数据库
Docker部署Mysql数据库详解
Docker是一种流行的容器化平台,可以简化应用程序的部署和管理。在本博客中,我们将探讨如何使用Docker部署两个广泛使用的数据库:MySQL。我们将提供详细的步骤和相应的命令,以帮助您轻松地在Docker容器中设置和运行这个数据库。
392 0
|
4月前
|
关系型数据库 MySQL 数据库
百度搜索:蓝易云【【Docker】Docker部署Mysql并设置数据持久化教程】
通过以上步骤,您已经成功地在Docker中部署了MySQL,并设置了数据持久化,确保数据在容器重新启动或迁移时得以保留。
53 0
|
4月前
|
SQL 关系型数据库 MySQL
Mycat【Mycat部署安装(核心配置及目录结构、安装以及管理命令详解)Mycat高级特性(读写分离概述、搭建读写分离、MySQL双主双从原理)】(三)-全面详解(学习总结---从入门到深化)
Mycat【Mycat部署安装(核心配置及目录结构、安装以及管理命令详解)Mycat高级特性(读写分离概述、搭建读写分离、MySQL双主双从原理)】(三)-全面详解(学习总结---从入门到深化)
91 0
|
2月前
|
分布式计算 关系型数据库 MySQL
Sqoop【部署 01】CentOS Linux release 7.5 安装配置 sqoop-1.4.7 解决警告并验证(附Sqoop1+Sqoop2最新版安装包+MySQL驱动包资源)
【2月更文挑战第8天】Sqoop CentOS Linux release 7.5 安装配置 sqoop-1.4.7 解决警告并验证(附Sqoop1+Sqoop2最新版安装包+MySQL驱动包资源)
106 1
|
9天前
|
SQL 关系型数据库 MySQL
【MySQL】DQL-排序查询-语法&注意事项&可cv例题语句
【MySQL】DQL-排序查询-语法&注意事项&可cv例题语句
|
9天前
|
SQL 关系型数据库 MySQL
【MySQL】DQL-排序查询-语法&排序方式&注意事项&可cv例题语句
【MySQL】DQL-排序查询-语法&排序方式&注意事项&可cv例题语句
|
9天前
|
SQL 关系型数据库 MySQL
【MySQL】DQL-分组查询-语法&where与having的区别&注意事项&可cv例题语句
【MySQL】DQL-分组查询-语法&where与having的区别&注意事项&可cv例题语句
【MySQL】DQL-分组查询-语法&where与having的区别&注意事项&可cv例题语句