Closed kjeganathan closed 3 years ago
@PYee1999, @ShotaroSessions, and I worked together to research relational, non-relational and graph databases for this project.
This document contains our research, which is summarized below.
Based on our discussion, we think a NoSQL document database like MongoDB will strike a good balance between efficiency and ease of use for our team. For us, these were the main deciding factors:
If we go through with this decision, we will have to make sure we're aware of the downsides by keeping queries simple and making our data consistent.
We did note the benefits of choosing a SQL database for this app. It would be easier to express our relationships and run queries like "most values met" and "most recognized." Additionally, our data format is mostly fixed. However, given our timeframe, scope, and stack (so far), we think NoSQL will make life a little easier.
Simply getting the data in our database would be trivial. We could create collections for employees and values using the data as-is. This would only take a few lines of JavaScript to get up and running.
Realistically, we would want to make some changes. For example, we probably shouldn't store passwords in plaintext like they are presented in the data export. We would also want to think about what we want our query results should look like, and model the data based on that.
Research database design and decide between relational, non-relational, and graph databases.
Deliverables: