存储极客 | 多方位全面保护数据库

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介:
   “存储极客”栏目再次与大家见面啦!在这里,只有一位大咖名叫“存储”,它的粉丝我们称为“存储极客”!存储极客这是一群存储偏执狂

为存储而生,跟存储死磕

各具独家秘笈

有观点,有碰撞,有干货

从今日起

做客存储极客栏目

与你分享存储里的那点事儿


前不久看了朋友发的一条微博,去听了一场公开课,加深了我对数据库保护方面的理解,主要是结合使用多种措施的意义。

尽管我从事数据保护和灾备行业已经有几个年头,但更多时候是在向用户解释什么时候适合用备份?什么时候适合CDP(持续数据保护)?它们的区别,RPO和RTO等等。

简注:RPO——恢复点目标,即到故障发生前的数据丢失量RTO——恢复时间目标,即恢复故障所用的时间

拿这两个指标一衡量,就可以看出不同类型数据库保护/备份技术的差别,类似的比较网上有许多,在此我只是以Oracle为代表简单总结一下,如有不准确之处还请大家指正。

1.RMAN/备份软件简化跨平台数据保护为什么把Oracle RMAN和备份软件归为一类,因为后者目前主要的机制也是调用RMAN,或者导入/导出。作为一种定时的数据库物理备份方式,基于RMAN的备份可以保证恢复的有效性,以磁盘、磁带介质为目标,做到完全、增量和差异备份,可以说是DBA和备份管理员所必须掌握的。

不足:首先是备份间隔——定时备份通常不适合在业务繁忙时进行,所以频率不能太高,RPO相对较大;而且在有些数据量很大的用户那里,每天一次夜间备份窗口也不够用了,可能要改为每周一次;出现故障时,需要一个恢复的过程,数据才能可用,所以RTO也不算短;RMAN要求数据库必须打开归档日志。

如今随着两地三中心和双活的流行,人们对RPO和RTO的要求不断提高,备份看上去有些退居二线。但实际上它具有长期保留等方面的价值,还是很重要的一道保障。

代表产品:NetBackup、CommVault、戴尔NetVault(原Bakbone)等。

这些软件都能支持Windows、Linux和Unix多种平台,以及Oracle RAC集群。其中NetVault的一大特点是简捷易用,通过图形界面可以绕开RMAN命令的复杂性。


RMAN备份Oracle数据库到重复数据删除设备、远程复制容灾示意

1.5重复数据删除设备这里我加了一个特殊的序号,该产品分类实际上要配合备份软件或者RMAN来使用,目的是通过重复数据删除等优化技术,节约存储空间并加快备份的速度。站在数据库保护的角度,不应完全算做一个单独的技术路线。

代表产品:EMC DataDomain、戴尔PowerVault DR系列等。

2.数据库物理复制高可用的低成本容灾如今DataGuard(DG)已经是Oracle一个免费的组件,它通过将redo log同步/异步传送到本地或者远程的数据库服务器,再将对数据块的操作进行到备库。在11g之后的版本中,Active DataGuard(ADG)支持只读方式挂载的活动备库,不是完全的双活。

注:ADG是需要额外收费的,DG不单独收费。

同步方式的DataGuard基本上可以做到RPO=0,并且支持通过脚本来实现自动故障切换,RPO最短可达分钟级水平,不过生产环境中通常还是手动切换,毕竟一旦误切也挺麻烦的。


不足:由于传送的是全量日志,对网络带宽和延时的要求较高。另外常用的DataGuard物理备库,偶尔也会遇到由于Oracle某种bug或者其他原因,导致block逻辑损坏,而且这个损坏会传输到备库,导致备库也异常。

DataGuard比较适合低成本容灾,非ADG不需要另外购买License,但也需要有人来监控、维护库之间的复制状态,或者说对DBA水平要求高一些,还是会产生一定成本。

注:备份可以理解为将某个时间点的数据状态导出单独保存;而数据库软件复制,只是建立了备库,如果想回滚到历史状态都需要用数据库自身的日志来实现。

3.数据库逻辑复制随时可用的灵活容灾代表产品:Oracle GoldenGate、戴尔SharePlex(原Quest)等。

它们的共同特点,都是从Oracle日志中解析出逻辑SQL语句,发送到备库,并将这些SQL重新执行一遍,以达到数据复制的效果。由于解析出来特定格式的文件,本身不需要传递所有日志,这类软件在传输的过程中可能还增加了压缩功能,所以逻辑复制通过网络传送的数据量显著减少,对带宽要求降低,RTO最短可达1秒。

这类复制软件应用相当灵活,支持异构跨平台(比如在小型机和x86服务器之间),甚至跨不同数据库复制。数据库逻辑复制应用的场景包括数据迁移、多库合并、容灾等方面,能够做到双活双写实时可用,只是备库做不到与主库之间的严格同步一致(会有一点滞后)。因此不需要数据库的切换,只要做好站点的仲裁并在上层应用切换即可。


数据库逻辑复制流程示意

不足:正是因为灵活,逻辑复制有时没有redo log的物理复制来的可靠,因此有的DBA朋友提出它并不适合所有的容灾需求。另外,复制的对象是表,因此要求DBA必须参照主库提前规划好备库,增加了日常维护的工作量。还有就是价格,这类软件通常的销售方式是按照参与复制的节点数/CPU插槽来计算,所以购买成本不菲。

曾有业内资深人士表示,“SharePlex在国内的支持响应速度比较快,以前他们在某个用户的环境中遇到读归档日志慢的情况,原厂开发人员1天内就解决了这个bug。相比之下,有的厂商在国内的服务主要是第三方来做,原厂工程师来了有时解决不了问题”。

4.存储阵列的快照和复制改善的存储经济性磁盘/闪存阵列提供的本地、远程复制功能,被称为底层存储(数据块级)的容灾保护。在经过LUN的初始同步之后,只需要继续复制数据增量/变化量即可。该技术配置简单,以逻辑盘为单位,而无需关注到具体的应用数据内容。

存储级复制,容灾端阵列上的LUN可以随时挂载到备用数据库服务器使用,根据操作的自动化程度,RTO可达分钟级。同步复制(镜像)的RPO接近零,但需要裸光纤,并且一般距离不超过50公里;异步复制RPO通常不短于5分钟。


远程复制

不足:阵列复制只负责维护源端存储和目标端存储之间的一致性,而上面数据的有效性(比如数据库是否能正常打开)则不负责。因此该技术许多时候要结合快照一同使用。

快照是一种逻辑数据保护方式,它相当于在一个LUN上增加了时间点数据状态回滚/挂载的功能。为了实现应用数据的有效一致性,有些高级快照功能支持主机端代理程序,比如在快照之前通知Oracle将内存中脏数据写盘,短时暂停I/O等快照完成再恢复。此外,对于应用数据在多个LUN之间的同步一致,比如Oracle数据文件、日志文件等放在不同磁盘的情况,快照还需要支持一致性组功能,以保证它们在同一时间点创建快照。

快照能在很短的时间内回滚到历史点,或者直接生成即时数据回放(或称直接挂载、瘦克隆),需要人工干预但RTO也较短。带有快照的复制,能够更好地与应用结合。


高级快照功能

不足:不同阵列的快照技术水平,决定了对性能影响和磁盘空间的占用也不相同,单一LUN/整个系统的快照数量通常也会做出限制。因此默认就打开或者推荐用户使用快照的存储厂商并不多,比如戴尔SC(Compellent)和NetApp FAS系列。在存储高压力写入的情况下,即使有专门的一致性保证机制,还是有一定几率出现快照数据不可用的情况,这有点类似于主机掉电对数据库的影响。

戴尔SC系列得益于原生的底层存储空间虚拟化管理,在单一存储系统上支持高达16000个Replay快照,可短至1分钟间隔达到准CDP的效果。并独创了根据策略将快照数据转换为不同RAID级别(如RAID 10 to RAID 5/6)来节省空间,或者迁移到廉价存储层来降低成本。

对于快照、异步复制和同步复制功能,有些阵列品牌需要购买License,有的则包含在基础功能中。

小结戴尔一站式解决方案 构建多维度屏障

正如那位数据库专家朋友有感而发:“Oracle的备份、容灾不能全部依赖物理DataGuard容灾。因此在条件允许情况下,建议增加物理备份和逻辑容灾。”这里的物理备份就是我们介绍的第1类——RMAN/备份软件;逻辑容灾则是第3类——数据库逻辑复制软件;我认为第4类——存储阵列的快照和复制也可以作为一种补充。这三类产品戴尔全部都有,而且在技术上还都是属于广受好评的,能够为用户提供一站式解决方案。

至于同时应用多重数据保护技术是否复杂?“取决客户对于数据安全的重视程度”。本文我们只是拿Oracle来举例,对于其它类型数据库也可以作为一个参考。



作者:佚名
来源:51CTO
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
分布式存储数据恢复—hbase和hive数据库数据恢复案例
分布式存储数据恢复环境: 16台某品牌R730xd服务器节点,每台服务器节点上有数台虚拟机。 虚拟机上部署Hbase和Hive数据库。 分布式存储故障: 数据库底层文件被误删除,数据库不能使用。要求恢复hbase和hive数据库。
58 12
【赵渝强老师】达梦数据库的逻辑存储结构
本文介绍了达梦数据库的存储结构,包括逻辑和物理存储两部分。逻辑存储结构由数据库(Database)、表空间(Tablespaces)、段(Segments)、簇(Cluster)和页(Page)组成。数据库是最大逻辑单元,包含所有表、索引等;表空间由数据文件组成,用于存储对象;段由簇构成,簇包含连续的数据页;页是最小存储单元。文中还提供了查询表空间、段和页大小的SQL语句,并附有视频讲解和示意图。
【赵渝强老师】达梦数据库的物理存储结构
本文介绍了达梦数据库的存储结构及各类物理文件的作用。达梦数据库通过逻辑和物理存储结构管理数据,包含配置文件(如dm.ini、sqllog.ini)、控制文件(dm.ctl)、数据文件(*.dbf)、重做日志文件(*.log)、归档日志文件、备份文件(*.bak)等。配置文件用于功能设置,控制文件记录数据库初始信息,数据文件存储实际数据,重做日志用于故障恢复,归档日志增强数据安全性,备份文件保障数据完整性,跟踪与事件日志辅助问题分析。这些文件共同确保数据库高效、稳定运行。
PolarDB开源数据库进阶课3 共享存储在线扩容
本文继续探讨穷鬼玩PolarDB RAC一写多读集群系列,介绍如何在线扩容共享存储。实验环境依赖《在Docker容器中用loop设备模拟共享存储》搭建。主要步骤包括:1) 扩容虚拟磁盘;2) 刷新loop设备容量;3) 使用PFS工具进行文件系统扩容;4) 更新数据库实例以识别新空间。通过这些步骤,成功将共享存储从20GB扩容至30GB,并确保所有节点都能使用新的存储空间。
56 1
时序数据库 TDengine 化工新签约:存储降本一半,查询提速十倍
化工行业在数字化转型过程中面临数据接入复杂、实时性要求高、系统集成难度大等诸多挑战。福州力川数码科技有限公司科技依托深厚的行业积累,精准聚焦行业痛点,并携手 TDengine 提供高效解决方案。
68 0
列式存储数据库与超市的关系?
列式存储数据库是一种高效的数据管理方式,类似于超市将相似商品集中摆放。它将相同类型的数据(如年龄、价格)归类存储,便于快速查询和压缩,广泛应用于市场分析、财务报告和健康数据分析等领域。知名产品包括HBase、ClickHouse、Druid和Apache Cassandra等,适合处理大规模数据和实时分析任务。
75 4
快速搭建南大通用GBase 8s数据库SSC共享存储集群
本文介绍如何GBase8s 数据库 在单机环境中快速部署SSC共享存储集群,涵盖准备工作、安装数据库、创建环境变量文件、准备数据存储目录、修改sqlhost、设置onconfig、搭建sds集群及集群检查等步骤,助你轻松完成集群功能验证。
服务器数据恢复—华为S5300存储Oracle数据库恢复案例
服务器存储数据恢复环境: 华为S5300存储中有12块FC硬盘,其中11块硬盘作为数据盘组建了一组RAID5阵列,剩下的1块硬盘作为热备盘使用。基于RAID的LUN分配给linux操作系统使用,存放的数据主要是Oracle数据库。 服务器存储故障: RAID5阵列中1块硬盘出现故障离线,热备盘自动激活开始同步数据,在同步数据的过程中又一块硬盘离线,RAID5阵列瘫痪,上层LUN无法使用。
PACS系统 中 dicom 文件在mysql 8.0 数据库中的 存储和读取(pydicom 库使用)
PACS系统 中 dicom 文件在mysql 8.0 数据库中的 存储和读取(pydicom 库使用)
164 2
支持配置审计日志的存储数据库
审计日志作为企业监管平台的重要依据,同时也是“等保三级”认证的必要考察项之一。Dataphin V4.3版本支持设置平台日志的存储数据源,帮助用户快速获取审计日志,同时介绍了不同部署模式的Dataphin如何查看审计日志的方法。
230 5

热门文章

最新文章

下一篇
oss创建bucket