2011-02-16 222 views
1

我目前正在使用Zend Framework开发一个大型管理系统(在PHP中使用Zend Framework,但这不是真正解决这个问题的方法),在这个系统中我必须管理多个条目。每个条目都有许多字段,并以1对多关系(通过一个外键)跨越两个表。第一个表中大约有50个字段,第二个表中有30个字段。数据库条目修改历史

我现在处于对用户(和一些自动化任务)所做的不同修改进行历史跟踪的阶段。每个条目可能会最终部分或全部回滚到先前的值。

我在考虑使用类似于CMS Typo3中存在的系统。一个表来管理整个历史具有以下字段

  • history_id
  • entry_id
  • entry_table
  • last_modifcation_timestamp
  • last_modification_user
  • 数据

的数据将是“连载“以json或xml格式。

我通过这种方法担心的是加班时间,历史表的内容会成指数增长。为了解决这个问题,我想我可以建立一个新的数据库来管理这个历史,然后每年向用户显示历史数据。

我在寻找有关改进此解决方案和简化实施的方法的建议。任何意见或文件,以帮助我将受到欢迎

+0

你只是序列化旧数据,并假设最新版本的数据在其他表中? – Chris 2012-03-26 12:15:13

回答

1

我会添加一个阈值,并删除或转储到外部文件所有条目超过一定的时间。