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
You can also create a logging system in application code. Log calls to every function that modifies the database and results in a successful COMMIT.
Answer to your question: no, just use a RDBMS. It'll be easier to run queries on the log.