MYSQL: Difference between revisions
update mysql desctiption |
No edit summary |
||
Line 1: | Line 1: | ||
=== 介绍 === | ===介绍=== | ||
[[wikipedia:MySQL|MySQL]] 是一种关系型数据库管理系统 (RDBMS, relational database management system). 随着时间推移, 目前MySQL属于Oracle. 创始人从开源MySQL fork并创建了一个新的项目 MariaDB. MariaDB目前由社区维护. | [[wikipedia:MySQL|MySQL]] 是一种关系型数据库管理系统 (RDBMS, relational database management system). 随着时间推移, 目前MySQL属于Oracle. 创始人从开源MySQL fork并创建了一个新的项目 MariaDB. MariaDB目前由社区维护. | ||
这里所提的MySQL是 Oracle MySQL 和 MariaDB 的统称. | 这里所提的MySQL是 Oracle MySQL 和 MariaDB 的统称. | ||
=== | === Replication and HA design === | ||
通常需要考虑的准则 | |||
* High Availability : 增加冗余, 在单台机器意外故障或出于维护目的下线的情况下保证服务可用 | |||
* Performance: 增加机器数量以提供更强大的服务能力 | |||
* Segmentation: 隔离工作负载 避免某些繁重任务影响网站性能 | |||
=== Performance Tunning === | 常见的几种 MySQL replication 类型有 <u>'''Master-Slave'''</u> '''<u>Master-Master</u>''' 和 '''<u>Synchronous Cluster</u>''' | ||
生产环境应避免'''<u>Master-Master</u>'''模式,这种模式看似解决了'''<u>Master-Slave</u>'''模式下的一些问题,但是也带来更严重的问题。在replication中断或其中一台服务器故障的情况下可能带来 数据冲突、数据丢失、重复数据 等问题。 | |||
===Cluster=== | |||
开源MySQL Cluster推荐使用 [https://galeracluster.com/ Galera Cluster]或者 [https://www.percona.com/ Percona]. | |||
<br /> | |||
===Performance Tunning=== | |||
[https://github.com/major/MySQLTuner-perl MySQLTuner] | [https://github.com/major/MySQLTuner-perl MySQLTuner] |
Revision as of 00:53, 14 May 2020
介绍
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.