查看: 1725|回复: 0

[SQLServer] 常见数据库容灾技术的直观比较

发表于 2018-4-2 08:00:02

当前是信息社会,数据库的重要性不言而喻。本文从普通用户而不是厂家(不谈RPO、RTO、MDT、MTBF、MTTR等等专业术语)角度出发来审视和比较各种数据库容灾技术,希望能帮助广大用户在选购方案时少被忽悠、少走弯路、避免不必要的经济损失和系统事故。
对于广大用户来说,最关心的是下列两点:
A. 是否具有两份逻辑一致的数据:如果某容灾方案具有两份‘逻辑一致’的数据,那在故障发生时,用户数据就是安全的,系统的可用性也有保障的。具有两份‘逻辑一致’的数据,这是一个合格容灾方案必须具备的。请注意,这里谈的是‘逻辑数据’,而不是‘物理数据’,究竟什么是逻辑数据,什么是物理数据,请耐心往下阅读。
B. 有没有负载均衡读写分离:负载均衡读写分离,尤其是OLTP和OLAP的分离,是业界公认的提高数据库性能的有效手段之一。
当前市场上,和ORACLE、SQLSERVER有关的容灾技术大致有下列这些:

RAID I
常见数据库容灾技术的直观比较
图1 RAID I原理示意图
a. 一个DB实例(图中粗红色椭圆)
b. 一份逻辑数据(图中中等粗红色椭圆)
c. 两份物理数据(图中细红色椭圆)
d. 没有负载均衡读写分离

双机热备
常见数据库容灾技术的直观比较
图2 双机热备原理示意图
a. 一个DB实例(图中粗红色椭圆)
b. 一份逻辑数据(图中中等粗红色椭圆)
c. 两份物理数据(RAID)(图中细红色椭圆)
d. 没有负载均衡读写分离

双机双柜
常见数据库容灾技术的直观比较
图3 双机双柜原理示意图
a. 一个DB实例(图中粗红色椭圆)
b. 一份逻辑数据(图中中等粗红色椭圆)
c. 两份物理数据(图中细红色椭圆)
d. 没有负载均衡读写分离

存储双活
常见数据库容灾技术的直观比较
图4 存储双活原理示意图
a. 一个DB实例(图中粗红色椭圆)
b. 一份逻辑数据(图中中等粗红色椭圆)
c. 两份物理数据(图中细红色椭圆)
d. 没有负载均衡读写分离

Oracle RAC
常见数据库容灾技术的直观比较
图5 Oracle RAC原理示意图
a. 两个DB实例(图中粗红色椭圆)
b. 一份逻辑数据(图中中等粗红色椭圆)
c. 两份物理数据(RAID)(图中细红色椭圆)
d. 有负载均衡读写分离

Oracle DG
常见数据库容灾技术的直观比较
图6 Oracle DG原理示意图
a. 两个DB实例(图中粗红色椭圆)
b. 两份逻辑数据(图中中等粗红色椭圆)
c. 两份物理数据(图中细红色椭圆)
d. 手工负载均衡读写分离、目标端可查询

SQL Server 镜像
常见数据库容灾技术的直观比较
图7 SQL Server镜像原理示意图
a. 两个DB实例(图中粗红色椭圆)
b. 两份逻辑数据(图中中等粗红色椭圆)
c. 两份物理数据(图中细红色椭圆)
d. 没有负载均衡读写分离、目标库不能访问

SQL Server AlwaysOn
常见数据库容灾技术的直观比较
图8 SQL Server AlwaysOn原理示意图
a. 两个DB实例(图中粗红色椭圆)
b. 两份逻辑数据(图中中等粗红色椭圆)
c. 两份物理数据(图中细红色椭圆)
d. 手工负载均衡读写分离、目标端可查询

DBTwin双活集群
常见数据库容灾技术的直观比较
图9 DBTwin双活集群原理示意图
a. 两个DB实例(图中粗红色椭圆)
b. 两份逻辑数据(图中中等粗红色椭圆)
c. 两份物理数据(图中细红色椭圆)
d. 全自动的负载均衡读写分离

综合比较如下:
常见数据库容灾技术的直观比较
表 A 各种数据库容灾技术综合比较

综上所述,当故障发生时,如果某个方案具有‘两份实时一致的逻辑数据’,则该方案无疑是最理想的;如果只有一份逻辑数据,虽然物理数据有两份,但是由于物理数据只保持了扇区或块甚至卷级别的‘物理一致’,缺乏数据库事务逻辑保护,因此最终的数据库完整性仍然是有风险的。
从用户数据安全性程度考虑,下面为从高到低的排序:

最高:两份实时一致的逻辑数据。 次高:两份逻辑数据,但是存在短时的数据延迟。 第三:一份逻辑数据,但是存在两份物理数据。 最低:一份逻辑数据,同时也只有一份物理数据。


回复

使用道具 举报