【发布时间】:2020-06-11 11:54:53
【问题描述】:
我有关系数据库 MySQL。要求是将少数表的记录及其相关记录归档,以便从活动数据库中完全删除,并在需要时将其归档以供以后访问。顺便说一句,Web 应用程序是基于 Rails 构建的。
有没有一种方法,原始数据库上的任何插入或更新都会反映到存档数据库中,而原始数据库上的删除不会更新到存档数据库中。
这样存档的数据库就拥有完整的活动和存档数据。并且原始数据库只有实时可访问的数据。
或者是否有任何不同且有效的解决方案。为什么是因为,如果我们采用蛮力方法,每当数据移动到存档数据库时,都需要识别所有记录及其依赖记录并将其移动到存档数据库,然后删除原始数据库中的相应记录。
使用 Rails 框架,在依赖时删除相关和依赖记录相对容易: :destroy 配置正确。
【问题讨论】:
-
我不确定这样做的确切目的是什么。这显然不是备份,因为活的影子数据库可以像原始数据库一样被黑客入侵。我很确定有更优雅的方式来实现这个目的(对我来说看起来像是一个 XY 问题)。
标签: mysql ruby-on-rails database archiving