I am facing, in these days, the problem of storing some Time Series Data.
This data is taken from an industrial machine: for each job (about 3 per hour, 24/24h), a software records:
- oil pressure;
- oil temperature;
- some vibrational data.
Vibrational data is taken at very high frequency (> 10 kHz), and leads to very massive memory requirements. This issue made my company evaluate some possibilities to efficiently store this data.
Inserts will be not very frequent (maybe 1 or 2 times per day, when the machine is not operative). Reads will be potentially very frequent (another software will retrieve data for plotting and analyzing purposes).
For now, a single node will be used for storing data, so I don't want (for now) to take into account partitions and parallelization matters.
What solution should I prefer? A relational DBMS (such as MySQL or PostgreSQL), or a common-purpose NoSQL DB (e.g. a column-oriented one - consider that all Time Series will be univariate -, like Cassandra, or a document-oriented one, like MongoDB)?
Beyond my particular use case, when generally to prefer RDMBS over NoSQL for Time Series storing? When to prefer NoSQL over RDBMS?