You must track changes made to objects in the database.
The trivial implementation will be to have a mirror table that receives the records inserted into it using triggers, either inside the database or inside the application, but this affects performance and over time the mirror database becomes huge and essentially doubles service time, when the source table should be changed (the mirror table should reflect this change).
Since my biggest requirement is to have minimal impact on database and application performance, my current preference is to flush changes to syslog-ng by udp and store them in text files.
After all, the change log is not something that is often accessed, so it can even archive it well over time. But, obviously, with this setup, actual access to this data is rather complicated.
So, I think, my question is: is there already a system that at least partially satisfies my needs? An ideal fit would be available via UDP without a database access scheme with the ability to automatically archive data (or at least the minimum amount of configuration required for this), or to slow insert performance very slowly. MongoDB? CouchDB? Yourdb?
source share