This would be a scheduled batch process that removes any records older than a configurable retention period.
Ideally this configuration could be applied at the global level with additional configuration per message type that would override the global setting (although the per message type configuration is not essential in the initial implementation).
Another nice to have would be to archive (vs. purge) to another set of tables in the same or different schema with ARCHIVE_) prefixes.
This would be a scheduled batch process that removes any records older than a configurable retention period.
Ideally this configuration could be applied at the global level with additional configuration per message type that would override the global setting (although the per message type configuration is not essential in the initial implementation).
Another nice to have would be to archive (vs. purge) to another set of tables in the same or different schema with ARCHIVE_) prefixes.