I have recently been researching NoSql options. My scenario is as follows:
We collect and store data from custom hardware at remote locations around the world. We record data from every site every 15 minutes. We would eventually like to move to every 1 minute. Each record has between 20 and 200 measurements. Once set up the hardware records and reports the same measurements every time.
The biggest issue we are facing is that we get a different set of measurements from every project. We measure about 50-100 different measurement types, however any project can have any number of each type of measurement. There is no preset set of columns that can accommodate the data. Because of this we create and build each projects data table with the exact columns it needs as we set up and configure the project on the system.
We provide tools to help analyze the data. This typically includes more calculations and data aggregation, some of which we also store.
We are currently using a mysql database with a table for each client. There are no relations between tables.
NoSql seems promising because we could store a project_id, timestamp then the rest would not be preset. This means one table, more relationships in the data, yet still handling the variety of measurements.
Is a 'NoSql' solution right for this job? If so which ones?
I have been investigation MongoDB and it seems promising...
Example for Clarification:
Project 1 has 5 data points recorded, the mysql table columns look like: timestamp, temp, wind speed, precipitation, irradiance, wind direction
Project 2 has 3 data points recorded mysql table columns: timestamp, temp, irradiance, temp2