sql >> Base de Datos >  >> NoSQL >> MongoDB

¿Pros y contras de MongoDB?

Algunos puntos generales sobre MongoDB

Ventajas:

  • sin esquema. Si tiene un esquema flexible, esto es ideal para un almacén de documentos como MongoDB. Esto es difícil de implementar de manera eficaz en RDBMS
  • facilidad de escalamiento horizontal. Escale las lecturas mediante el uso de conjuntos de réplicas. Escale las escrituras mediante fragmentación (equilibrio automático). Simplemente encienda otra máquina y listo. Agregar más máquinas =agregar más RAM sobre la cual distribuir su conjunto de trabajo.
  • costo. Depende de qué RDBMS, por supuesto, pero MongoDB es gratuito y puede ejecutarse en Linux, ideal para ejecutarse en un kit básico más económico.
  • puede elegir qué nivel de consistencia desea según el valor de los datos (p. ej., rendimiento más rápido =activar y olvidar las inserciones en MongoDB, rendimiento más lento =esperar hasta que la inserción se haya replicado en varios nodos antes de regresar)

Contras:

  • El tamaño de los datos en MongoDB suele ser mayor debido a, p. cada documento tiene nombres de campo almacenados
  • menos flexibilidad con las consultas (por ejemplo, sin JOIN)
  • sin soporte para transacciones:ciertas operaciones atómicas son compatibles, en un solo nivel de documento
  • Por el momento Map/Reduce (por ejemplo, para hacer agregaciones/análisis de datos) está bien, pero no es increíblemente rápido. Entonces, si eso es necesario, es posible que deba agregarse algo como Hadoop a la mezcla
  • información menos actualizada disponible/producto en rápida evolución

Recientemente escribí en un blog mis pensamientos en MongoDB como alguien que proviene de SQL Server, por lo que podría estar interesado en eso (arriba se encuentran algunos de los puntos principales).

Si está buscando una respuesta "¿Es MongoDB mejor que RDBMS?", En mi humilde opinión, no hay respuesta. Las tecnologías NoSQL como MongoDB brindan una alternativa que complementa las tecnologías RDBMS. Uno puede ser más adecuado para un propósito particular que el otro, por lo que se trata de decidir qué es lo mejor para usted para un requisito determinado.