MarkLogic version : 9.0-6.2
I apologize for the open-ended question, but looking forward to get some suggestions.
We built DataHub Framework with staging and final databases. We save all the incoming changes AS-IS into staging and update the latest snapshot of data in the final db (for example, if a phone number changes 3 times, staging would have all 3 but final would only have the latest phone number). This satisfies our operational needs but lately we got auditing requirements to preserve changes and also run reports on historic changes.
Our preference is to keep FINAL DB lighter and simpler, so looking for alternatives to enabling temporal on FINAL db. One option I am thinking is to feed data from staging DB to a down-stream audit database (relational), but some of the team members thinks that data should always be fed to consumers from final db, not from staging db. Are there any downsides in feeding data from staging db to consumers?
At this point of time, we do not have setup to process updates in real-time from final db to down-stream audit db, so we will not be able to feed audit from final db unless temporal is activated.
Thanks in advance!