amazon-web-servicesamazon-dynamodbamazon-timestream

Application (audit) logging using AWS - Timestream vs DynamoDB


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?


Solution

  • 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.