32 votos

El rendimiento de código Abierto de la Serie de Tiempo de la Base de datos para los Datos del Mercado Financiero

Nos gustaría tienda financieros de la garrapata de datos en una base de datos (potencialmente miles de millones de filas) y, a continuación, crear agregados (abierto-alto-bajo-cierre) de la barra de datos de la misma (por ejemplo, 1 minuto o 5 minutos de barras).

Se mencionó que una NoSQL o series de tiempo de la base de datos podría ser una buena opción para esto. ¿Alguien puede dar algún consejo sobre que producto de código abierto podría encajar este requisito mejores.

Nota: el rendimiento de la consulta es muy importante para nosotros.

En nuestra investigación nos encontramos con los siguientes productos (tal vez hay más):

Nos hizo correr una prueba con InfluxDB con alrededor de 10 millones de garrapatas. Por desgracia, la creación de 1min barras fue 3-5 más lento que con una relación de base de datos (es decir, MySQL).

Somos conscientes de que KDB ahora ofrece una versión de 32 bits, pero por desgracia de 32 bits no será suficiente para nuestro caso de uso.

Cualquier consejo se agradece.

EDICIÓN (Septiembre De 2015): también hicimos una prueba con OpenTSDB que parece ser bastante rápida. La importación de 10 mio. los precios tomó cerca de un minuto y la agregación en 1 Min Bares tomó cerca de 5 segundos.

EDICIÓN (Enero De 2017): Más de un año después de la prueba inicial que dio InfluxDB otra oportunidad y resulta que se han hecho progresos enormes en el ínterin. El rendimiento de la escritura es ahora de hasta 2 millones. puntos de datos por segundo (con la versión 1.2)! Ahora hemos decidido integrar InfluxDB en nuestro propio producto AlgoTrader

15voto

Timothy Carter Puntos 7079

Usted podría intentar Ártico. Otras de código abierto orientada a columnas de bases de datos que usted puede no haber considerado incluir LucidDB y C-Store.

5voto

Craigy Puntos 111

Divulgación: yo trabajo para la empresa de desarrollo de ATSD.

Axibase de la Serie de Tiempo de la Base de datos no es de código abierto, pero su edición de la comunidad es libre.

Precisión de la hora es de milisegundos. Valor es float, double o long.

EDIT 1: de febrero de 2016. ATSD JDBC de Tipo 4 conductor liberado bajo la licencia Apache 2 para simplificar el acceso a los datos de las aplicaciones Java.

EDIT 2: Marzo de 2016. Precisión Decimal se introdujo a preservar los datos de entrada sin pérdida de precisión.

Es compatible con OLCH período de agregadores (primera, min, pasado, max) así como min_value_time y max_value_time agregadores:

min_value_time  Time when the minimum value (min) occurred during the period.
max_value_time  Time when the maximum value (max) occurred during the period.

Suponiendo 24 horas de garrapatas en 10 milisegundos de frecuencia para un total de 24*3600000/10=8.64 M garrapatas. Toma de 70 segundos para cargar estas muestras en ATSD y entre los 14 y los 22 segundos para calcular y rizo-descarga de 1 minuto, 5 minutos y 1 hora OLHC barras para el día de la marcha.

Me interesaría saber se compara esto con su configuración actual.

1voto

Neo Puntos 43

Echa un vistazo a Cassandra. Libre y de código Abierto DB, noSQL. Es casi perfectamente se adapte a su caso.

1voto

Johannes Brodwall Puntos 3469

** divulgación: yo trabajo para quasardb **

Hi - puede que desee ejecutar la edición de la comunidad de quasardb. Si el conjunto de datos si lo suficientemente pequeño (32 GB de almacenamiento) - esto puede funcionar muy bien !

https://download.quasardb.net/quasardb/nightly/server/ (get 2.1.0 que viene con nativos unicc de apoyo)

Viene con Python/EXCEL API .. R a seguir.

La edición de la comunidad es 100% características completas. Sólo la parte final de la capacidad de almacenamiento es limitada.

Saludos Gilles

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