1 votos

Base de datos gratuita para almacenar datos de ticks intradía y consultar datos de barras (velas) en hardware económico

Estoy usando una máquina en la nube con 512 RAM para almacenar los datos de las velas en mysql, pero estoy teniendo problemas para consultar los datos de las velas. Mi solución actual es seleccionar todos los datos dentro de un intervalo de tiempo y hacer la conversión tick -> vela en el navegador, pero ese cálculo es demasiado pesado para rangos de tiempo largos.

He buscado preguntas similares, he investigado sobre bases de datos de series temporales, incluso he considerado soluciones de bases de datos como servicio. (Todavía estoy contactando con una de ellas para ver si me proporcionan los datos que faltan para las velas)

La cuestión es la siguiente:

Dados unos datos de 5 ticks por segundo (estos pertenecen a diferentes activos), Y un hardware de bajo presupuesto (512 RAM, 1 Core, 15 GB de disco vacío), Cuando necesito agregar los datos en velas de períodos arbitrarios, ¿Qué solución de base de datos existente sería más apropiada?

Mi solución actual es almacenar una columna indexada adicional con tiempo redondeado a 5 minutos, 10 minutos, 30 minutos, 1 hora, 5 horas, 1 día y escribí consultas mysql que pueden producir asset/open/high/low/close/start_time/end_time filas según estas columnas en un intento de acelerar las consultas. Sin embargo, independientemente del índice que utilice y de la forma en que optimice las consultas, éstas acaban tardando segundos (y no milisegundos), lo cual es inaceptable.

¿Existen bases de datos que resuelvan mi problema?

Edición: los chicos de tempodb han dicho que acaban de añadir first y last funciones agregadas a su api :-) Min, max, first y last es todo lo que necesitaba para crear datos de barra

1voto

George Campbell Puntos 11

Recomendaría desnormalizar los datos o utilizar una base de datos de documentos como NoSQL o MongoDB. Estas ofrecen una ventaja de velocidad al realizar sentencias select, ya que no habría necesidad de buscar o unir datos de otras tablas. Una ventaja de utilizar una base de datos de documentos es que almacenan los datos en un formato estándar de la industria, como JSON o XML, por lo que debería ser fácil extraer todos los datos del lado del cliente y realizar las transformaciones allí en lugar de tener que depender del servidor para realizar los cálculos.

0voto

Mike Stone Puntos 21293

Personalmente, utilizo HDF5/PyTables (muy rápido dado que es gratuito) para el componente de almacenamiento de datos y luego utilizo pandas para remuestrear los datos.

En mi opinión, es mejor utilizar archivos planos que una base de datos relacional.

Finanhelp.com

FinanHelp es una comunidad para personas con conocimientos de economía y finanzas, o quiere aprender. Puedes hacer tus propias preguntas o resolver las de los demás.

Powered by:

X