数据库备份的重要性:成本、收益和风险平衡指南

作者:Thomas LaRock,SolarWinds 首席极客

数据是企业的命脉,因此保护数据至关重要。数据库系统已成为最主流的数据处理工具之一,并且是企业处理数据时工作流程的核心。中国信通院曾预计,全球数据库市场在 2025 年将达到 798 亿美元,中国数据库市场将达到 688 亿元人民币,复合年增长率(CAGR)将达到 23.4%。

数据库备份是数据库管理员(DBA)用来确保数据持续可用的方法之一。这个过程包括从数据库中复制数据和模式,并保存在其他地方以便日后检索。但如同其他 IT 流程,企业在备份数据库时也需要考虑成本、收益和相关的风险。

为什么备份数据库十分重要?

备份数据在恢复数据时发挥着巨大的作用。根据 IDC 的报告,2021 年上半年中国数据备份与恢复市场与去年同期相比增长了 22.5%,市场规模达到了 2.5 亿美元,显示出中国在数据备份和恢复方面的旺盛需求。如果没有备份数据库,一旦出了问题,企业就无法恢复数据,可能会导致损失惨重的后果。尽管无法恢复数据十分危险,这个情况却很常见。比如我们浏览论坛时,经常会发现网上到处都有人在问他们的数据去了哪里,以及如何才能找回数据。如果他们最近没有备份,那就肯定找不回数据。

备份数据库的另一个重要原因是数据安全。假如一家企业遭受勒索软件攻击,就必须把攻击前后的重要数据划分清楚。数据恢复可以提供一份未被攻击过的原始数据,让企业“倒转时间”。如果勒索软件攻击加密了一家企业的数据并造成了系统瘫痪,该企业可以将备份恢复成全新的系统来规避攻击。但如果没有备份,企业就无法恢复数据,也就无法维持其业务运行。

企业备份数据的成本

不同的企业对于数据库备份的成本有着不同的考量。

例如,负责系统的数据库管理员知道其公司在今年的前三周没有进行任何备份。那么一旦出了问题,数据库管理员就必须向公司解释为什么需要重新输入这三周的交易记录——毕竟他们只能恢复截止到 12 月 31 日的数据。如果数据库管理员在出问题之前没有做好备份,企业就得考虑重新输入大量数据的成本。

这也会给数据库管理员带来成本。如果他们负责经常备份数据库,没有备份就可能带来不良影响。无论是面对愤怒的经理还是丢掉工作,不备份数据库都会给数据管理员个人带来很高的损失成本。

另一个需要考虑的成本是数据存储成本,即企业用于备份数据库的媒介。无论企业购买的是异地存储还是云存储,都会产生相应成本。另外,企业必须考虑与其恢复时间目标(RTO)相关的成本——如果一个重要环节瘫痪了一小时,企业会遭受多少损失?在这段时间内又会损失多少销售额?

企业需要实现一种微妙的平衡:为了更好地存储数据而支付更多的钱,并进行更频繁的数据库备份,可以帮助企业减少恢复数据时可能失去的业务,但这是否抵得上最初投入的成本?这是所有企业都应该考虑的问题,尤其是在数据量不断增加的情况下。值得庆幸的是,企业可以采取一些措施来经济有效地管理数据库备份。

从备份中恢复数据库

数据库管理员的一项重要工作,是通过定期恢复数据库来保证在关键时刻也可以及时恢复数据。如果数据库管理员要负责成千上万个数据库该怎么办?不可能每次把每个数据库都恢复一遍,这样做也不值得。

由于不可能每次都恢复所有的数据库,所以数据库管理员必须明确需要定期恢复的数据库数量,以实现成本最小化,同时在出现问题时最大化恢复所有数据库的概率。根据统计抽样,在任意一天恢复少量随机选择的数据库(也许只有几十个),就可以让数据库管理员有 95% 的概率恢复所有备份。

另一个与此相关的成本是时间成本——需要时间来确定数据恢复的流程并定期测试这种随机恢复。但如果数据库管理员没有建立这个流程,企业会付出怎样的代价?显而易见,一旦在没有有效备份的情况下出错,企业就会遭受巨大的损失。所以数据库管理员对于数据备份的坚持不是毫无道理的,对于他们来说,最糟糕的事情就是丢失企业的所有数据,同时因为没有备份而束手无策。

常见和最佳的数据库备份措施

一些常见的数据库备份措施并不是最佳的。我们有时候有捷径可走,有时候又常常不知道自己应该如何开始。下面是一些企业在大部分(但不是全部)情况下可以采用的最佳实践:

  • 加密/密码保护

数据库管理员可以采用的一个最佳方案是对其数据库备份文件进行加密或密码保护。但数据库管理员一般不这么做,而大多数 IT 人员也只是进行本地备份。

尽管如此,对备份数据进行加密仍然非常重要。如果有人得到了备份的访问权限,他们就可以拿走所有数据并在另一个系统中恢复。使用密码保护文件至少有助于保证数据的安全。当然,加密备份文件也会产生相应成本。企业必须考量为了避免备份后被盗而付出这个成本是否值得。

  • 平衡工作负载

另一个需要牢记的最佳方案是确保备份不干扰其他工作负载。理论上,备份不应当影响机器内部发生的任何其他操作。如果备份正在被写入一个与其他共享系统一起存储的文档,那么整个写入过程都可能成为巨大的瓶颈。

  • 避免占用带宽流量

备份还会占用网络带宽。如果数据库管理员每天在同一时间运行备份,就会拖慢其他人的工作。交错备份(比如在凌晨 1 点备份一批服务器,在凌晨 2 点备份另一批,以此类推)可以帮助数据库管理员避免占用网络和给其他系统带来问题。

  • 了解并比较备份的收益与成本和风险

如同其他 IT 流程,企业在备份数据库时也需要考虑成本、收益和相关风险。定期备份和恢复会有经济成本,而完全不备份则会影响企业的收入和声誉。数据库管理员最不希望在出现问题时,因为没有备份而产生数据丢失风险。企业必须了解数据备份解决方案的重要性,才能谨慎地平衡成本与风险。