Mysql – What DB should I use in the case?

database-designmongodbMySQL

I'm writing a software in C# that downloads some data from a website and stores it in a DB daily.

The data is cases that were processed at that day. Each case has attributes like case_creation_date, who processed it, company and etc… There can be many cases with same case_creation_date. The approved cases can be from a year ago or from a month ago for example.

At first I'll run the service to download the data for each day for the last year. Then, it will download the data daily and add them to the DB.

Also, every day I'll run a query to show how many cases were approved per month. A user would be able also to run his queries.

What DB should I use in my case? Should it be mysql, monogodb, regular csv file or something else?

Best Answer

Use the database that supports all of your Business Requirements. Changing databases can imply complete rewrite of your application. Remember: "Database agnostic code is a myth".

Things that are usually left out of a Business Requirements List

  1. Security
    • ROLE/GRANT?
    • Row Level Security? (RLS)
    • Transparent Data Encryption? (TDE)
    • Virtual Private Database (VPD)
  2. Costs
    • Acquisition of in-house skills (train/hire)
    • long term maintenance costs (pay scale of developers)
    • license/maintenance costs of the software itself