Cassandra es la opción obvia. Con MongoDB o cualquier RDBMS, mantendrá todos los ticks en una tabla (colección en el lenguaje de Mongo) e indexará por ticker. Esto significa que cuando quieras recuperar los datos de un ticker, los datos no estarán almacenados de forma contigua, y tendrás un masiva uso de índices y lecturas aleatorias. Incluso con los SSDs esto es lento. Para 500k ticks en Python desde Mongo me lleva más de 200 segundos en un solo I7 equipado con 16GB SSD. Sí se puede hacer un cluster, pero el punto de partida es pobre. ¿Imagina si necesitas traer 100 tickers?
Con Cassandra, todo se almacena en familias de columnas. Grandes dictos de dictos, básicamente. Consigues un almacenamiento totalmente secuencial de cada ticker, lo que significa que puedes volver a los HDs giratorios si quieres, pero con los SSDs grita positivamente la recuperación de datos. Estoy hablando de menos de 15 segundos para lo mismo que lo anterior. Ni siquiera voy a entrar en la facilidad con la que añadir nodos a Cassandra acelera esto. El promedio de 15 segundos es en un un solo ordenador . Muchas de las "razones para Cassandra" en la web hablan de su fácil escalabilidad usando múltiples nodos, y es cierto que esto lo hará aún más rápido / seguro, pero para mí este almacenamiento secuencial en columnas es lo que lo hace perfecto para las finanzas. Comienza orientado a las series temporales, mientras que Mongo no lo hace. El diseño le da al menos un orden de magnitud fuera de la caja antes de empezar a jugar con los clusters y / o la optimización. Si sabes Python, la analogía es sencilla. Cassandra es a Mongo (o un RDBMS) como Numpy es a las listas de Python. Punteros encadenados a puntos de datos dispersos en lugar de un gran trozo de datos contiguos.
Lo contrario, por supuesto, también es cierto. Si su caso de uso es un solo (pocos) registro(s) entre millones (típico en aplicaciones web), Mongo hace esto mucho más fácil que Cassandra. Cassandra es para big data, mientras que Mongo/RDBMS se adapta mejor a las cargas de trabajo del tipo web-userID. Parodójicamente, mientras que SQL, por ejemplo, se considera bastante rígido en comparación con "NoSQL", en mi opinión, Cassandra es incluso más rígido que las bases de datos relacionales. Pero vaya que se obtiene rendimiento si se aceptan sus estructuras.
BTW Hbase es otra opción columnar pero no tengo experiencia con ella. El mensaje principal es, olvídate de RDBMS o NoSQL "tradicional". Estas son malas opciones para múltiples series de tiempo. Lo que quieres es una base de datos de columnas, de la cual Cassandra es un excelente ejemplo.