“越是漂亮的女人就越会骗人 , 记住啊!”
“不光是漂亮的女人不能相信 , 连貌似忠良的男人也不能相信 。 ”
我觉得这段对话充分展示了一个产品的售前与售后的结局——殊途同归 。 对于售前来说 , 拼指标、造场景、讲故事等等手段都是为了证明我家产品很棒 , 快来买买买;就售后而言 , 找到产品的痛点 , 予以规避 , 以达到保证工作顺利开展 , 避免一口大锅从天而降的目的 。 大家都是靠博弈而生的 , 没什么两样 , 手里的牌均是对技术的了解 。
扯远了 , 回到it项目中 , 异构数据库的同步往往是逻辑的同步方式 , 这种方式必然有各种瓶颈的 。 对售后来说 , 再怎么谩骂售前“管杀不管埋”也无济于事 , 最现实的做法莫过于:找到短板 , 通过改善流程、优化需求甚至协同开发商改造应用的方式保证软件的稳定运行 。
这里先讲个故事 。 Timesten是Oracle的内存数据库 , 其Cachegroup功能可以实现从物理库(即Oracle DB)到内存库的实时数据同步 , 而这个同步延迟对业务稳定运行是非常关键的 。 在实际使用中 , 运维人员总结出的经验就是得规避大事务变更 , 最终他们与开发商达成相应的操作规范 , 无论是业务变更需求也好 , 数据库运维发起的清理作业也罢 , 如涉及Timestens同步的表 , 都得遵循变更量达10w万就得分批提交 , 每个批次2万条记录 , 每批次之间sleep 30秒的硬性规定 。 我觉得这个故事的结局很完满了 , 真的 , 要是换成非得揪着Timesten不放 , 意图纯粹靠软件解决问题的话 , 那才是妥妥的灾难现场呢 , 毕竟其基于trigger的同步机制从原理上就对大事务极不友好……
问题来了 , 如何找到软件的短板呢?
阅读官方文档自然是一个渠道 , 当然 , 阅读也是有“技巧” 的 :
- 我们支持xx指标以内的场景 , 这句话可以理解为超过这个您就得想想办法了 , 同时 , 这个值也许是要打个折的 , 毕竟环境不一样 , 存在差异也是很合理的 。
- 我们支持功能a , 也支持功能b , 这都是实话 , 至于同时支持功能a和b是您自己认为的 , 我可没说 。
除了文档以外 , 我们还可以考虑结合自身经验考虑下述点 。
- 大事务测试
以dts为例 , 源端oracle数据库产生的所有数据均会被拉到dts的库中分析 , 哪怕这数据与我们的同步策略无关 。
目前有个黑名单功能可以绕过这问题 。
- 长事务测试
很明显 ,这是被ogg吓到的结果 。
- 频繁事务测试
特别声明:本站内容均来自网友提供或互联网,仅供参考,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
