Un columnar o base de datos No-SQL solución puede ser su mejor opción.
Depende del sistema operativo de destino, lo que a su latencia y el rendimiento son los requisitos y si usted mira a persistir todos los datos o no y, finalmente, cómo el gran tamaño de sus datos, se espera que sea. Obviamente, si sólo se ven a la tienda de horas/días de datos, a continuación, incluso una base de datos que consta de un año de todas las opciones de datos de la SPX500 activos subyacentes pueden caber en la memoria y si ese es el caso, usted definitivamente debe mirar RedisDB. Puede conservar los datos de la instantánea, pero en general los carga en la memoria.
Si el tamaño de los datos es una limitación para el montaje en la memoria, a continuación, otra solución como RavenDB (bien escrito .Biblioteca de red), o de otros non-.net la solución, dependiendo de los requisitos, tales como Mongo o el Sofá db puede adaptarse a una gran cantidad mejor. Por favor, añadir más requisitos y estoy feliz de editar mi post y agregar información, dado que creo que puedo aportar valor.
Editar:
De acuerdo a la información actualizada recomiendo a mirar más de cerca a Redis : No sólo hay bibliotecas para casi cualquier lenguaje de programación y OS imaginables (yo lo uso en mi .Net framework con la BookSleeve API). Usted también consigue un gran apoyo en R. Se puede volcar, literalmente, de la serie de tiempo con millones de elementos, tienen que permanecer en la memoria (también puede persistir) pero puede increíblemente rápido acceso a los datos de R. yo no sé una manera más rápida de acceder a datos de series de tiempo de R para ser honesto, más la indexación de los paquetes le dará una gran descriptor de acceso de la biblioteca. Si usted busca algo rápido, eficiente y buscamos el perfil ideas o datos, que alude a R de uso, a continuación, RedisDB Es lo que quieres. Por supuesto, esto no debería ser una solución de datos grandes requisitos, pero usted mencionó específicamente a lidiar con cada hora/diario de datos y para ese propósito, incluso una máquina con 16 gb de memoria del procesador ejecutar código de 64 bits será suficiente así, ciertas sugerencias que redis obligará a invertir en indignante hardware son injustificadas. Si usted mira fuertemente el perfil de los datos en R o python u otros idiomas y desea un rápido acceso, a continuación, redis es tu solución. Si eres más información sobre el almacenamiento a largo plazo y están dispuestos a aceptar las latencias de acceso a disco entonces no hay necesidad para una memoria caché basada en db y en lugar de buscar en el documento u otra clave/valor o columnar almacenes de datos.
Otras soluciones pueden funcionar también, pero si usted mira a resolver todos sus requerimientos, que no te obligan a sentarse durante días sólo de pensar en esquemas y las relaciones de la tabla sólo con el fin de obtener un SQL solución que va a continuación, os recomiendo mirar en la dirección de Redis o enfoques similares y no SQL. Columnas de bases de datos también pueden trabajar a pesar de que las soluciones de código abierto son más bien entorpecen el trabajo y yo diría que no muy bien pensado, en términos de facilidad de uso y extensibilidad. (Ejemplo: HDM5, a pesar de su más de un formato de archivo de una base de datos, pero hasta el 2013, los chicos aún no han logrado activar dinámicas de tamaño de los datos en hdf5 archivos. Usted puede eliminar el contenido, sino el espacio asignado no es devuelto. Lo que la gente me diga acerca de la NASA o de otras organizaciones de usarlo, me instalé la historia en la forma en que esas son las grandes organizaciones con fuerte participación del gobierno en los que la financiación y los recursos en muchas áreas que no son de prioridad puede llegar a ser extremadamente escasos. No creo que cualquier organización grande iba a funcionar en la década de 1990 tipo de bases de datos si tenían suficientes fondos para trabajar en el desarrollo de mejores. Esa es la razón por ciertas organizaciones de usar, pero no me parece un punto que habla en favor del uso de la base de datos Berkeley o HDF5; he usado ambos y que les sea muy limitado en muchos aspectos, además de que el rendimiento no ser que gran.
Resumen: selección de su arma de elección, en columnas de bases de datos podría ser la solución si usted está dispuesto a trabajar en torno a veces extraño las limitaciones de la api de núcleo o estructura de datos, pero son para tratar con datos de series de tiempo. O eligió no SQL soluciones, ya sea de una memoria/memoria caché basada en soluciones o puramente persistió queridos. Pero yo le aconsejo que no vaya con SQL. Generalmente es un regalo de un principiante o de la persona joven cuando se le preguntó la base de datos que se utilizan para el tiempo de almacenamiento de la serie y viene la respuesta que el uso de MySQL, MySQL o SQL incrustado soluciones. Aquellos que simplemente no están diseñados para manejar datos de series de tiempo también.