Tengo un problema para decidir cómo almacenar estos datos en mi base de datos. ¿Alguna sugerencia sobre la mejor manera de hacerlo? No sé mucho sobre bases de datos, podría agregar.
Tengo datos en formato así, pero en lugar de 4, el número de columnas es de aproximadamente 240, por lo que cada fecha tiene 240 valores únicos asociados:
Date/Time 200,00 202,50 205,00
2010.11.12 13:34:00 45,8214 43,8512 41,5369
2010.11.12 13:35:00 461,9364 454,2612 435,5222
Además, las filas están asociadas con DataSites.
Mi primer pensamiento fue tener una tabla como esta: DataID (pk), DataSiteID, ParameterID, Date, Value, con un índice en DataSite, Parameter y Date. El ID de parámetro se refiere a otra tabla que almacena los encabezados de columna de entrada (200,00 202,50 205,00 ...).
Mi segundo pensamiento fue simplemente tener una tabla con las 240 columnas impares. He ideado algunas otras formas, pero también son bastante insatisfactorias.
El problema que tengo con mi primera solución (no es un problema tan grande, pero no me gusta), es que Date y DataSiteID se repetirán para los 240 valores en esa fila de entrada, por lo que usa bastante de espacio extra.
Habrá aproximadamente 40 gb de datos al año entrando (en el formato de texto anterior), y los datos se buscarán por DataSite, Parámetro y Fecha. La cantidad de datos que ingresan probablemente se cuadruplicará en un año más o menos.
Alguna buena idea? Gracias James
editar: se trata de datos de series temporales, siendo las columnas medidas en diferentes longitudes de onda. Los datos querrán ser analizados dentro de un rango relativamente estrecho de longitudes de onda. También podría haber longitudes de onda adicionales agregadas en algún momento en el futuro.
editar: Gracias por las respuestas chicos, realmente lo aprecio :) Creo que probablemente pueda encontrar tiempo para ejecutar algunos experimentos con 500 gb de datos de prueba. Volveré a publicar con cualquier conclusión;)