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 run the following queries on the data:
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?
DynamoDB is by far the the better service for this use-case, you are only needing key-value lookups and don't require the additional features that Timestream offers, like running analytical queries over a given time period.
It's a simple design for DynamoDB where you can efficiently perform your access patterns and you can also use TTL to delete data older than 12 months free of charge.