双活是多个层面的东西,存储双活是一个层面,存储双活可以保证其上所有的数据都能在双活存储上存在,是完全一致的两份数据。当其中一个存储故障,IO会自动访问另外一台存储上的数据,业务继续运行,不需要人工干预。数据库双活是另外一个层面,其数据库是一个库,具有多个并行的数据库节点,在一个数据库节点出现故障的时候,IO会自动切换到正常节点访问。
而ADG主要针对数据库,ADG可以实现数据的逻辑性保护,并提供读写分离的操作模式,也能做到数据库主备的完全同步,但是最终的结果是主库和备库两个库,需要部署两套完全至少逻辑上隔离的系统,其并非真正意义的双活。而且做到完全同步的模式对主库的性能也会有不成程度的影响,在一些大型批处理操作的情况下,其同步效率也会受到影响,而且一旦发生故障切换,切换和回切的相对复杂。有一些客户会将存储复制技术和ADG结合在一起使用。