Poging 2 - Gelieve niet de topic weer platbombarderen en gelocked laten worden binnen 24uur voordat ik kan reageren
Ik waardeer jullie inzet maar het werd wel iets te enthousiast
OT: Databasekeuze sensordata
Originele vraag (Updated versie eronder)
De sensoren zijn niet aan elkaar gelinkt, en zijn voor bijv. de binnen en buitentemperatuur. Ze nemen allebei een waarde op, en geven dat iedere x seconden door.
Ik heb wel wat ervaring met MySQL, alleen niet met grote datasets, maar vandaar dat in eerste instantie mijn voorkeur daar naar uit ging. Ik sta zeker open voor andere (betere) opties.
Ik heb al wat aanbevelingen gezien voor verschillende DB's, o.a:
Klopt deels. Ik had dat in gedachten omdat ik hem heb staan, en niet bijv. een server/pc 24/7 erbij wilde zetten. Een optie voor een Rb. PI is eventueel ook een optie, alleen heb ik daar weinig ervaring mee, vandaar dat ik voor de vertrouwde weg koos.
Hetzelfde voor dit:
En ook werd er bijvoorbeeld CSV voorgesteld:
Als laatste vraag heb ik nog: Hoe gaat InfluxDB om met grote datasets tov. bijvoorbeeld MySQL?
En wat is de performance als je de data van 2 sensoren in 1 table gooit, of in 2 aparte tables ?
OT: Databasekeuze sensordata
Originele vraag (Updated versie eronder)
Updated:Ik ben een klein projectje begonnen waarbij ik iedere 15 seconde 2 temperatuur sensoren uitlees dmv. een Arduino.
Ik ben nu op het punt aangekomen om de data op te gaan slaan in een database zodat er een frontend gemaakt kan worden.
Welke database zou het beste bij dit type data passen?
Gewoon MySQL of is wellicht MongoDB beter? De database zal lopen op een Synology NAS.
Ik denk eraan om 2 tables te maken, 1tje voor sensor 1 en 1tje voor sensor 2.
Per table heb je alleen het tijdstip en de temperatuur waarde.
Per dag worden er ~11500 entries aan de database toegevoegd. (Iedere 15s 2sensoren => 8per min => 480 per uur => 11520 per dag)
Uiteindelijk word de data uitgelezen en een grafiek gemaakt dmv van Highcharts oid.
De sensoren zijn niet aan elkaar gelinkt, en zijn voor bijv. de binnen en buitentemperatuur. Ze nemen allebei een waarde op, en geven dat iedere x seconden door.
Ik heb wel wat ervaring met MySQL, alleen niet met grote datasets, maar vandaar dat in eerste instantie mijn voorkeur daar naar uit ging. Ik sta zeker open voor andere (betere) opties.
Ik heb al wat aanbevelingen gezien voor verschillende DB's, o.a:
Daarna werd gereageerd met: "Maar de eis was toch dat het draaien moet op een Synology"Compizfox schreef op dinsdag 25 juli 2017 @ 23:21:
[...]
Geen van beide. Neem een DBMS die bedoeld is voor time series data, zoals InfluxDB of Graphite.
Klopt deels. Ik had dat in gedachten omdat ik hem heb staan, en niet bijv. een server/pc 24/7 erbij wilde zetten. Een optie voor een Rb. PI is eventueel ook een optie, alleen heb ik daar weinig ervaring mee, vandaar dat ik voor de vertrouwde weg koos.
Hetzelfde voor dit:
Mijn gedachte hierbij ging uit naar overzichtelijkheid met de eventuele optie voor het bijprikken van een 3de sensor. Maar dit kan dus anders.Creepy schreef op woensdag 26 juli 2017 @ 11:39:
Dus voor elke nieuwe sensor een nieuwe tabel aanmaken? Sorry, maar dan heb je het echt niet begrepen. Dat kan de TS wel willen in eerste instantie, maar dat klopt gewoon niet. Ik denk dat jeroenk13 dat nu wel inziet.
En ook werd er bijvoorbeeld CSV voorgesteld:
Hierbij zit ik dus met de vraag hoe het op de lange termijn gaat. Volgensmij is een CSV bestand totaal niet geschikt voor de hoeveelheid data over de jaren heen.Merethil schreef op woensdag 26 juli 2017 @ 12:12:
[...]
Lees even goed wat ik voorstel. Ik stelde dit voor:
code:
1 2 3 4 5 sensors id name 1 sensor_1 2 sensor_2
code:
1 2 3 4 5 6 7 sensor_data_type id name 1 temperature 2 height 3 air_density 4 door_open
code:
1 2 3 4 5 6 7 measurements id sensor_id timestamp value data_type 1 1 12570127 "12.3" 1 2 1 12575126 "312" 2 3 2 12575127 "12.8" 1 4 2 12575127 "true" 4
Dit is nagenoeg letterlijk EAV zoals beschreven hier: Wikipedia: Entity–attribute–value model
[...]
Dan is een binair bestand prima imo, geef ik je groot gelijk in!
Als laatste vraag heb ik nog: Hoe gaat InfluxDB om met grote datasets tov. bijvoorbeeld MySQL?
En wat is de performance als je de data van 2 sensoren in 1 table gooit, of in 2 aparte tables ?