11 votos

Que la Base de datos (MySql o NoSQL) para un mercado de valores de la Aplicación

Yo estoy re-creación de una aplicación para Stockmarket de Detección y en tiempo real de gráficos de la Pantalla.

La base de datos de la estructura metálica que propongo para el diseño es el siguiente:

1. Empresa master - Donde toda la información de la empresa está dado: Código de proveedor|Empresa Nombre Completo|Empresa nombre Corto|Código de la Industria|Industria Nombre Completo|Promotor Código de Grupo|Grupo Promotor|EXCHANGE1 CÓDIGO|CATEGORÍA de ACCIONES|EXCHANGE2 CÓDIGO|TIPO|CÓDIGO ISIN|TIPO de STOCK

2. ) Intradía de Datos Donde todos los minutos en los que el precio de una acción es Almacenado: (Este se sobrescribirán el siguiente día de negociación) EXCHANGE1 de CÓDIGO ABIERTO | PRECIO | ÚLTIMO PRECIO | DAYHIGH | DAYLOW | Precio de la Oferta | Oferta Cantidad | VOLUMEN |VALOR |Fecha y Sello de Tiempo

3. Los Datos históricos (sabio de Día): EXCHANGE1 CÓDIGO | PRECIO de apertura | CIERRE | PRECIO DAYHIGH | DAYLOW | VOLUMEN | Fecha

4. Datos fundamentales (No se ha dado plena pensamiento): Esto podría almacenar todos los datos fundamentales como el pasado 4 de qtrly informes, los Competidores, los balances, Ratios Financieros, Declaración de P&L, Promotor Detalles etc..

Consultas más típicas serían:

Cotización De La Acción De La Página: Serie de tiempo de los Gráficos de Precios con la selección del usuario, Intradía, 1 semana, 1 mes, 6 meses, 1 año, 5 años

Fundamentales de los Datos que se presentan en forma de diagrama (i.e el crecimiento en las ganancias, el crecimiento en las ventas), además de Otros Datos fundamentales y Noticias

Acciones De Detección : (Consultas De Ejemplo)

  • Me muestra el stock de las empresas que han aumentado sus ventas en un 20% por año en los últimos 3 años

  • Muéstrame las empresas whos PE está a menos de 10

  • Muéstrame la empresa, cuya qtrly el beneficio ha crecido en un 15% por año en los últimos 5 años

  • Muéstrame las empresas en el sector de los Automóviles cuyos últimos 100 días avg precio es menor que el precio actual
  • Mostrar 50day, 100day, 200day medias móviles simples etc etc..

Ahora mismo estoy en una etapa en la cual tengo que decidir qué base de datos a utilizar MySQL y MongoDB (NoSQL Documento) o Cassandra (NoSQL Columna). Así que en el caso anterior, la base de datos que debo usar? y ¿por qué? (Ventajas/Desventajas) Quiero una rápida ejecución, la integridad de los datos, de alta concurrencia, la agregación de datos & de cálculo (Análisis).

Además debemos tener en cuenta que las tablas de datos que se actualiza cada minuto y que también sirve de visitantes de las solicitudes de la misma DB simultáneamente. De manera consistente & libre de errores de lectura/escritura es también de importancia.

Comentarios/críticas sobre mi DB de malla de alambre también la bienvenida.

Saludos Soleado

7voto

Jawad Puntos 204

Una base de datos SQL es generalmente mejor para estructurada de datos, las consultas ad hoc y de las consultas relativas a unirse a varias entidades juntos para encontrar los resultados. También le ayudará a mantener la consistencia de los datos y la integridad de los forzando esta más diseño estructurado. Reciente en la memoria de las características de los modernos motores de bases de datos ofrecen la mayoría de los restantes ventajas de rendimiento de NoSQL.

Si los fundamentos de la parte de la base de datos consta de los datos no estructurados (tales como archivos adjuntos), entonces NoSQL es una buena opción aquí. Pero una tabla de SQL con el nombre de archivo de referencias funciona casi igual de bien.

Mi recomendación para el proyecto es PostgreSQL, pero si tiene que ser uno de los mencionados a continuación, MySQL.

4voto

Ivan Prodanov Puntos 171

Usted va a querer bases de datos diferentes para diferentes datos. Por ejemplo, la empresa master, datos históricos y datos fundamentales, probablemente, puede vivir en un estándar de base de datos SQL (MySQL o Postgres son razonables opciones).

Si el intradía de datos es relativamente baja frecuencia (por ejemplo, 1 minuto a bares o inferior), que probablemente se puede poner en la bd de SQL así. Si es muy grande (por ejemplo, tick por tick datos de múltiples intercambios), SQL no puede ser una gran elección. En ese caso, usted va a querer ir con algo como HDF5 archivos, o incluso de un formato de archivo personalizado dependiendo de qué tipo de consultas que desee hacer.

Cuando los datos se hace muy grande, es importante pensar acerca de exactamente qué tipo de consultas que se van a ejecutar en él, y optimizar la estructura de los datos (backend, formato de archivo, el diseño de columna, etc) para satisfacer sus consultas.

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