MariaDB Galera集群介绍
张海建
(北京信息职业技术学院)
摘 要:本文介绍MariaDB Galera集群,主要包括Galera复制MariaDB Galera
集群的特点。
关键字:集群;Galera;同步;异步
Galera在XtraDB/lnnoDB 数据库存储引擎上实现了多主同步复制功能,也就是多个
master在任一节点上写入后, 其他所有节点都会自动同步(对MyISAM 引擎的支持,目前
是实验性的)。
给MariaDB打上Galera补丁后,MariaDB就有了这种多主同步复制的能力。出于数据安
全考虑,我们知道,只有一台数据库服务器是不行的——万一数据库坏掉,数据就会丢失
那么,如果使用多台数据库服务器,就需要考虑用什么架构,比如:写入到哪一台,从哪一
台读取等等。
MySQL的双主结构,也就是:两台数据库服务器,都是master; 每个Web 节点都在自己所
属的MySQL 服务器上读写;在任意一台MySQL服务器上的写操作,都会同步到另一台上。
由于没有Galera,配置起来是很麻烦的。而且,一旦出现同步错误,处理起来也是麻烦得很
Galera功能的Galera配置起来相当简单,维护起来也不难。
1 关于 Galera复制
我们把整个数据库系统称之为DBMS(Database Management System ,数据库管理系
统)。在Galera 和DBMS之间有个桥梁,这个桥梁就是wsrep(write s etr eplication)API。在
事务提交(commit)时,Galera 就会把这个事务广播给集群中的所有节点 。
这种复制,是真正的"同步",而不是 一般的"异步"复制 。
1.1 同步与异步
其实我们之前提到的数据库主主同步、主从同步,大多数是指的"异步"复制。同步复制
和异步复制的区别是什么呢?
同步复制可以保证,当数据发生变化时,让这个变化也同时发生在其他节点上。这个
变化,是同时发生的。
而异步复制,是先在主节点(Master)上产生数据变 化,然后再把这个变化应用到从
节点(Slave)上 。Master和Slave之间的操作,不是同时发生的,而是有时间差(延迟)的
而这个时间差,有时候较长,有时候较短。这看起来没什么,其实有个很大的隐患,就是
一旦主节点坏了,就容易导致数据丢失一一因为有的数据还没来得及同步。
和异步复制相比,同步复制的好处有:
始终是高度可用的(当一个节点崩溃时,数据不会丢失);
1 / 3
MariaDB Galera 集群介绍
评论0
最新资源