My requirement is for a data model where a full audit trail is retained for changes to every attribute of every object. Object definitions are also fluid: new attributes can ap
Performance would be a concern for such audit trails. I would go for a cache (which is quite fault tolerant) and persist the cache content when the count reaches certain threshold (say 1000 records). This would ideally be a batch update.
I feel in-memory databases with persistence options (like H2 ) should also do the same. But I haven't used it myself.