2

我是 MySQL 新手。我正在研究在 Amazon 的 RDS 上设置一个 MySQL 5.5 实例。我过去曾作为开发人员使用过 DB2,但不是作为 DBA。

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

这种方法很好,因为它不会给实际事务本身增加风险,并且回滚也得到了很好的处理。我需要完成同样的事情,但使用 MySQL。

可能的方法

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

我过去写过很多数据库触发器,所以这种方法似乎是可行的。然而,这似乎是一个严厉的黑客攻击,可能会降低性能并增加每个事务的风险,并且可能会遇到其他无法预料的 MySQL newb 类型问题。还有另一种 MySQL 风格的方法来处理这个问题吗?数据不需要保留在同一个数据库中,最好存储在单独的数据库中。

4

0 回答 0