MYSQL: Difference between revisions
No edit summary |
No edit summary |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
===介绍=== | |||
[[wikipedia: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 类型有 <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] | ||
[[Category:MYSQL]] |
Latest revision as of 07:55, 28 June 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.