0004 - DynamoDB for default database¶
Date¶
2022-06-17
Status¶
Superseded by 0005 - Data Persistence
Context¶
Now that we need to store data for BetterFleet Bus and other products going forward, we are investigating which DB structure is best to store scenario parameter data. We have investigated the advantages of various Amazon offerings including S3, RDS and DynamoDB.
RDS has been used previously for storing similarly structured data. It has advantages when needing to explore relationships between records. Its disadvantages are a more difficult development experience and higher hosting costs.
DynamoDB provides a NoSQL alternative with cheaper data storage and simpler development experience, at the expense of the relational benefits of RDS. However, we anticipate few relational use cases (joins etc.) when developing.
Decision¶
Our default choice for a database service will be Amazon's DynamoDB.
Consequences¶
We will need to be aware of the added complexity of joining between DynamoDB tables.
We will be using a mixture of SQL and NoSQL databases in the foreseeable future. This implies we will either have differing data storage technologies going forward (probably preferred), or we will have to spend time migrating these architectures to DynamoDB.