MYSQL

From The Power of Many
Revision as of 07:55, 28 June 2020 by Snowshi (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

介绍

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-MasterSynchronous Cluster

生产环境应避免Master-Master模式,这种模式看似解决了Master-Slave模式下的一些问题,但是也带来更严重的问题。在replication中断或其中一台服务器故障的情况下可能带来 数据冲突、数据丢失、重复数据 等问题。

Cluster

开源MySQL Cluster推荐使用 Galera Cluster或者 Percona.

Performance Tunning

MySQLTuner