Open AyeZian opened 2 years ago
Some things to look at:
I'll add another comment with more things if I think of anything else later.
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.
Plan out how we will be using DynamoDB and Boto3, specifically how we will be storing data.