首页 » OceanBase, PostgreSQL/GaussDB, 其它国产库 » Oracle、Oceanbase、TiDB、GaussDB集中式数据库比较系列(二十三):同城双中心常用架构

Oracle、Oceanbase、TiDB、GaussDB集中式数据库比较系列(二十三):同城双中心常用架构

数据是企业的重要生产要素,确保数据不丢失是大多数客户的核心目标。然而,要实现这一目标的高可用容灾方案不仅依赖于数据库产品的架构支持,还需要硬件成本的投入。同城双机房的配置在客户中较为普遍,如果追求RPO=0,无论是分布式数据库还是集中式数据库,个人了解到目前主流的数据库使用架构简单记录。

Oracle RAC + DataGuard

在oracle RAC 集群和dataguard的配合是Oracle MAA架构中常用的技术, 两个机房是两套独立的ORACLE DATABASE集群,中间通过redo传输(sync/async) 做为实时的变更同步,因为11G ADG的引入,备库可以只读打开用于部分查询,资源不再闲置,因此也是较为流行的高可用方案,在早些年间,还有什么SRDF、BCV等做存储层同步,但备库处于待机状态。

另外oracle 还提供Extended RAC利用存储级(如ASM Mirror+Failgroup)同步的同城双中心方案,在我们部分金融客户有实施,因为复杂度和网络依赖,此类方案不是很多。

分布式数据库Oceanbase

对于原生分布式数据库Oceanbase、Tidb,有先天的分布式高可用架构优势,OceanBase采用了基于Paxos算法的分布式一致性协议来保证系统的高可用性和强一致性,数据被切分成多个分区,每个分区由一个ReplicaSet管理,至少包含三个副本以形成一个多数派,在V3是以分区粒度,V4在V3基础增加了日志流(log stream)分布做分区和负载均衡。因为分布式对网络要求较高,如果同城机房网络质量高,可以像下面的架构做跨机房的集群,如果网络不稳定,那可以像oracle一样做主从两集群,同时在OB早期没有仲裁节点角色前,FULL副本一样需要应用日志和存储数据,在V4版本引入仲裁降低了网络要求和硬件资源,仅做投票可以在虚拟机房部署。

同时oceanbase也可以配置双机房主从模式的同步.

分布式Tidb

TiDB 通常采用多 AZ 部署方案保证集群高可用和容灾能力。单区域双 AZ 部署方案下,两个 AZ 通常位于同一个城市或两个相邻城市(例如北京和廊坊),相距 50 km 以内,AZ 间的网络连接延迟小于 1.5 ms,带宽大于 10 Gbps。

下图为集群部署架构图,具体如下:

  • 集群采用推荐的 6 副本模式,其中 AZ1 中放 3 个 Voter,AZ2 中放 2 个 Follower 副本和 1 个 Learner 副本。TiKV 按机房的实际情况打上合适的 Label。
  • 副本间通过 Raft 协议保证数据的一致性和高可用,对用户完全透明。

集群的复制模式可以自动在三种状态之间自适应切换。要了解切换过程,请参考状态转换

  • sync:同步复制模式,此时从 AZ (DR) 至少有一个副本与主 AZ (PRIMARY) 进行同步,Raft 算法保证每条日志按 Label 同步复制到 DR。
  • async:异步复制模式,此时不保证 DR 与 PRIMARY 完全同步,Raft 算法使用经典的 majority 方式复制日志。
  • sync-recover:恢复同步,此时不保证 DR 与 PRIMARY 完全同步,Raft 逐步切换成 Label 复制,切换成功后汇报给 PD。

同时TIDB 也可以基于TiCDC 配置主从同步模式。

集中式GuassDB

GaussDB分集中式和分布式,这里说的是关系型数据库产品线,不是RDS for pg/mysql/sql server/NOSQL, GaussDB又分for Oracle和MySQL(但是for MySQL一样是PG的核心),但既然是集中式可能会存在一些扩展瓶颈,计算层GaussDB和openGauss系产品一样也是1主多从,利用鲲鹏多核补计算短板,利用共享存储实现存储的扩展性和可靠性,利用软硬一体redo日志同步实现高可用。这里引入了一个Nof+存储网络和shared redo 同步的专利技术。


什么是NoF+

存储技术的发展有HDD转向SSD, NVMe是一种SSD的更高端的语言协议,那存储设备(非集中式存储)分布式多个设备中,需要一个存储网络连通所有存储形成一个存储网络,传输NVMe语言,但是不同的存储厂商又有不同的实现方式,从而诞生了在FC网络上传输的NVMe over Fabric; NVME over TCP;NVMe over RDMA等技术,统称为NoF(NVMe over Fabric),以及基于以太网RoCE(RDMA over Converged Ethernet)网络,来传输NVMe协议的NVMe over RoCE,同样算是NVMe over RDMA一种形式。NVMe over Fabric复用FC网络设备,NVME over TCP基于IP实现端到端,NVMe over RoCE其于RDMA兼具TCP优势,较为主流NoF。而华为独创的全无损以太存储网络技术,不丢包,最高达400GE的带宽(FC通常32G)创新简称NoF+。

 

总结

可见在高可用上架构分布式数据库和软硬一体集中式都可以实现RPO=0的要求,但这同时对于硬件成本的要求也相对较高,所以要从长远考虑该问题,但个人觉的软硬一体可能如同Oracle Exadata,软件硬件一套架构一个厂商,整个生态无其他厂家参于空间, 不好评价好坏。

打赏

, ,

对不起,这篇文章暂时关闭评论。