Choosing between NoSQL and Relational databases while having both flexibility and consistency requirements
0
votes
1
answer
221
views
I've never worked with databases professionally and only toyed with database coding using a small sqlite db for my own music collection. Now I'm asked to build an internal database system at work for multiple users. After basic reading of NoSQL vs. relational databases, I'd like to have some ideas on how to choose the right technology.
## Context
- Before this database, the users work with spreadsheets entirely.
- Those sheets differ in structure (schema) from project to project.
- Sometimes the same project has several different sheets that need to be isolated but still exist in the same database.
- We want to import all those sheets into a database and with new fields added and old fields names/values updated on the fly without breaking the original spreadsheets
- When source control ops happen, we want to be able to connect to the database and update certain fields regarding the source control management status
- The database will be used by various users from different locations, all through the in-house network for now. There won't be a lot of users like on Facebook or Twitter.
- All the data must be localized into multiple languages and ideally co-exist in the same database.
## Questions
- Since we'll have different sheet structures, is NoSQL a better option than a relational database?
- The users will go on using spreadsheets and may change their sheet structure on the fly. Will this be a lot of trouble for NoSQL or relational databases such as SQLite?
- NoSQL does not support the ACID of relational databases, does it mean that data may get corrupted when multiple users work on the same record? We normally would like consistency.
- If we maintain an optimized database but still want to be able to export selected portions or entire as CSV or JSON files? Will NoSQL or relational work better?
- How to handle access control from scratch if we do it online? Will this affect the choice of database tech?
- For this type of system, should we hire a database expert dev and/or maintainer? Can we build on some free/open-source infrastructure that requires the least amount of backend/frontend, security tech R&D?
Thanks for your input in advance!
Asked by kakyo
(111 rep)
May 26, 2021, 10:05 AM
Last activity: May 27, 2021, 02:09 AM
Last activity: May 27, 2021, 02:09 AM