Comp-490-SeniorProject / site

MIT License
0 stars 1 forks source link

Implementing DynamoDB and Boto3 #27

Open AyeZian opened 2 years ago

AyeZian commented 2 years ago

Plan out how we will be using DynamoDB and Boto3, specifically how we will be storing data.

MarkKoz commented 2 years ago

Some things to look at:

I'll add another comment with more things if I think of anything else later.

MarkKoz commented 2 years ago

We decided to only support the same 4 sensors for all devices. Furthermore, we decided for now to store the data for each sensor as a separate table. Thus, there will need to be 4 tables. Each table needs to have a test ID and the sensor data resulting from that test.

We discussed adding the insertion time as a column to each table. It's not completely clear if this will be necessary, as each test ID already has a specific time it's associated with in the backend. Having the device store the insertion time may be useful for determining when the test finished. However, if the backend uses a stream to get notified of insertions, it could also just take the current time at the point of receiving a notification from the stream

In any case, it probably doesn't hurt too much, if at all, even from a good-practice design perspective, to include the time as a column. One possible argument against it could be that both DynamoDB and the PostgresSQL db for the backend would be storing the same data, since the latter's model has a field for the test's end time.