title: Database entries modification history
body: <p>I am currently working on a big management system (in PHP using Zend Framework, but that is not really revelant of the solution to this question) in which I have to manage multiple entries. Each entry has many fields and span on two tables in a 1-to-many relationship (through a single foreign key). There is roughly 50 fields in the first table and 30 fields in the second one.</p>
  
  <p>I am now at the stage to implement a history tracking of the different modifications made by users (and some automated tasks). Each entry might enventually be rolled back partially or totally to a previous value.</p>
  
  <p>I was thinking about using a system similiar to the one present in the CMS Typo3. One table to manage the whole history with the following fields</p>
  
  <ul>
  <li>history_id</li>
  <li>entry_id</li>
  <li>entry_table</li>
  <li>last_modifcation_timestamp</li>
  <li>last_modification_user</li>
  <li>data</li>
  </ul>
  
  <p>The data would be "serialized" in a json or xml format.</p>
  
  <p>My concerns through this method is that overtime, the content of the history table would grow exponentially. To overcome this issue, I was thinking that i could make a new database to manage this history every years and then show history data by years to the users.</p>
  
  <p>I am looking for advice about ways to improve this solution and ease the implementation. Any advice or documentation to help me will be welcome</p>