¿Usar MongoDB como base de datos en vez de Mysql?

Mi duda es si Mondodb es también para utilizar como una base de datos "NORMAL" donde puedo almacenar distintos archivos, usuarios, etc en vez de utilizar MYSQL . Si tienen el mismo objetivo y orientación de almacenar datos persistentes.

Respuesta
1

Cambiar de MySQL a MongoDB depende de las necesidades específicas de tu proyecto. Mientras que MySQL es una base de datos relacional ideal para datos estructurados, MongoDB es una base de datos NoSQL orientada a documentos, que es más flexible para datos no estructurados y aplicaciones que requieren alta escalabilidad.

Entiendo su respuesta y me parece perfecto. Pero en realidad me preguntaba si es para datos persistentes, como por ejemplo usuarios, noticias, sistemas en general, o tiene otro objetivo de orientación.

MySQL

MySQL es una base de datos relacional (SQL). . Su modelo se basa en tablas con filas y columnas, donde se definen relaciones estrictas entre ellas.

  • Esquema Fijo: Se le conoce como "schema-on-write". Debes definir la estructura de las tablas (qué campos, qué tipo de datos) antes de insertar datos. Esto garantiza una gran integridad y consistencia de la información.

  • Ideal para: Datos estructurados, transacciones complejas que involucran múltiples tablas, y escenarios donde la consistencia de los datos es la máxima prioridad (por ejemplo, sistemas bancarios o de inventario).

  • Escalabilidad: Tradicionalmente escala de forma vertical (mejorando el hardware del servidor), aunque también tiene opciones de escalado horizontal.


MongoDB

MongoDB es una base de datos NoSQL (No Relacional). Su modelo se basa en documentos de tipo JSON/BSON, que se agrupan en colecciones.

  • Esquema Flexible: Se le conoce como "schema-on-read". Los documentos dentro de una colección no necesitan tener la misma estructura. Puedes añadir nuevos campos sin afectar a los documentos existentes. Esto ofrece una enorme flexibilidad.

  • Ideal para: Datos no estructurados o semi-estructurados, como perfiles de usuario con campos variables, datos de registro (logs) o contenido de aplicaciones móviles. Es muy eficiente para grandes volúmenes de datos que cambian con frecuencia.

  • Escalabilidad: Fue diseñado desde el inicio para escalar de forma horizontal (distribuyendo los datos en múltiples servidores), lo que lo hace muy adecuado para aplicaciones de alto tráfico y Big Data.


En resumen, para tus ejemplos de "archivos, usuarios, etc.", ambos son perfectamente válidos. La elección dependerá de los requisitos específicos de tu proyecto: si necesitas una estructura rígida y transacciones complejas, MySQL es una excelente opción. Si buscas flexibilidad, escalabilidad horizontal y un modelo más cercano a los objetos de tu código, MongoDB es una alternativa poderosa.

En el siguiente video, se compara el modelo de datos de MySQL y MongoDB para ayudarte a elegir la mejor base de datos para tu proyecto.

https://www.datacamp.com/es/blog/mysql-vs-mongodb 

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas