NoSQL: Cómo elegir base de datos

Última actualización: 04/10/2020

En esta entrada explicaremos las características de las bases de datos NoSQL, sus ventajas y las recomendaciones para determinar cuándo y cómo elegir la mejor base de datos NoSQL.

seleccionar base de datos nosql

Tipos de bases de datos NoSQL

Las bases de datos NoSQL se suelen clasificar en función de las estructuras de datos que usan en su capa de almacenamiento. Los tipos más comunes son:

  • Documental: MongoDB, CouchDB, DynamoDB
  • Clave-valor: DynamoDB, Redis
  • Tabular: Cassandra, HBase
  • Grafo: Neo4J, DEX, InfiniteGraph

Cuándo elegir una base de datos NoSQL

Las bases de datos NoSQL han venido para quedarse. Simplemente son capaces de aportar unas características de escalabilidad y flexibilidad que las bases de datos tradicionales no han podido satisfacer de forma sencilla.

Debemos recordar que las bases de datos NoSQL no dejan de lado el lenguaje SQL, sino que es posible que lo sacrifiquen en su totalidad o parcialmente para conseguir estas ventajas tan interesantes.

Por lo general, las bases de datos NoSQL escalan horizontalmente de forma barata y muy sencilla, simplemente añadiendo mas nodos de almacenamiento al sistema. También, tienen un esquema dinámico, frente al esquema fijo característico de las bases de datos relacionales.

Por otro lado, satisfacer las propiedades ACID en las bases de datos SQL es más sencillo que en las bases de datos NoSQL. Estas por lo general ofrecerán consistencia eventual.

Deberás considerar una solución NoSQL en el caso de que tengas que satisfacer consultas sencillas y bien conocidas, con patrones de acceso constantes y en aplicaciones de tipo OLTP. En el caso de necesitar consultas complejas con multitud de joins puedes considerar soluciones SQL.

Recomendaciones para seleccionar una base de datos NoSQL

Ten en cuenta las siguientes recomendaciones para seleccionar una base de datos NoSQL para tu proyecto y saca todo el partido de su escalabilidad y disponibilidad en el ámbito del Big Data.

1. Requisitos de rendimiento y latencia

Los tiempos de respuesta de las bases de datos que son mayores a 100 milisegundos se suelen percibir como lentos por el usuario.

Por lo tanto, es necesario considerar y comprender las demandas que se impondrán sobre la base de datos en cuanto a latencias y volumen.

2. Define los objetivos

Es importante concretar la función específica de la base de datos dentro de tu proyecto, así como la naturaleza de los datos y la manera en la que se insertarán y consultarán.

3. Evalúa el teorema CAP

El teorema CAP permite distinguir el comportamiento de una base de datos o un sistema distribuido ante una partición, por ejemplo una falta de conectividad entre sus componentes. Ante esta situación, la base de datos puede optar por la consistencia o la disponibilidad, pero no ambas simultáneamente.

4. Considera un servicio gestionado

Algunos proveedores en la nube como pueden ser Microsoft Azure o AWS (Amazon) pueden facilitar las bases de datos como servicio gestionado, permitiendo reducir el tiempo empleado en su mantenimiento por un coste adicional.

5. Decide el modo de implementación

Considera los siguientes factores para tomar una decisión en el modo de implementación de la base de datos:

  • Disponibilidad de la imagen Docker
  • Escalabilidad en PaaS (Platform as a Service)
  • La compatibilidad que tiene con los proveedores cloud como Azure o AWS
Cómo seleccionar una base de datos NoSQL

He creado un nuevo vídeo-resumen con las claves para seleccionar tu base de datos NoSQL.


¡Echa un ojo a mi lista de reproducción de Big Data en Youtube!

Si te ayuda el contenido del blog, por favor considera unirte a la lista de correo para reconocer el trabajo!

Deja una respuesta