数据库双活与AlwaysOn的比较.pdf
文本预览下载声明
DBTwin 数据库集群与AlwaysOn 的比较
DBTwin 集群工作原理图:
请求 主网关 请求
数据库A
客户端
HA
请求
数据库B
备份网关
AlwaysON 工作原理图:
虚拟VIP
请求
主副本A
客户端
同步
辅助副本B
DBTWIN 集群具有‘独立的 DBTWIN 集群网关’,一般需要独立的Windows 服务
器来运行,可以有效应对大并发、高压力的系统,进行有效的、自动的读写分离和
负载均衡。占用资源少,稳定、可靠。
第 - 1 - 页 共 3 页
SQL Server AlwaysON 则没有类似 DBTWIN 集群网关这样一个独立部件,直接用
两台数据库构成数据的实时同步,本质上是数据库数据的一个‘实时备份工具’。
上面是两者之间的本质区别。
具体可以从下列几个方面来比较:
1. 负载均衡和读写分离:
DBTwin:完全自动。对客户端的查询自动实现负载均衡、读写分离、OLTP
和OLAP 的自动分离(这对提高数据库性能很关键)。对客户端代码二进制透
明兼容,不需要修改客户端代码。
AlwaysON:手工实现。当客户端代码需要登陆数据库进行访问时,需要程序
员手工指定“访问主副本(可读写)还是辅助副本(只读)”。对客户端代码
不透明,需要修改客户端代码。
2. 数据同步时的延迟问题:
DBTwin:不存在数据延迟。两台机器之间的数据是“任何时刻完全实时同步
一致的”,不存在数据延迟(数据之间的时间差)。
AlwaysON :存在数据延迟。有异步和同步两种模式。即使是同步模式,也存
在数据的延迟问题(也就是说主副本的数据和辅助副本的数据两者之间存在
一个 1 秒左右的时间差)。因此手工进行负载均衡的时候,开发人员必须注
意这个时间差,否则就会存在数据逻辑错误的可能。
3. 安装和维护的简易程度:
DBTwin:简单、代价低。DBTwin 既可以在Windows 工作组环境、也可以在
Windows 域环境下工作,安装和维护都很简单,例如:由于运行时候SQL 数
据库是处于简单模式,因此不会发生日志暴涨的情形。
AlwaysON:复杂、代价高。必须结合Windows 故障转移群集和Windows 域
环境才能使用。安装配置麻烦,维护起来复杂,例如:由于运行时候SQL 数
据库是完整恢复模式,因此过一段时间,日志就会变得很大,当需要截断和
收缩日志的时候,就需要停止AlwaysON ,由此带来维护成本的增加。
第 - 2 - 页 共 3 页
4. 技术服务:
DBTwin:提供性能优化、设计、运维的咨询服务。
AlwaysON:靠客户自己解决。
第 - 3 - 页 共 3 页
显示全部