purescale做异地容灾最简单的就是使用hadr。这个hadr配置和常规的单机hadr配置差不多,区别是多了很多节点,备机集群必须和主集群member数量一样多。也就是member同构。备机只有一个member做回放操作,所以单节点回放所有主机节点的负载,性能需要考虑,必要时可以增加这个回放节点的资源。做容灾都是采用异步模式,所以平时要做好gap的监控,及时发现问题。
收起DB2 PURESCALE如果仅仅放本地,从扩展性、应用透明性、高可用性上都是非常完美的方案,但是目前仅限POWER,需要的网卡也比较特殊,对硬件要求高,同时也存在一定的软件LICENSE,所以目前来说没有ORACLE RAC适用度那么广,用户数也远远不如,但这并不妨碍它是一个优秀的数据库多活方案。
DB2 PURESCALE在本地的话,主要难点有:
1.如何设计CF节点的资源,如何分配MEMBER节点的资源,实现集中式的DB2数据库向DB2 PURESCALE的转变。
2.DB2客户端采用何种方式去连接MEMBER节点,实现负载均衡?
3.DB2 PURESCALE的网络架构如何设计?
DB2 PURESCALE如果扩展到两个数据中心的话,叫做GDPC,主要难点有:
1.两个数据中心的链路问题,如何解决,距离、质量、监控等。
2.如何尽量减少跨中心的写操作或者写频率?在数据库层、GPFS文件系统层都应该做相应的优化,并且需要适当改变传统的开发方式和习惯。
3.对于必然存在的跨数据中心对主站点CF节点的RDMA通讯问题,既然没法避免,那么如何减少通信,或者优化通信性能。