获得技术资料内容,请访问Greenplum中文社区网站
什么是高可用
高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指,通过设计减少系统不能提供服务的时间。假设系统一直能够提供服务,我们说系统的可用性是100%,很多公司的高可用目标是4个9,也就是99.99%,这就意味着,系统的年停机时间为0.876个小时。
如何做到高可用
高可用系统最大的劲敌就是单点故障。任何一个单点故障都是不可避免的,如果系统是单点架构的,当单点出现故障则会导致系统不可用。所以,实现高可用的本质就是冗余。冗余部署服务,当单点出现故障后,及时发现并用备份系统替换。
Greenplum高可用的实现
Greenplum是一个高可用数据库系统,同样是通过冗余部署来实现高可用。
Greenplum系统中包含了一个主节点和若干个子节点。Greenplum正是通过对每个节点提供冗余来实现高可用。在数据库系统里,通过复制技术来实现冗余。
复制
Greenplum通过复制来实现冗余。在执行写操作时,会产生xlog事务日志。xlog既可以作为数据库Crash时进行数据恢复的依据,同时也可以作为增量更新传递给从节点。xlog存储在数据目录的pg_xlog目录下。
在主节点上会存在wal-sender进程,从节点上会存在wal-receiver进程,wal-sender进程会将产生的写日志同步给wal-receiver进程来实现冗余。
Primary节点和Mirror节点上的wal sender和wal receiver进程可以通过ps命令看到