当前位置: 首页 > 科技观察

携程事件反思:是时候关注数据库容灾了!

时间:2023-03-17 22:25:57 科技观察

上周互联网科技圈的一则大新闻是某旅游门户网站瘫痪,据传是因为后台数据库被物理删除,导致数据全部丢失。截至发稿,该网站仍未恢复营业,这种情况已经持续了10多个小时。有人根据自己的业务估计,此次事故的发生每小时将造成上千万元的损失。不管事故是操作失误、设备故障还是有人故意为之,由数据库造成的整个网站瘫痪也让人们开始关注和重视数据库的安全性和高可用性.那么笔者也以此事件为引,谈谈对数据库数据容灾的一些看法。“什么是数据库容灾?”数据库容灾是指在一个数据库运行的同时,另一个数据库在异地运行,并且与当前主运行数据库实时完全同步。这样当主库出现任何问题时,其他位置的数据库可以立即接管业务,这样整个业务就不会中断。在很多传统数据库中,容灾是一项非常成熟的技术。例如,Oracle的DataGuard和DB2的HADR都是知名的跨数据中心数据库容灾解决方案。数据库采用容灾机制,当主系统所在的数据中心发生故障(系统被人干掉,或者整个数据中心地震倒塌)时,备份系统可以感知并接管数据短时间内服务,使在线业务持续运行。从技术角度来看,传统的容灾方案一般是将主库的日志依次发送到备库,在备库上重新执行对主库的操作。这样主库和备库之间可能只有很小的延迟,基本就达到了同步。然而,在许多新的分布式数据库中,灾难恢复解决方案并不像传统数据库那样受欢迎。因此,数据安全隐患也是很多企业在考虑使用新型分布式数据库时非常重要的考虑因素。《数据库容灾需要考虑的因素》除了基本的数据复制功能外,容灾方案还有哪些重要的考虑因素?1)主备库之间的延迟。由于主备库部署在不同的数据中心,因此上网延迟是必须要考虑的因素。主备库之间的延迟越小,主库故障时丢失的数据就越少。例如,如果主备之间的延迟可以降低到1秒以内,当主库所在的系统发生人为或不可控的灾难时,主备之间的切换造成的数据丢失备用数据库将限制在一秒钟内。这样一来,与整个门户的瘫痪相比,企业所遭受的损失几乎可以忽略不计。2)占用带宽小。一般来说,主备数据中心之间的网络带宽是非常昂贵的。由于主备数据中心之间的网络一般跨越广域网,其带宽容量一定不能像局域网一样假设为千兆或10G带宽。因此,网络传输时的数据通道数和数据传输时的压缩比是非常重要的指标。3)安全传输通道。由于数据是跨广域网传输的,如果有人在机房外面架设嗅探器,是否可以拦截我们的网络通信呢?如果主备节点始终采用明文通信,这绝对是一个非常严重的安全隐患。因此,主备数据中心之间的数据通信是否加密是第三个重要的安全指标。这些跨数据中心复制的重要因素在SequoiaDB企业版中受到了非常高的关注。在保证网络畅通的环境下,使用SequoiaDB进行异地跨数据中心复制,可以将主备库的延迟限制在秒级。同时,SSL数据通道配合数据压缩,使数据传输高效、安全、可靠。“事故预防还需要健全的权限管理。”当然,除了技术之外,很多灾难场景都是人为产生的。无论加密措施多么严格,都无法阻止DBA从内部出卖数据;再严密的防火墙,也挡不住系统管理员的rm-rf。因此,对内部人员进行培训、监督和系统隔离是非常必要的。例如,对于数据库管理员来说,主备数据库由完全不同的团队管理。比如北京和上海的两个数据中心,可以由不同的DBA团队来运营。即使其中一个团队出现问题,也不会影响另一个团队运行的系统。第二,很多公司都非常重视数据备份,但可能有一个团队可以随意管理和修改备份文件。在这种情况下,假设这个团队的成员内部破坏,破坏所有的生产系统和备份,就会导致整个企业IT系统的彻底瘫痪。因此,如何隔离历史数据和在线数据的管理,也是企业内部安全流程的一个非常重要的管理措施。***,笔者对本网站的失败深表同情,希望其他企业吸取教训,更加重视数据安全,避免类似事故再次发生。