Datastore para grandes datos de simulación de astrofísica

Soy un estudiante graduado en astrofísica. Ejecuto grandes simulaciones usando códigos desarrollados principalmente por otros durante una década más o menos. Para ver ejemplos de estos códigos, puede consultar gadgethttp: //www.mpa-garching.mpg.de/gadget y enzohttp: //code.google.com/p/enzo. Esos son definitivamente los dos códigos más maduros (usan métodos diferentes).

Las salidas de estas simulaciones sonenorm. Dependiendo de su código, sus datos son un poco diferentes, pero siempre son datos grandes. Por lo general, se necesitan miles de millones de partículas y células para hacer algo realista. Las ejecuciones más grandes son terabytes por instantánea y cientos de instantáneas por simulación.

Actualmente, parece que la mejor manera de leer y escribir este tipo de datos es usar HDF5http: //www.hdfgroup.org/HDF5, que es básicamente una forma organizada de usar archivos binarios. Es una gran mejora sobre los archivos binarios sin formato con un bloque de encabezado personalizado (todavía me da pesadillas), pero no puedo evitar pensar que podría haber una mejor manera de hacerlo.

Me imagino que el tamaño de los datos es el problema aquí, pero ¿hay algún tipo de almacén de datos que pueda manejar terabytes de datos binarios de manera eficiente, o son los archivos binarios la única forma en este punto?

Si ayuda, generalmente almacenamos datos en columnas. Es decir, tiene un bloque de todas las ID de partículas, bloque de todas las posiciones de partículas, bloque de velocidades de partículas, etc. No es el más bonito, pero es el más rápido para hacer algo como una búsqueda de partículas en algún volumen.

editar Perdón por ser impreciso sobre los problemas. Steve tiene razón en que esto podría ser solo un problema de la estructura de datos en lugar del método de almacenamiento de datos. Tengo que correr ahora, pero proporcionaré más detalles tarde esta noche o mañana.

editar 2: Entonces, cuanto más lo analizo, más me doy cuenta de que esto probablemente ya no sea un problema del almacén de datos. El problema principal con el binario sin formato fue todos los dolores de cabeza al leer los datos correctamente (obtener los tamaños de bloque y el orden correcto y sersegur al respecto). HDF5 solucionó eso y no habrá una opción más rápida hasta que se mejoren las limitaciones del sistema de archivos (gracias Matt Turk).

Los nuevos problemas probablemente se reduzcan a la estructura de datos. HDF5 es tan eficiente como podemos obtener, incluso si no es la mejor interfaz para consultar. Al estar acostumbrado a las bases de datos, pensé que sería realmente interesante / poderoso poder consultar algo como "darme todas las partículas con velocidad sobre x en cualquier momento". Ustedlat haga algo así ahora, pero debe trabajar en un nivel inferior. Por supuesto, dado lo grandes que son los datos y dependiendo de lo que esté haciendo con ellos, puede ser bueno trabajar a un nivel bajo por razones de rendimiento.

Respuestas a la pregunta(1)

Su respuesta a la pregunta