Nous construisons un système de mesure qui comprendra éventuellement des milliers de stations de mesure. Chaque station économisera environ 500 millions de mesures comprenant 30 valeurs scalaires sur sa durée de vie. Ce seront des valeurs flottantes. Nous sommes maintenant demander comment enregistrer ces données sur chaque station, étant donné que nous allons construire une application web sur chaque station telle quebonne base de données (noSQL?) Pour les mesures physiques
- nous voulons visualiser les données sur plusieurs échelles de temps (par exemple, des mesures d'une semaine, mois, année)
- nous avons besoin de construire des moyennes mobiles sur les données (par exemple, en moyenne plus d'un mois pour montrer dans un graphique de l'année)
- la base de données doit être collision résistant (coupures de courant)
- nous faisons seulement écrit et lit, pas de mise à jour ou de suppression sur les données
En outre, nous aimerions un serveur de plus qui peut afficher les données de, disons, 1000 stations de mesure. Ce serait ~ 50TB de données dans 500 milliards de mesures. Pour transmettre les données de la station de mesure au serveur, j'ai pensé qu'un certain type de réplication au niveau base de données serait un moyen propre et efficace.
Maintenant, je me demande si une solution noSQL pourrait être meilleure que mySQL à ces fins. Surtout couchDB, Cassandra et peut-être des magasins de valeur-clé comme Redis regarder attrayant pour moi. Laquelle de celles-ci conviendrait le mieux au modèle de données "série chronologique de mesure" selon vous? Qu'en est-il d'autres avantages tels que la sécurité en cas de panne et la réplication de la station de mesure au serveur principal?
J'ai également trouvé NetCDF - quelqu'un a-t-il eu de l'expérience avec celui-ci? Il est fait pour les séries temporelles, mais je ne suis pas sûr de la résistance au crash et de la mise à l'échelle en utilisant plusieurs serveurs ... – Chris