数据备份与数据还原 ----数据库的异地容灾策略

Tip:最近,老大让在数据库加密系统里添加数据备份与还原的功能,在不影响原有系统的性能基础上保证设计备份策略,欲哭无泪。

一个关于数据库的系统,首先要保证数据的稳定性和安全性,在保证数据的不会被丢失的基础上保证数据不会被第三方窃取。

威胁数据库的因素大致分二种:

1:物理威胁:对数据库服务器的物理损坏,例如:电磁干扰,硬盘损坏等。

2:网络威胁:通过网络窃取数据库中内容,常用手段有:通过窃取服务器权限获取数据,通过截取数据包获得数据,通过获得管理员帐户密码获取数据等。

为了应对这些威胁,则需要设计数据库加密系统来解决,例如使用三权分立保证第三方即便获取到其中一个管理权限也无法获取到完整数据,通过通信加密保证数据通信的安全,通过加密数据库,密文与密钥分离保证第三方即便获取到一个服务器的权限也无法获取到完整数据。

但是再完美的数据库加密系统也无法防止数据库服务器被物理损坏,应此需要异地容灾策略来应对物理威胁。

异地容灾策略

异地容灾首先保证数据库服务器与备份服务器处于二地,然后考虑备份数据传输性能和安全性。

一:物理手段

定期将数据库服务器内更新的数据拷贝到硬盘中,然后使用快递寄到另一处。

优点:安全性高,成本低(快递便宜)。,

缺点:自动化程度低。

二:LOG日志备份还原。

每日手动或自动将数据库系统的写命令记录到LOG日志中,加密传输到备份服务器中。

优点:备份方案简单,适合短期备份。

缺点:数据还原编写较难,需要设计LOG日志格式方便实现数据回滚和指定数据查找(还原指定表)。

          还原速度较慢(例如数据库服务器损坏后,需要恢复一年前建立的表内数据,则需要从一年前的相关命令开始逐一运行,恢复数据库)。

          需要数据库建立之初便开始备份。

三:DB2备份还原

将数据库服务器的写操作定时传输到备份服务器中,备份服务器根据相应的写操作同步数据内容。

其备份流程为:


其还原也较为简单,查询数据库中存在的表后,一 一将数据转换成SQL语句后传输回数据库服务器,也可以在另一端转化成SQL语句。


优点:用户通过备份服务器也可以访问到数据,方案实现简单。

缺点:对备份服务器性能要求较高,服务器配置最好与数据库服务器配置相同。

          当数据量较大的时候(几十T),数据还原对带宽的要求较高。同理当一次性增加几T数据时,也考验备份性能(异步或同步)。因此建议当数据库损坏后,当数据量较大时,直接将备份服务器寄过去,(想到这里,感觉让我设计备份还原功能好坑)。假设备份数据库同样工作在数据库服务器工作的局域网内,则系统可以直接IP切换过去,省了笔运费。

          需要保证二端数据的一致性,可以通过二端计算表内hash值的方法,确保数据一致。每日备份完后,对有变动的表进行校验。


后期等我实施结束再更新。

     


猜你喜欢

转载自blog.csdn.net/wjb123sw99/article/details/80878456
今日推荐