- 论坛徽章:
- 2
|
我也来举一个比较常见的oracle的策略,在数据量比较大的时候,可能比较注重下面的方式。
1. 数据量不大的时候,用expdp之类的导入导出备份数据是一个方案,但在大数据的时候这不是一个好的选项,大数据量的时候,全备+增量备份 是一个必要的选项。
在大数据的应用场景下,NoSQL固然新颖,但传统的关系型/事务型的解决方案依然有比较好的思路, 比如在 增量备份这一点上,Incremental的方式能让每次备份的IO和存储空间减少,然>后在一段时间内再做全备,可以达到一个比较好的折衷效果。
现在还有许多客户比较喜欢磁带,这一点我们可以认可,但在备份策略上,我们建议有条件的客户,在磁带和硬盘上都做备份,毕竟有时候硬盘的速度还是相对要好。
当然有客户如果用Exadata的解决方案,那么EHCC(混合列压缩)特性就比较好用,特别是在大数量的表结构下,节省不少的存储空间。(这是以cpu/mem的压力换来的。)
至于说RAID,我觉得吧,在数据量不大的时候,RAID0/5之类分别做redo/datafile的做法,在大数据量时候已经不再适用了。因为大数据的时候像RAID5极易出大问题,而与其用RAID6还不如用ORACLE自己的,我比较建议使用Oracle 11.2的用户攺用ASM自身的冗余策略,比较建议High Redundancy.当然这样的一个问题是不支持直接冷备份到物理文件~
2. 备份大概就是这样的思路,但我们有时候会把HA当成备份策略的一部分目标,毕竟在销售和客户眼里,MAA的很多概念都是混用的, 很多人不会太在乎HA, Rebalance, 以及扩展性能的区别>。
所以现在比较普遍的策略是DataGuard,这是对于普通厂商的推荐解决方案,因为DG的部署费用不高。从可用性和业务持续性的角度,DG可以保证能够fail over,而且其实在平时也是一个备
份选项。
RAC+DG是一个比较成熟的方案,无论是在实验室还是客户环境下都经受过考验,而像Exadata上的RAC做DataGuard则是比较高级的客户需要考虑的,因为RAC,还有高速的infiniband网卡传输
保证了在主机业务中断时候做的fail over可以尽可能地减少性能影响。(其实在现实环境下Exadata做DataGuard的不多,而像在ebay这些客户的实例中,其实容错等问题已经解决得比较好了,>像disk坏掉之类,直接换上就好了,像一个机房跳电了或者受影响了,备份的DataGuard Slave才会起来。)
这样的话,考虑的业务连续性,也就是比如一台主机不能提供服务,另外一台主机会响应服务,算HA。 也比如一台主机的负担大,业务排队多,可以分流给压力小的主机,这算Rebalance。
而主机间的透明切换,对用户来说不影响结果,甚至性能基本无影响的,就是MAA的要求了。
3. 像一些partner也提供了非常好的组合 解决方案,比如EMC,可以看看下面的方案,用EMC DataDomain来备份好Exadata的关键数据,并且基本不影响其性能。
http://www.emc.com/collateral/ha ... -tech-review-wp.pdf
http://www.emc.com/collateral/ha ... -ora-exadata-wp.pdf
4. 更大的概念,毁灭性的打击对于机房安全,关键业务的安全要求也很高。
所以现在很多客户的机房选址都对于电力,网络供应的安全性要求比较高。而有些关键业务,在成本和损失之间权衡的话,我觉得GoldenGate也是可以考虑的,他本身就是对于数据安全来设计的, 像RAC+GG的方案,国内像移动和一些大的政府部门的关键业务也都已经有了部署。
总而言之,我觉得这种解决方案,
一是要尽量满足高可用性,减少对关键数据的安全担忧,减少对终端用户的业务影响。
一是要符合大数据的规律,试想如果没有DataGuard,只做全备+增量备份,那么关键业务fail后,恢复的时间太长,远远抵不上损失。
还有一个就是量力而行,重要的关键数据关键业务,做Goldengate甚至机房备份,这些都没问题,但如果衡量下来 做这些保障需要的成本 甚至高于 可能承受的损失,那怎么考量? 不必盲目。
|
|