Preguntas frecuentes de MongoDB

¿Qué es MongoDB?

MongoDB es una plataforma de datos distribuida de uso general, basada en documentos, construida para desarrolladores de aplicaciones modernas y para la cloud. Ninguna otra plataforma de datos le permite ser más productivo.

¿Por qué es útil MongoDB?

La plataforma de datos de MongoDB se basa en tres principios de diseño principales que, en conjunto, le permiten trabajar de manera más rápida y con mayor calidad:

  1. El modelo de datos del documento, para que disfrute de la mejor forma de trabajar con datos.

  2. Un diseño de sistemas distribuidos, que le permite colocar datos de manera inteligente en el lugar que desee.

  3. Una experiencia unificada y compatible con cualquier plataforma, para que no tenga que depender de proveedores concretos y su trabajo no se quede obsoleto.⏎ Para obtener más información, lea la guía de arquitectura de MongoDB.

¿Cuándo debería usar MongoDB?

La plataforma de datos de MongoDB se puede usar en una gran variedad de aplicaciones de análisis y OLTP.

Con MongoDB Server y MongoDB Atlas Data Lake (actualmente, en versión beta), puede satisfacer una gran variedad de requisitos de las aplicaciones.

MongoDB Server y Atlas: análisis en línea y OLTP

MongoDB Server es una base de datos de uso general diseñada para la mayoría de las cargas de trabajo de análisis en línea y OLTP:

  • Si se está planteando usar una base de datos relacional, debería tener en cuenta MongoDB.

  • Si se está planteando usar una base de datos NoSQL, debería tener en cuenta MongoDB.

Tanto si tiene previsto ejecutar las aplicaciones en sus propias instalaciones como si quiere optar por una solución sin servidor nativa de cloud o si prefiere un modelo de implementación híbrida entre ambas opciones, MongoDB Server le ofrece una agilidad de infraestructuras total. Puede ejecutar MongoDB por su cuenta en su propia infraestructura o usar MongoDB Atlas, nuestro servicio de base de datos de cloud global totalmente automatizado y disponible en más de 60 regiones de AWS, Azure y GCP

MongoDB Atlas Data Lake (beta): análisis fuera de línea

Un paso más allá de MongoDB Server, MongoDB Atlas Data Lake extiende la potencia y la productividad de MongoDB a las cargas de trabajo de análisis fuera de línea. Atlas Data Lake le permite consultar datos de manera rápida y sencilla en cualquier formato en Amazon S3 (y en otros proveedores de cloud próximamente) mediante el lenguaje de consulta y las herramientas de MongoDB.

Con Atlas Data Lake puede aprovechar el valor de su lago de datos más rápido: no tiene que mover los datos a ningún sitio, puede trabajar con datos complejos de inmediato en su formato nativo y, como tiene una infraestructura sin servidor totalmente gestionada, usted controla los costes y elimina la sobrecarga de operaciones.

La plataforma de datos de MongoDB

En MongoDB Server y Atlas Data Lake, tiene una plataforma de datos integrada que comparte las mismas herramientas y lenguaje de consulta, totalmente gestionada mediante el servicio de Atlas nativo de la cloud, lo que le permite disfrutar de una amplia variedad de aplicaciones de operaciones y análisis:

  1. MongoDB Atlas: diseñado para las aplicaciones de OLTP en línea que requieren tiempos de respuesta de milisegundos y aprovisionado con nodos de análisis específicos para ofrecer análisis en tiempo real de los datos de operaciones en vivo.

  2. MongoDB Atlas: análisis en línea con índices secundarios optimizados compatibles con patrones de consulta predecibles que requieren latencia en el rango de tiempos de respuesta desde fracciones de segundo hasta varios segundos.

  3. MongoDB Atlas Data Lake: diseñado para análisis fuera de línea de grandes volúmenes de datos ubicados en el almacenamiento de cloud, con una latencia de unos segundos (como mínimo), pero por lo general de minutos y más, según cuántos datos se consulten y cómo estén hechas las particiones.

Para conocer algunos casos de uso de MongoDB, y saber en qué cargas de trabajo debería evaluar tecnologías alternativas, consulte la documentación técnica de la guía de casos de uso de MongoDB.

¿En qué se diferencia MongoDB de las bases de datos relacionales como Oracle?

Las bases de datos relacionales, como Oracle, MySQL, SQL Server y Postgres, entre otras, se basan en arquitecturas diseñadas originalmente hace más de 40 años. En la década de 1970, los requisitos de las aplicaciones eran muy diferentes a los de las aplicaciones modernas de hoy en día. Cuando Oracle lanzó su primera base de datos comercial en 1979, el precio era de unos 3000 USD por MB de almacenaje. Costes como estos obligaban a los arquitectos de software a normalizar los datos y a crear varias tablas conjuntas para almacenar los datos de las aplicaciones en un intento por eliminar las redundancias. Como resultado, las aplicaciones de bases de datos relacionales actuales contienen decenas, cientos y en algunos casos miles de tablas que deben unirse para obtener resultados en las búsquedas. Esta complejidad no solo exige que el desarrollador escriba complicadas consultas de SQL, sino que el tener tantas tablas en una consulta requiere mayores demandas de E/S, lo que incrementa los costes de las infraestructuras.

MongoDB se ha diseñado con los desarrolladores en mente para que la base de datos no sea un impedimento y se pueda aumentar la productividad. Con MongoDB, basta con almacenar los datos como se usan en la aplicación y hacer consultas en ellos con un lenguaje de consulta moderno. Su esquema es flexible, por lo que los desarrolladores pueden integrar nuevas funcionalidades constantemente.

Al contrario que Oracle y otras bases de datos relacionales, MongoDB se basa en una arquitectura de sistemas distribuidos que le permite escalar horizontalmente su base de datos en múltiples instancias, ya sea en una región o en varias regiones distribuidas globalmente.

Consulte la página Comparación entre MongoDB y Oracle para conocer mejor las diferencias.

¿Cómo puedo obtener más información sobre MongoDB?

La forma más fácil de aprender sobre MongoDB es a través de nuestros cursos de formación gratuitos para desarrolladores y DBA en MongoDB University. Los cursos de formación en línea de MongoDB University están elaborados e impartidos por los ingenieros de MongoDB, Inc. MongoDB University ha recibido más de 1 millón de registros procedentes de 196 países: estos alumnos han aprendido a desarrollar e implementar en MongoDB.

Los cursos gratuitos de MongoDB University abarcan todo lo que se necesita saber para convertirse en un experto en MongoDB. Los cursos de formación en línea están desarrollados específicamente para ayudarle a desarrollar nuevas habilidades en las áreas que más importan a los empleadores. Los cursos de formación en línea están basados en aplicaciones reales e impartidos por nuestro equipo de ingenieros locales dedicados, que trabaja con código a diario y ha visto casos de uso de más de 13 000 empresas.

Los cursos de formación de MongoDB University se adaptan al ritmo de cada alumno, ya que puede ver los vídeos y materiales del curso en el momento que le venga mejor. Al mismo tiempo, estructuramos su aprendizaje con fechas de entrega y tareas semanales para comprobar su progreso, así como un examen para comprobar lo que ha aprendido. La mayoría de los cursos duran tres semanas, y hay que dedicarles aproximadamente unos 90 minutos por semana. Encuentre el curso idóneo para usted. Consulte el catálogo de cursos.

¿Cómo puedo conseguir una certificación profesional de MongoDB?

Haga el examen de certificación de MongoDB para demostrar sus conocimientos y convertirse en un desarrollador o DBA con certificación profesional de MongoDB. Las certificaciones de MongoDB reconocen a los desarrolladores y DBA que tienen los conocimientos necesarios para crear y mantener aplicaciones de MongoDB.

Para prepararse para el examen de certificación, puede hacer nuestro examen de prueba para familiarizarse con las áreas temáticas y con el formato del mismo, y así ganar confianza. Además del examen de prueba, también puede consultar nuestra guía de estudio. La guía de estudio abarca todos los temas de los exámenes de los desarrolladores y DBA. Cada apartado de la guía ofrece enlaces a documentos y otros recursos en línea relacionados.

MongoDB Server se puede usar de manera gratuita. ¿Qué vende MongoDB, Inc.?

Somos la empresa que crea y ejecuta MongoDB. Más de 14 200 organizaciones confían en nuestros productos comerciales. Ofrecemos software y servicios que facilitan su vida:

La base de datos MongoDB

  • MongoDB Atlas es el servicio de base de datos de cloud mundial para las aplicaciones modernas. Implemente MongoDB totalmente gestionado en AWS, Azure o Google Cloud con la mejor automatización de su clase y prácticas probadas que garantizan la disponibilidad, la escalabilidad y el cumplimiento de los estándares de seguridad. Use el robusto ecosistema de controladores, integraciones y herramientas de MongoDB para desarrollar más rápido y pasar menos tiempo administrando sus operaciones y bases de datos.

  • MongoDB Enterprise Advanced es la mejor forma de ejecutar MongoDB en su propia infraestructura. Es un paquete de software avanzado, soporte, certificaciones y otros servicios perfectamente diseñados para adaptarse a su forma de hacer negocios.

  • MongoDB Cloud Manager es una herramienta basada en la cloud que le ayuda a gestionar MongoDB en su propia infraestructura. Con aprovisionamiento automatizado, monitorización detallada y copias de seguridad continuas, obtendrá un paquete de gestión completa que reduce los gastos generales de las operaciones y proporciona un control total sobre las bases de datos.

Análisis y visualización en MongoDB

  • MongoDB Atlas Data Lake le permite consultar datos de manera rápida y sencilla en cualquier formato en Amazon S3 mediante las herramientas y el lenguaje de consulta de MongoDB. No tiene que mover los datos a ningún sitio, puede trabajar con datos complejos de inmediato en su formato nativo y, como tiene una infraestructura sin servidor totalmente gestionada, usted controla los costes y elimina la sobrecarga de operaciones.

  • MongoDB Charts proporciona la forma más rápida y sencilla de crear visualizaciones de los datos de MongoDB. Cree visualizaciones de manera más rápida y sencilla para analizar datos complejos y anidados. Incruste gráficos individuales en cualquier aplicación web o reúnalos en paneles de control en vivo para compartirlos.

  • El conector de MongoDB para BI le permite usar MongoDB como una fuente de datos para sus plataformas de análisis y BI basadas en SQL, como Tableau, Microstrategy y Looker, entre otras.

  • El conector de MongoDB para Apache Spark muestra todas las bibliotecas de Spark, como Scala, Java, Python y R. Los datos de MongoDB se materializan como DataFrames y Datasets para el análisis mediante API de aprendizaje automático, grafos, streaming y SQL.

Plataforma de aplicaciones sin servidor y base de datos móvil

  • MongoDB Realm Database

    , que ofrece una alternativa rápida y fácil de usar a SQLite y Core Data, se ha instalado más de dos mil millones de veces. Gracias al soporte para consultas complejas, la ejecución segura en varios hilos, una arquitectura reactiva para crear IU fluidas y con capacidad de respuesta, encriptación y compatibilidad con varias plataformas, los desarrolladores pueden simplificar su código y crear experiencias potentes e interactivas en más dispositivos.

  • MongoDB Realm y Stitch Platform

    le ayudan a crear mejores aplicaciones de pila completa de forma más rápida. Ofrece reglas fácilmente configurables para acceder a los datos y servicios directamente desde el front-end de la aplicación, junto con funciones sin servidor para ejecutar la lógica de la aplicación. Puede sincronizar automáticamente los datos entre el cliente y la capa de datos de backend. Mediante las integraciones con sus repositorios de código, puede desarrollar de manera local y después implementar fácilmente actualizaciones en la aplicación controladas por la versión para hacer pruebas y continuar con la producción.

Servicios de MongoDB

  • Los paquetes de MongoDB Consulting le ayudan a iniciar la producción con mayor rapidez, ajustar el rendimiento de la producción, ampliar recursos y centrarse en el próximo lanzamiento.

  • Con MongoDB Training podrá convertirse en un experto en MongoDB, con capacidad para diseñar y utilizar sistemas críticos a gran escala. Ya sea que sea un desarrollador, administrador de bases de datos o arquitecto de datos, podemos ayudarle a mejorar sus capacidades en MongoDB.Póngase en contacto con nosotros para obtener más información

¿Puedo obtener una licencia comercial para MongoDB?

Sí, puede obtener una licencia comercial de MongoDB con la compra de MongoDB Enterprise Advanced.

¿Cómo se almacenan los datos en la base de datos MongoDB?

Los datos de MongoDB se almacenan en documentos BSON: estructuras de datos de estilo JSON. Los documentos contienen uno o más campos, y cada campo cuenta con un valor de un tipo de datos específico, como matrices, datos binarios y subdocumentos. Los documentos que tienden a compartir una estructura similar se organizan como recopilaciones.

Puede ser útil pensar en los documentos como si fueran las filas de una base de datos relacional, los campos como si fueran las columnas y las recopilaciones como si fueran las tablas.

Obtenga más información en la guía de arquitectura de MongoDB.

Como desarrollador, ¿cómo trabajo con los documentos de MongoDB?

Para acelerar la productividad de los desarrolladores, MongoDB proporciona controladores nativos para todos los marcos y lenguajes de programación populares. Entre los controladores admitidos se incluyen Java, Javascript, C#/.NET, Go, Python, Perl, PHP, Scala y otros. Todos los controladores admitidos por MongoDB se han diseñado para ser idiomáticos para el lenguaje de programación del que se trate. Esto hace que a los desarrolladores les resulte mucho más natural trabajar con datos que con lenguajes basados en cadenas, como SQL, y elimina la necesidad de usar capas de abstracción de ORM, frágiles e incómodas.

También puede interactuar con MongoDB gráficamente mediante MongoDB Compass, la interfaz gráfica para MongoDB. Mediante Compass, puede explorar y utilizar sus datos, crear consultas y aggregation pipelines visualmente a partir de la interfaz gráfica de usuario, y después exportarlos como código para su aplicación; examinar la ejecución y el rendimiento de las consultas; ver y crear índices; crear vistas y reglas de validación de esquemas, y mucho más.

¿Se admiten las transacciones ACID en MongoDB?

Sí. Las transacciones ACID multidocumento están disponibles desde el lanzamiento de MongoDB 4.0 en el 2018.

¿Dónde puedo ejecutar MongoDB?

MongoDB se puede ejecutar en cualquier lugar, por lo que proporciona total libertad sin dependencia de la plataforma.

MongoDB Atlas le proporciona un servicio completo, de pago por servicio y totalmente gestionado para MongoDB en AWS, Azure y Google Cloud.

Puede descargar MongoDB y ejecutarlo en cualquier lugar. MongoDB Ops Manager es la mejor forma de ejecutar MongoDB en su propia infraestructura y permite que sus equipos de operaciones implementen, supervisen, realicen copias de seguridad y escalen MongoDB de forma rápida y sencilla. Las capacidades de Ops Manager también están disponibles en el servicio MongoDB Cloud Manager.

¿Es escalable MongoDB?

Decenas de miles de empresas utilizan MongoDB para desarrollar sistemas de alto rendimiento a gran escala. Organizaciones que van desde empresas Fortune 100 hasta las empresas emergentes más ágiles confían en MongoDB. Han pasado de implementaciones de un solo servidor a clústeres con más de 1000 nodos que realizan millones de operaciones por segundo en más de cien mil millones de documentos y petabytes de datos. Más información.

A través de la fragmentación, puede escalar automáticamente su base de datos MongoDB en varios nodos para gestionar cargas de trabajo con un elevado volumen de operaciones de escritura y tamaños de datos cada vez mayores. La fragmentación con MongoDB le permite escalar fácilmente la base de datos conforme sus aplicaciones crezcan más allá de los límites de hardware de un único servidor, todo ello sin añadir complejidad a las aplicaciones. Para responder a los cambios en la demanda de cargas de trabajo, los documentos se pueden mover entre fragmentos, y se pueden añadir o eliminar nodos del clúster en tiempo real. MongoDB reequilibrará automáticamente los datos según sea necesario sin intervención manual.

¿Cómo garantiza MongoDB una alta disponibilidad?

MongoDB mantiene automáticamente conjuntos de réplicas, varias copias de datos que se distribuyen en distintos servidores, bastidores y centros de datos. Los conjuntos de réplicas ayudan a evitar el tiempo de inactividad mediante la replicación nativa y la conmutación por error automática.

Un conjunto de réplicas consta de varios miembros. En cualquier momento, un miembro actúa como el principal, y el resto como miembros secundarios. Si el miembro principal falla por alguna razón (por ejemplo, un fallo de hardware), uno de los miembros secundarios se convierte automáticamente en el principal y empieza a procesar todas las lecturas y escrituras.

Obtenga más información en la guía de arquitectura de MongoDB.

¿Cómo garantiza MongoDB la coherencia?

MongoDB ofrece coherencia de forma predeterminada: las lecturas y escrituras se envían a un miembro primario de un conjunto de réplicas. Las aplicaciones tienen la opción de leer datos desde réplicas secundarias, en las que los datos son coherentes de manera predeterminada. Las lecturas de réplicas secundarias pueden ser útiles en contextos en los que es aceptable utilizar datos ligeramente desactualizados, como en el caso de algunas aplicaciones de presentación de informes. Las aplicaciones también pueden leer los datos desde la copia más cercana (a partir de la medición de la distancia de ping) en los casos en los que la latencia sea más importante que la coherencia.

Obtenga más información en la guía de arquitectura de MongoDB.

¿Carece MongoDB de esquema?

No. En MongoDB, el diseño del esquema sigue siendo importante. El modelo de documento de MongoDB, sin embargo, emplea un paradigma de esquemas diferente al de las bases de datos relacionales tradicionales. En MongoDB, los documentos se autodescriben; no hay un catálogo central donde se declaran y mantienen los esquemas. El esquema puede variar en los distintos documentos y puede evolucionar rápidamente sin que sea necesario modificar los datos ya existentes.

El esquema dinámico de MongoDB hace que sea más fácil representar los datos semiestructurados y polimórficos, ya que no todos los documentos necesitan exactamente los mismos campos. Por ejemplo, una recopilación de posiciones de operaciones financieras podría tener posiciones de valores bursátiles, y algunas podrían ser bonos y otras efectivo. Puede que todas tengan campos en común, pero algunos campos (como los relacionados con los códigos bursátiles o el número de acciones) no se aplican a todos los tipos de posiciones.

Con la validación de esquemas, tiene la opción de hacer cumplir un esquema respecto a los datos, lo que garantiza la presencia de campos obligatorios, valores permitidos y tipos de datos apropiados. Al diseñar esquemas en MongoDB, debe considerar un número de temas, incluidos los tipos de consultas que tendrá que realizar la aplicación, cómo se gestionan los objetos en el código de la aplicación y cómo cambiarán y, potencialmente, crecerán los documentos.

Más información sobre el diseño de esquemas:

¿Debería normalizar mis datos antes de almacenarlos en MongoDB?

No. El diseño de esquemas es muy importante al usar MongoDB, pero muy diferente del diseño de esquemas de las bases de datos relacionales.

Más información sobre el diseño de esquemas:

¿Cómo se protegen los datos en MongoDB?

MongoDB incluye una gran variedad de funciones de protección, detección y control de acceso de los datos:

  • Autenticación. MongoDB simplifica el control de acceso a la base de datos gracias a un potente mecanismo de pregunta/respuesta basado en SCRAM-256 y a la integración de infraestructura de seguridad empresarial externa, como LDAP, Windows Active Directory, Kerberos y certificados x.509.
  • Autorización. El control de acceso basado en roles (RBAC) permite configurar permisos granulares para un usuario o una aplicación en función de los privilegios que necesiten para realizar su trabajo.
  • Auditorías. Para cumplir con la legislación, los administradores de seguridad pueden registrar todos los cambios y actividades realizados en la base de datos mediante el registro de auditoría nativo de MongoDB.
  • Encriptación completa. Los datos de MongoDB se pueden encriptar en tránsito a través de la red, mientras se usan en la base de datos, y en reposo, tanto en el disco como en las copias de seguridad.
Consulte la documentación

para obtener más información sobre los controles de seguridad de MongoDB. Visite el centro de confianza de MongoDB para obtener más información sobre seguridad en la cloud.

¿Cuáles son las novedades en el lanzamiento de MongoDB 4.4?

Revise la guía de novedades para ver todas las novedades.

¿Cuál es la relación entre MongoDB Realm y MongoDB Stitch?

MongoDB Realm se combinará con Realm, la popular tecnología de sincronización de datos y base de datos móvil, y con MongoDB Stitch, la plataforma sin servidores de MongoDB, en una solución unificada que facilita la creación de experiencias potentes e interactivas en más dispositivos. Obtenga más información aquí.

¿De dónde procede el nombre MongoDB?

MongoDB viene de la palabra "humongous", que significa "inmenso". Nuestros fundadores crearon grandes empresas de Internet, como DoubleClick. Se encontraban constantemente con los mismos problemas con las bases de datos, y uno de los más importantes era la escalabilidad. Al crear MongoDB, querían una base de datos que fuera escalable. Es decir, una base de datos inmensa y de ahí lo de "humongous", o MongoDB.

¿Qué significa la hoja en el logotipo de MongoDB?

Nuestros fundadores creen que la codificación debe ser natural, al igual que el uso de una base de datos. Quieren que la experiencia de uso de MongoDB sea sencilla y natural. De ahí la hoja.