MYSQL
MySQL 是一种关系型数据库管理系统 (RDBMS, relational database management system). 随着时间推移, 目前MySQL属于Oracle. 创始人从开源MySQL fork并创建了一个新的项目 MariaDB. MariaDB目前由社区维护.
这里所提的MySQL是 Oracle MySQL 和 MariaDB 的统称.
Replication and HA design
通常需要考虑的准则
- High Availability : 增加冗余, 在单台机器意外故障或出于维护目的下线的情况下保证服务可用
- Performance: 增加机器数量以提供更强大的服务能力
- Segmentation: 隔离工作负载 避免某些繁重任务影响网站性能
常见的几种 MySQL replication 类型有 Master-Slave Master-Master 和 Synchronous Cluster
生产环境应避免 Master-Master 模式,这种模式看似解决了 Master-Slave 模式下的一些问题,但是也带来更严重的问题。在replication中断或其中一台服务器故障的情况下可能带来 数据冲突、数据丢失、重复数据 等问题。
Cluster
开源MySQL Cluster推荐使用 Galera Cluster 或者 Percona.
Performance Tunning
本文采用 知识共享署名 4.0 国际许可协议(CC-BY 4.0)进行许可。转载请注明来源: https://snowfrs.com/2020/06/28/MYSQL.html 欢迎对文中引用进行考证,欢迎指出任何不准确和模糊之处。