¿Qué es un buen diseño de bases de datos relacionales para los datos del mercado de valores?

StackOverflow https://stackoverflow.com/questions/6071888

  •  07-09-2020
  •  | 
  •  

Pregunta

Supongamos que hay dos tipos de mensajes, cotización y comercio.Ambos tienen diferentes campos.Por ejemplo, el comercio tiene solo un solo precio.La cotización tiene un precio de oferta y pide.Quiero mensajes de proceso a tiempo para hacer algo como lo siguiente:

if (QUOTE) {
...
}
if (TRADE) {
...
}

Mi problema es que los dos mensajes están en diferentes formatos, por lo que no puedo obtenerlos en la misma tabla de la base de datos.Si no puedo conseguirlos en la misma tabla de la base de datos, ¿cómo proceso secuencialmente?¿Alguna idea para un diseño adecuado?

¿Fue útil?

Solución

La respuesta depende completamente de lo que está haciendo y en el lugar donde su aplicación se conecta a los flujos de datos.

En un extremo, podría simplemente responder las cotizaciones de los clientes que está tirando de una API, y básicamente implementando un caché.En este caso, dos tablas están bien.

En el otro extremo, podría estar monitoreando las cotizaciones en tiempo real para una plataforma de comercio de alta frecuencia, en cuyo caso el rendimiento probablemente descartará el uso de una base de datos en absoluto (las cosas construidas en torno a Lisp, como alquile, podrían ser másapropiado), excepto para recopilar periódicamente las estadísticas agregadas.

Otros consejos

La respuesta corta es, 'No realmente' para el mercado de valores y otros datos de la serie de tiempo Un almacén de valor clave como Berkley DB o Mongo es bastante bueno.Además, un formato de datos como NETCDF (http://en.wikipedia.org/wiki/netcdf) probablemente lo servirá mejor a largo plazo.También depende de qué tipo de acceso desee y cuánto tiempo desea almacenar.

No indicó lo que estaba haciendo con los datos, que deberían informar sus opciones de almacenamiento más que nada.Por ejemplo, una aplicación de comercio de alta velocidad tendrá diferentes compensaciones de almacenamiento que un sistema histórico de procesamiento por lotes (donde Hadoop + NetCDF sería genial).Ymmv

kdb + / q

es una muy buena opción para los datos de garrapatas.Utilizado por los principales bancos.

aquí es la información sobre eso.

Puede instalar una versión de sendero y jugar con él.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top