Bases de Datos

Apache Cassandra vs MongoDB

Conoce las principales diferencias que existen entre Apache Cassandra y MongoDB gracias a nuestra comparativa.

Publicado el 20 de Junio de 2019
Compartir

Conoce las principales diferencias que existen entre Apache Cassandra y MongoDB gracias a nuestra comparativa.

BBDD orientadas a documentos vs BBDD orientadas a columnas

Como punto de partida recordar que dentro de las bases de datos NoSQL existen varios tipos, y mientras que Cassandra se sitúa dentro de las bases de datos orientadas a familia de columnas, MongoDB se sitúa dentro de las bases de datos orientadas a documentos.

A partir de aquí, vamos a ver las principales diferencias entre Cassandra y MongoDB.

Por un lado, una base de datos orientada a documentos tiene estas características:

  • Almacena todos los datos en formato de documentos, por documentos nos referimos a algún tipo de datos semiestructurados, como puede ser un archivo XML o muy habitualmente un archivo JSON.
  • Una de las principales ventajas que proporciona almacenar los datos en formato JSON es que permite tener una naturaleza jerárquica y una flexibilidad bastante grande. Esto es debido a que dentro de un JSON podemos generar otro JSON, y así sucesivamente, es decir, podemos crear una jerarquía. En este sentido la base datos es muy flexible a ese tipo de cambios.
  • Un conjunto de documentos se conoce con el nombre de Colección.

En la imagen vemos un ejemplo de esto:

Imagen 0 en Apache Cassandra vs MongoDB

Vemos que tenemos un JSON que comienza y acaba, y dentro del mismo la variable o la columna cars realmente es una lista de otro JSON, y es lo que denominamos jerarquía.

Las bases de datos orientadas a columnas tienen estas otras características:

  • Se basan principalmente en almacenar los datos en columnas en lugar de en filas, como ocurre en las bases de datos tradicionales.
  • Poseen una gran velocidad.
  • Todos los datos que se encuentran dentro de una partition key, van a ser almacenados en la misma partición, lo que también aporta mucha velocidad.

Apache Cassandra vs MongoDB

Veamos ahora una comparativa en varios aspectos de Cassandra y Mongo dB.

  • Caso de uso
Cassandra se utiliza mucho para el ecommerce, para la detección de fraudes y para el análisis en tiempo real. MongoDB también se utiliza para temas de análisis en tiempo real, pero destacamos su uso en el tema de las aplicaciones móviles, para el IoT o el Internet de las Cosas (Internet of Things) o el Internet de las Cosas, etc.
 
  • Almacenamiento
Mientras que Cassandra está orientado a columnas y directamente almacena sus datos y los recupera por columnas, MongoDB lo hace en formato de documentos.
 
  • Lenguaje
Las bases de datos NoSQL por defecto suelen tener lenguajes propios y cada uno es distinto, pero Cassandra tiene el lenguaje CQL, que es muy similar a SQL. En cambio MongoDB tiene un lenguaje propio y es bastante distinto.
 
  • Análisis
Cassandra va a resultar ideal cuando tenemos datos semiestructurados y cuando se espera tener un crecimiento casi exponencial de nuestra base de datos.
 
Por ejemplo un proyecto en el que ahora mismo tenemos pocos datos, pero somos conscientes que de aquí a poco tiempo van a crecer exponencialmente y vamos a necesitar mucha más potencia y mucha más capacidad de almacenamiento. MongoDB es ideal si no tenemos clara la estructura de nuestros datos, porque es tremendamente flexible a la hora de insertar datos y de recuperarlos.

Aprende todo sobre las bases de datos NoSQL. Conoce ahora su arquitectura y cómo desarrollar tu entorno de trabajo con Cassandra.

cta-curso-apache-cassandra

Recuerda que puedes comenzar este curso con tu suscripción de OpenWebinars. Si todavía no estás suscrito, aprovecha para hacerlo ahora.


Compartir este post

También te puede interesar...

Experto en Bases de Datos

Experto en Bases de Datos

18 horas y 15 minutos · Carrera

Conviértete en un experto en bases de datos, tanto relacionales como no relacionales.

Curso de Cassandra

Curso de Cassandra

4 horas y 24 minutos · Curso

Aprende todo sobre la bases de datos NoSQL, Apache Cassandra. Conoce ahora su arquitectura y como aprender a desarrollar un modelo de datos con Cassandra.

  • Bases de Datos
Artículos
Ver todos