灾难恢复是个令人不快的话题,但必须面对,拿一个公司的邮件系统为例,有的公司会对过去的邮件进行备份,备份的频率或许是每日或每周,灾难发生后,将备份 的数据恢复到系统,尽管可以恢复一些,但这种周期性的备份只保证已备份的数据的安全,最近一次备份到灾难发生之间的数据却是彻底没有了。
在大一些的公司,或许会使用 SAN 进行备份,SAN 很贵,而且,当整个数据中心出现故障的时候,即使 SAN 也不保险。因此,那些真正有实力的大公司,会在异地创建一个新的数据中心,并创建一套完整的异地备份。
然而天常不如人意,有时候,即使身处两个位置的两个数据中心也会同时挂掉,因此,更有实力的公司会将两个数据中心的物理距离尽可能拉大(越远意味着成本越高),然而又带来管理上的问题,两套 SAN 之间要传输 TB 级的数据,需要非常高的带宽,不管怎样,这些都与成本有关,冗余越多,成本越高。
灾难备份与恢复有两个指标,一个是 RPO (Recovery Point Objective), 一个是 RTO (Recovery Time Objective),也就是数据丢失率和恢复间隔。对传统的 SAN 或异地备份,这两个指标基本取决于成本,指标越好,成本越高,Google 在这方面,使用的是同步复制技术,同步复制使 RPO 接近于 0, 而 RTO 接近实时,也就是说,灾难发生时,Google 所有在线应用的数据丢失基本为 0,恢复间隔接近实时,使用户完全觉察不到(可是,Gmail 的几次宕机是怎么回事 - 译者)。数据同步复制技术应用到所有 Google 在线应用(包括 Gmail,Google Calendar,Google Docs,以及Google Sites 等),用户需要保存的任何数据,都同步存储到 Google 的两个不同地理位置的数据中心,当任何一个数据中心发生故障,系统会立即切换到另一个数据中心。
同步复制式备份的运营成本相当高,在商业存储领域,25GB 的同步存储服务可能需要 150 到超过 500 美元每年,Google 通过以下方法,保证这些高成本的技术可以免费提供给用户使用:
Google 的一个数据中心支撑着数百万用户,因此,每个用户分摊的成本相对低很多。
Google 的备用数据中心并不是在灾难发生时才启用,而是一直在使用中,Google 始终在这些数据中心之间进行平衡,保证没有资源浪费。
Google 的数据中心之间有他们自己的高度连接网络,保证数据快速传送。
云计算的优势是让先进的技术迅速普及,Google 的云计算,云存储等应用,让那些以往只有超级公司才有能力享受的服务变得十分普通,而且成本极低。