La principal ventaja de una base de datos relacional es la capacidad de relacionar e indexar información. La mayoría de los sistemas 'NoSQL' no proporcionan un álgebra relacional o un gran lenguaje de consulta.
Lo que debe preguntarse es si el cambio tiene sentido para mi caso de uso previsto.
Te has perdido el punto. El punto es que a veces no tienes un índice (de la forma en que lo haces con un DB relacional general). Incluso cuando tiene un índice, la capacidad de relacionarlo entre sí es difícil y en qué bases de datos relacionales se destacan. Las soluciones NoSQL tienen una cantidad de estructura novedosa que hace que muchos usos sean trivialmente fáciles, p. Redis es una base de datos orientada a DB bien adaptada para construir rápidamente cualquier cosa con colas o su arquitectura pub-sub. MongoDB es una base de datos de documentos de forma libre que almacena documentos como JSON (BSON) y se destaca en el desarrollo rápido. Las soluciones de BigTable están un poco menos estructuradas que eso, pero amplían la idea de una fila para tener familias de columnas: pares clave de valores contenidos en cada fila organizados de manera eficiente en el disco. Puede construir un índice invertido además de esto con una tecnología como ElasticSearch.
No todo necesita las garantías de consistencia o el diseño del disco de un RDBMS tradicional. Otro caso de uso importante de NoSQL es la escalabilidad masiva, muchas soluciones (por ejemplo, BigTable - HBase/Cassandra) están diseñadas para fragmentar y escalar horizontalmente fácilmente (¡no tan fácil con SQL!). Cassandra en particular está diseñado para ningún SPOF. Además, los almacenes de datos orientados a columnas están destinados a optimizar las velocidades de disco a través de lecturas secuenciales (y reducir write-amplification). Dicho esto, a menos que realmente lo necesite, un servidor SQL tradicional generalmente es lo suficientemente bueno.
Tiene ventajas y desventajas. Personalmente, uso una mezcla de ambos. Use la herramienta adecuada para el trabajo correcto, que puede terminar siendo PostgreSQL o MySQL la mayoría de las veces.
Puede comparar un sistema básico de valores-clave para crear una tabla SQL con dos columnas, una clave única y un valor. Esto es bastante rápido. No necesita hacer ninguna relación, correlación o recopilación de datos. Solo encuentra el valor y devuélvelo. Esto es una simplificación excesiva, las bases de datos NoSQL tienen una gran cantidad de funcionalidades y aplicaciones interesantes más allá de las simples tiendas K, V.
No sé si sus datos científicos son adecuados para la mayoría de las implementaciones de NoSQL, eso depende de los datos. Si miras a HBase o Cassandra, es muy posible que se adapte a las necesidades de un científico (con el diseño adecuado de la clave de fila - la marca de tiempo no debe ser la primera, echa un vistazo a OpenTSDB). Conozco muchas empresas que almacenan lecturas de sensores en Cassandra mediante el uso de un particionador de orden aleatorio y el UUID del sensor para enrollar las lecturas en filas gordas diarias. Todos los días se crean nuevas bases de datos en torno a casos de uso específicos, de modo que la respuesta puede cambiar. Para casos de uso específicos, puede obtener enormes recompensas por el uso de almacenes de datos específicos a costa de flexibilidad y herramientas.
¿Por qué quiere "... reemplazar una base de datos relacional que he estado usando" ?? –
porque la cantidad de datos que pronto se almacenarán (cuando un nuevo grupo que está a bordo comience automáticamente a enviar datos desde sus instrumentos) aparentemente hará que el sistema sea muy lento. – Ankur
Una base de datos relacional correctamente configurada, con un buen hardware, podrá hacer frente a la mayoría de las cargas. –