Database solution for tracking metadata including changes

0

We have some Timestream tables of what I think you could call "metadata" to help us correspond data with devices, customers, etc. Here is an example of a table used to track our hardware devices: Enter image description here We choose to use Timestream so that we could easily track and query changes to this metadata overtime. But, it feels kind of shoehorned into Timestream, and we're not convinced that Timestream is the best solution for tracking this information. In these tables, 'measure_name' will always be the same. Every record is a multi-measure record. Every record will have the same attributes/columns used. We don't yet really understand the purpose of the dimensions/dimension columns, but know that they have to be VARCHARs. Sometimes, we push records that all have the same time stamp, as you can see in the image. Because those records also has the same measure name and version, the dimension value has to be different. We think that the dimension is meant to help optimize queries, but because of the way that we're using it, it won't. Is that the case?

What are your suggestions for how else to go about this?

Our other leading idea is to swap to DynamoDB tables. We would drop the dimension and measure_name columns/attributes and keep the rest. And we would add a 'changelog' column/attribute that is a list of strings, each giving a datetime and brief description of the change made to that row at the specified time. Thoughts on this?

Thanks!

asked a month ago186 views
1 Answer
1

Your plan to move to DynamoDB seems reasonable. If you're not leveraging Timestream for its specific time based features then DynamoDB would be a sufficient alternative.

As you wish to track changes over time, you may think of using an append only style, making your items mutable:

https://repost.aws/articles/AR9Ift3Y_3Tzmudasxb8ywTA/using-dynamodb-as-an-append-only-database

profile pictureAWS
EXPERT
answered a month ago
profile picture
EXPERT
reviewed 23 days ago
  • Thanks for your reply. In our case, I don't think it makes sense to make the data immutable since some values will change. In the example above, the note and status attributes will change over time, and we want to be able to track those changes.

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions