Estamos construyendo un sistema de medición que eventualmente consistirá en miles de estaciones de medición. Cada estación ahorrará alrededor de 500 millones de mediciones que consisten en 30 valores escalares a lo largo de su vida útil. Estos serán valores flotantes. Ahora nos preguntamos cómo guardar estos datos en cada estación, teniendo en cuenta que estaremos construyendo una aplicación web en cada estación de tal manera quebuena (noSQL?) Base de datos para mediciones físicas
- queremos visualizar los datos en varias escalas de tiempo (por ejemplo, mediciones de una semana, mes, año)
- que necesitamos para construir las medias móviles a través de los datos (por ejemplo, la media más de un mes para mostrar en un gráfico año)
- la base de datos es necesario que haya (cortes de energía resistentes a choques)
- sólo estamos haciendo escribe y lee, no hay actualizaciones o elimina en los datos
Además, nos gustaría tener un servidor más que pueda mostrar los datos de, digamos, 1000 estaciones de medición. Eso sería ~ 50 TB de datos en 500 mil millones de mediciones. Para transmitir los datos desde la estación de medición al servidor, pensé que algún tipo de replicación a nivel de base de datos sería una forma limpia y eficiente.
Ahora me pregunto si una solución noSQL podría ser mejor que mySQL para estos fines. Especialmente couchDB, Cassandra y tal vez tiendas clave-valor como Redis me parecen atractivas. ¿Cuál de estos se adecuaría mejor al modelo de datos "series de tiempo de medición" en su opinión? ¿Qué pasa con otras ventajas como la seguridad contra fallas y la replicación de la estación de medición al servidor principal?
También encontré NetCDF: ¿alguien tiene experiencia con esta? Está hecho para series de tiempo, pero no estoy seguro acerca de la resistencia a fallas y escalado usando múltiples servidores ... – Chris