We have a large CMS application that produces quite a large amount of log data (upto 100,000 records per day). We want to be able to store the audit log, something like this -
'timestamp, entity type, entity ID, operation <ADD/EDIT/DELETE>, <change made>, userID'
So, for example, if we want to store information about who edited a page and when, entity type and entity Id would be 'page' and the page ID respectively. We would like to hold about 6-12 months of audit history and would like to be able to search the logs to satisfy queries like:
-
For Page A, give me all events
-
For Page A, give me all events where timestamp is between 10 days ago and now()
-
For Page A, give me all events where operation=EDIT and timestamp is between 10 days ago and 5 days ago
Between AWS Timestream and DynamoDB, which one would be a more optimal choice for this specific use case? How do these two services compare in terms of meeting the requirements?