在MySQL 5.5中归档事务数据的最佳方法

时间:2013-05-08 01:31:27

标签: mysql transactions replication capture

我是MySQL的新手。我正在考虑在亚马逊的RDS上设置MySQL 5.5实例。我以前作为开发人员使用过DB2,但不是DBA。

我要求在数据库中存储事务性(不是正常意义上,读取:^))数据。当我在DB2上执行此操作时,我们使用CCD表来实现此目的。 CCD设置基本上使用解析日志文件的外部作业,然后将事务加载到镜像原始表的表中,并包含事务元数据的其他列(事务何时发生,是插入/更新/删除,等等)。 一些“如何”可能有点偏,但最终效果是准确的。

这种方法很不错,因为它对实际的交易本身没有任何风险,并且回滚也得到了很好的处理。我需要完成同样的事情,但是使用MySQL。

可能的方法

在MySQL中,我可以通过在每个我想要捕获事务的表上为每种类型的事务(I / U / D)创建单独的触发器来完成此操作,并让触发器填充我创建的一些新表来镜像我希望监控原始表格。

我过去写过很多数据库触发器,所以这种方法似乎可行。然而,这似乎是一个苛刻的黑客攻击,可能会造成性能损失并增加每笔交易的风险,并可能遇到其他无法预料的MySQL新手类型问题。是否还有另一种MySQL风格的处理方法?数据不需要保留在同一个数据库中,最好存储在单独的数据库中。

0 个答案:

没有答案