¿La tecnología de Key-Value Store como Redis reemplazará completamente la tecnología de base de datos o MongoDB en el futuro cercano?

Las bases de datos orientadas al almacén de claves cubren un caso de uso diferente que las bases de datos orientadas a esquemas.

Son rápidos parcialmente porque son intencionalmente agnósticos en cuanto al contenido de los valores, pero hay muchas razones por las que uno desearía tener la validación y la aplicación del esquema en el lado del servidor.

Este es el ejemplo más simple de por qué uno podría desear la implementación del esquema en el lado del servidor: actualizaciones .

Una tienda de valores clave como Couchbase realiza actualizaciones en el lado del cliente utilizando un “cliente inteligente”. He aquí por qué esto no es necesariamente deseable:

  1. Consistencia : ¿qué sucede si más de un cliente está intentando realizar una actualización? No hay forma de aplicar eso bajo una arquitectura simple de valor clave. Uno tendría que crear algún tipo de sistema de bloqueo de fila distribuido, que derrota los beneficios de rendimiento de una tienda KV.
  2. Rendimiento : las actualizaciones que se realizan al extraer el documento al cliente son necesariamente más lentas que las actualizaciones que se realizan en el lado del servidor.

Ese es solo un caso de uso que una tienda KV no necesariamente hace muy bien en cubrir.

Para leer más, vea mi publicación donde explico las compensaciones de NoSQL vs. RDBMSes más.

Las bases de datos relacionales (RDBMS) y las tiendas de valores clave NoSQL resuelven problemas fundamentalmente diferentes.

Las bases de datos NoSQL se escalan muy bien. Proporcionan lecturas / escaneos rápidos y escrituras para terabytes y petabytes de datos. Lo que no hacen es proporcionar garantías de bases de datos relacionales como atomicidad, consistencia, aislamiento y durabilidad, o ACID.

Hay y ha habido intentos de combinar los dos en un único sistema de base de datos holístico, pero las compensaciones (probablemente) siempre existirán. Las restricciones son útiles para ciertas aplicaciones, pero su mantenimiento es costoso.

Hay múltiples suposiciones en esta pregunta que están mal.

  1. SSD no ha reemplazado HDD. SSD es (actualmente a partir de 2014) alrededor de $ 1 / GB, mientras que HDD puede ser tan barato como $ .05 / GB. Para las empresas que almacenan datos en los petabytes, uno tiene una ventaja de costos muy clara. Los discos duros tienen un gran rendimiento en algunos casos de uso y horribles en otros. Lo mismo para SSD.
  2. MongoDB es un almacén de documentos, no una base de datos tradicional.
  3. La ley de Moore se relaciona con la potencia informática del procesador frente a su costo, no tiene nada que ver con las capacidades de la base de datos.

Para responder las múltiples preguntas:

  • Redis y almacenes de valores clave binarios similares no reemplazarán “completamente” nada. Tienen sus casos de uso y los hacen muy bien. También lo hace Mongo, MySQL, Neo4j, hBase, etc.
  • Las aplicaciones no serán “sin DB”. Para que esto suceda, la potencia y el procesamiento informáticos deberían ser tan baratos y potentes que analizar los datos directamente en las plataformas transaccionales no tiene efectos negativos en la aplicación (estamos a años luz de eso, si es que lo hay).
  • Siempre estamos al borde de un cambio tecnológico. Hace unos años era móvil. Hoy es “big data”. Quien sabe mañana.