Documentos de Académico
Documentos de Profesional
Documentos de Cultura
de MongoDB
Los conceptos fundamentales que sustentan la
arquitectura de MongoDB
Guía de arquitectura
de MongoDB
Introducción
Los datos y el software están en el corazón de cada ° Las cargas de trabajo transaccionales,
negocio. Pero para muchas organizaciones, analíticas, de búsqueda y móviles, que
aprovechar todo el potencial de la economía antes estaban separadas, convergen para
digital sigue siendo un desafío importante. Desde crear aplicaciones ricas basadas en datos
el inicio de MongoDB, hemos entendido que los y experiencias del cliente. Sin embargo,
mayores desafíos que enfrentan los cada carga de trabajo ha estado
desarrolladores están relacionados con el trabajo tradicionalmente impulsada por su base
con los datos: de datos y creó silos de datos duplicados
unidos con canalizaciones ETL frágiles, a
° Las demandas de mayor productividad y las que acceden diferentes API de
tiempo de comercialización más rápido desarrolladores.
son frenadas por modelos de datos
relacionales rígidos que no coinciden con Para hacer frente a algunos de estos desafíos, se
el código moderno e imponen han adoptado las bases de datos no tabulares (a
interdependencias complejas entre los veces llamadas NoSQL o no relacionales)
equipos de ingeniería. rápidamente durante la última década. Pero
° Las organizaciones no pueden trabajar con muchas de estas bases de datos NoSQL son
la cantidad masiva y en rápido crecimiento simplemente apósitos, que ofrecen un conjunto
de datos generados por las aplicaciones de funciones de nicho.
modernas, incluidas series temporales,
El problema es que las bases de datos NoSQL
datos geoespaciales y polimórficos, ni
típicas hacen una o dos cosas bien. Pueden
extraer información de ellos.
ofrecer más flexibilidad en el modelo de datos
° Las bases de datos heredadas monolíticas y
que las bases de datos tradicionales o escalar
frágiles están inhibiendo el cambio
fácilmente. Pero, para ello, descartan las
generalizado a sistemas distribuidos y
características más valiosas de las bases de
computación en la nube que brindan la
datos relacionales. A menudo, sacrifican la
resiliencia y la escala que exigen los
integridad de los datos y la capacidad de
negocios digitales y respaldan las nuevas
exigencias reguladoras para la privacidad trabajar con datos de la manera necesaria para
de datos. crear aplicaciones ricas y valiosas, ya sean
nuevos puntos de contacto digitales con los
clientes de una organización o procesos
empresariales de backend centrales
modernizados.
2
Guía de arquitectura
de MongoDB
El modelo de documento
MongoDB se lanzó en 2009 como una clase
Compatibilidad
completamente nueva de base de datos de
propósito general y rápidamente se estableció
como una de las bases de datos más populares mejorada con datos
entre los desarrolladores. MongoDB conserva
los mejores aspectos de las bases de datos
de series temporales
relacionales y NoSQL al tiempo que proporciona Los datos de series temporales son los que
una base tecnológica que permite a las representan cómo cambia un sistema, un proceso o
organizaciones satisfacer las demandas de las un comportamiento a lo largo del tiempo. Se puede
aplicaciones modernas. Lo hace al reemplazar capturar en intervalos constantes, como una
las tablas rígidas de las bases de datos medición de dispositivo por segundo, o en
relacionales con documentos flexibles que se intervalos irregulares, como con alertas y auditorías
adaptan a la forma en que los desarrolladores de eventos. Los datos de series temporales son
piensan y codifican. En lugar de almacenar datos críticos para las aplicaciones modernas, en
en columnas y filas, las bases de datos de particular para IoT, comercio de acciones, flujos de
documentos almacenan datos como JSON clics y redes sociales. Con el cambio de sistemas
(Notación de Objetos de JavaScript). Una base por lotes a sistemas en tiempo real, la captura y el
de datos de documentos puede almacenar análisis eficientes de datos de series temporales
cualquier tipo de datos y se puede modificar permiten que las organizaciones detecten y
fácilmente la estructura de los documentos. Esto respondan mejor a los eventos antes que sus
permite que los desarrolladores sean mucho competidores, mejoren la eficiencia operativa y
más productivos y creen o iteran sus reduzcan los costos y riesgos.
aplicaciones más rápido. Se puede agregar
nuevos campos sin afectar otros documentos en Gracias a la flexibilidad de MongoDB, los equipos
la colección, el equivalente MongoDB de una han estado utilizando la base de datos para
tabla en una base de datos relacional. Y se almacenar datos de series temporales durante
puede modelar los datos de cualquier forma que años. Sin embargo, modelar correctamente los
se adapte a la aplicación, por ejemplo, como datos para lograr una solución eficaz no siempre
pares clave-valor, como bordes o nodos de un fue sencillo. Con las series temporales, un nuevo
gráfico, o como estructuras anidadas que tipo de colección introducido con MongoDB 5.0, y
representan relaciones. las nuevas funciones, como la indexación en
clúster y las funciones de ventana, los equipos
pueden trabajar y almacenar datos de series
temporales sin preocuparse por la optimización del
modelo de bajo nivel. MongoDB optimizará
automáticamente su esquema para una alta
eficiencia de almacenamiento, consultas de baja
latencia y análisis en tiempo real contra datos
temporales.
3
Guía de arquitectura
de MongoDB
1. Intuitivo: más
rápido y fácil para Con el modelo de datos de documentos, no
los desarrolladores es necesario descomponer los datos en
tablas, ejecutar JOIN costosos o integrar una capa
Se asignan los documentos en la base de datos separada de mapeo relacional de objetos (ORM).
directamente a los objetos en su código, por lo En general, los datos a los que se accede en
que es mucho más natural trabajar con ellos. conjunto se almacenan juntos, por lo que tiene
menos código para escribir y sus usuarios
El siguiente ejemplo de un documento JSON en
obtienen un mayor rendimiento.
MongoDB demuestra cómo se modela un objeto
de cliente en una estructura de documento único
con datos relacionados incrustados como
subdocumentos y matrices. Este enfoque colapsa
lo que de otro modo serían siete tablas principal-
secundaria separadas vinculadas por claves
foráneas en una base de datos relacional.
“La parte más hermosa
es el modelo de datos.
Todo es un documento
JSON natural. Entonces,
para los desarrolladores, es
fácil, realmente fácil,
trabajar rápidamente.
Dedican tiempo a crear
valor comercial en lugar de
modelar datos.”
— Filip Dadgar, Gerente de TI, Toyota
Material Handling Europe
4
Guía de arquitectura
de MongoDB
adaptación
estándares de gobierno de datos a un esquema de
documento mientras mantiene los beneficios de
dinámica al cambio un modelo de datos flexible en desarrollo.
5
Guía de arquitectura
de MongoDB
6
Guía de arquitectura
de MongoDB
Arquitectura distribuida:
escalable, resistente y de
misión crítica
A través de conjuntos de réplicas y fragmentación para identificar aquellos miembros del conjunto
nativa, MongoDB le permite escalar sus aplicaciones de réplicas que han aplicado las actualizaciones
con disponibilidad permanente. Se puede distribuir más recientes de la réplica principal
datos para el acceso de usuarios de baja latencia ° Heartbeat y estado de conectividad con la
mientras se aplican controles de soberanía de datos mayoría de los demás miembros del conjunto
para regulaciones de privacidad de datos como RGPD. de réplicas
° Prioridades definidas por el usuario asignadas a
los miembros del conjunto de réplicas
Disponibilidad y
protección de datos con
Al ampliar la protección de datos, los desarrolladores
configuran conjuntos de réplicas para proporcionar
conjuntos de réplicas visibilidad geográfica y durabilidad multinodo
ajustable. A través de la preocupación de escritura de
Los conjuntos de réplicas de MongoDB le permiten MongoDB, se asegura de que las operaciones de
crear hasta 50 copias de sus datos, que se escritura se propaguen a la mayoría de las réplicas en
aprovisionan en nodos, centros de datos y regiones un clúster. Con MongoDB 5.0, la garantía de
geográficas independientes. durabilidad predeterminada se elevó a la
preocupación de escritura mayoritaria (w:majority). El
Los conjuntos de réplicas están diseñados
éxito de escritura ahora solo se reconocerá en la
predominantemente para la resiliencia. Si un nodo
aplicación una vez que se haya confirmado y
principal sufre una interrupción o se desconecta por
persistido en el disco en la mayoría de las réplicas.
mantenimiento, el clúster de MongoDB elegirá
automáticamente un reemplazo en unos segundos, La elección del nuevo valor predeterminado frente al valor
cambiará las conexiones del cliente e intentará otra predefinido w:1 anterior permite una garantía de
vez cualquier operación que no funcionó. durabilidad más sólida, en la que los datos reconocidos
pueden sobrevivir a las elecciones del conjunto de réplicas
El proceso de elección del conjunto de réplicas
y fallas completas del nodo. La nueva configuración
está controlado por sofisticados algoritmos
predeterminada de w:majority es totalmente ajustable,
basadosen una implementación extendida del
por lo que puede mantener la configuración predefinida
protocolo de consenso Raft. Antes de promocionar
anterior de w:1 o cualquier preocupación de escritura
una réplica secundaria, los algoritmos de elección
personalizada que haya configurado previamente.
evalúan una variedad de parámetros que incluyen:
También se puede crear preocupaciones de escritura
° Análisis de identificadores de elección, marcas
de tiempo y persistencia de diarios personalizadas que se dirijan a miembros específicos de
un conjunto de réplicas, implementadas localmente y en
regiones remotas.
7
Guía de arquitectura
de MongoDB
Esto asegura que las escrituras solo se reconozcan Con políticas sofisticadas como lecturas
una vez que se hayan cumplido las políticas protegidas, el clúster enrutará automáticamente
personalizadas, como escribir en al menos un las consultas a los dos nodos más cercanos (medidos
servidor principal y una réplica en una región y al por la distancia de ping), devolviendo resultados de
menos una réplica en una segunda región. Esto la réplica más rápida. Esto ayuda a minimizar las
reduce el riesgo de pérdida de datos en caso de una consultas que esperan en un nodo que, de lo
falla regional completa. contrario, podría estar ocupado, lo que reduce la
latencia de lectura de los percentiles 95 y 99. Tenga
Más allá de la resiliencia, los conjuntos de réplicas
en cuenta que las lecturas protegidas solo están
también se pueden usar para escalar las
disponibles en clústeres compartidos.
operaciones de lectura, al enrutar, de modo
inteligente, las consultas a una copia de los datos
que está físicamente más cerca del usuario.
8
Guía de arquitectura
de MongoDB
Zona 4
Frankfurt
Zona 2
N. Virginia Zona 5
Zona 1
Tokio
N. California
Zona 3
Latencia aproximada de escritura São Paulo
Figura 1: Servicio de aplicaciones siempre activas, distribuidas globalmente y de escritura en todas partes con MongoDB Atlas Global Clusters
9
Guía de arquitectura
de MongoDB
Privacidad y seguridad
Con la creciente economía digital viene un Con el cifrado de nivel de campo (FLE) del lado
aumento en la supervisión gubernamental de la del cliente, se tiene acceso a algunos de los
privacidad y la seguridad de los datos. MongoDB controles de protección de datos más avanzados
incluye amplias capacidades para defender, del mundo. FLE hace que sea aún más seguro
detectar y controlar el acceso a los datos: almacenar sus datos más confidenciales en la
nube porque es completamente inaccesible para
° Autenticación: MongoDB ofrece un
cualquier persona que no tenga las claves de
sólido mecanismo de desafío-respuesta
cifrado, incluidos aquellos que ejecutan la base
basado en SCRAM-256, junto con la
integración a la infraestructura de de datos por usted.
seguridad empresarial, incluidos LDAP, FLE también facilita el cumplimiento de las
Windows Active Directory, Kerberos, condiciones de "derecho al olvido" en las
certificados x.509 y AWS IAM. regulaciones de privacidad, como el RGPD y la
° Autorización: El control de acceso CCPA. Basta con destruir la clave del cliente y los
basado en roles (RBAC) le permite datos personales asociados se volverán inútiles.
configurar permisos granulares para un
Con FLE, se puede cifrar selectivamente campos
usuario o aplicación en función de los
de documentos individuales, cada uno
privilegios que necesitan para hacer su
trabajo. opcionalmente protegido con su propia clave y
descifrado sin problemas en el cliente. En
° Auditoría: Para el cumplimiento
MongoDB, FLE está totalmente separado de la
normativo, los administradores de seguridad
base de datos, lo que lo hace transparente para el
pueden usar el registro de auditoría nativo
servidor. En cambio, se maneja exclusivamente
de MongoDB para registrar toda la actividad
dentro de los drivers MongoDB en el cliente.
y los cambios de la base de datos.
Todos los campos cifrados en el servidor
° Aislamiento de red: Para los usuarios
(almacenados en la memoria, en los registros del
que ejecutan bases de datos totalmente
sistema, en reposo y en las copias de seguridad) se
administradas en MongoDB Atlas, los
representan como texto cifrado, lo que los hace
datos de usuario y los sistemas
ilegibles para cualquier parte que no tenga acceso
subyacentes están completamente
aislados de otros usuarios. Los recursos al cliente y las claves necesarias para descifrar los
de la base de datos están asociados con datos. Este es un enfoque diferente y más
un grupo de usuarios, contenido en su completo que el cifrado de columnas utilizado en
propia nube privada virtual (VPC). Solo se muchas bases de datos relacionales. La mayoría de
puede otorgar el acceso mediante la lista esas bases de datos maneja el cifrado del lado del
blanca de IP o la interconexión de VPC. servidor, los datos siguen siendo accesibles para
Cifrado en todas partes: Los datos de los administradores que tienen acceso a la
° instancia de la base de datos, incluso si no tienen
MongoDB se cifran mientras están en
movimiento a través de la red, en uso en la privilegios de acceso de cliente.
base de datos y en reposo, ya sea en el
disco o en las copias de seguridad.
10
Guía de arquitectura
de MongoDB
11
Guía de arquitectura
de MongoDB
Modelo de documento
Relaciones Gráficos
Objetos
Análisis en
Interfaz unificada
Transaccional tiempo real
Búsqueda Móvil
Arquitectura
Seguridad distribuida
Nubes múltiples
12
Guía de arquitectura
de MongoDB
Atlas Search
cuando los necesitan, y escalar de
manera elástica en respuesta a las
demandas de las aplicaciones.
Atlas Search está integrado en MongoDB Atlas, lo
o Seguridad permanente para proteger
que facilita la creación de capacidades de los datos, incluido el aislamiento de la
búsqueda rápidas de texto completo sobre sus red, los controles de acceso
datos de MongoDB sin necesidad de aprender una detallados, la auditoría y el cifrado de
API diferente o implementar una tecnología de extremo a extremo hasta el nivel de
búsqueda separada. Atlas Search se basa en los campos individuales.
Apache Lucene, la biblioteca estándar de la o Certificaciones con estándares
industria. Los índices de búsqueda se ejecutan globales para respaldar el
junto con la base de datos y se mantienen cumplimiento, incluidos ISO 27001,
sincronizados automáticamente. Las capacidades SOC 2 y más. Se puede utilizar el Atlas
admitidas incluyen búsqueda aproximada, Database para cargas de trabajo
autocompletar, facetas y filtros, puntuación sujetas a HIPAA, PCI-DSS o RGPD.
personalizada, analizadores para más de 30 o Replicación integrada tanto dentro
idiomas y más. como entre regiones para una
disponibilidad permanente, incluso
Atlas Data Lake ante interrupciones regionales
completas.
Atlas Data Lake es un servicio de consulta bajo o Clústeres globales para bases de
demanda que le permite analizar datos en el datos totalmente administradas y
distribuidas globalmente que brindan
almacenamiento de objetos en la nube (Amazon
lecturas y escrituras receptivas y de
S3) al utilizar la API de consulta de MongoDB.
baja latencia a los usuarios en
No hay infraestructura para configurar o cualquier lugar,
administrar.
Continúa en la página siguiente »
13
13
Guía de arquitectura
de MongoDB
Atlas Data Lake paraleliza automáticamente las con sólidos controles de soberanía de
operaciones al desglosar las consultas y dividir el datos para el cumplimiento normativo. Los
trabajo entre múltiples nodos de cómputo. Atlas clústeres globales le permiten
Data Lake también optimiza automáticamente las implementar rápidamente la
cargas de trabajo utilizando la computación en la fragmentación por zonas mediante una
región más cercana a sus datos. Esto es útil para interfaz de usuario visual o la API de
la residencia de datos, ya que le otorga la administrador de Atlas. Cada zona es parte
capacidad de especificar la región en la que se del mismo clúster, por lo que se pueden
deben procesar sus datos. consultar globalmente, pero los datos se
anclan a fragmentos en regiones
La compatibilidad con consultas unificadas le específicas según las políticas de
permite combinar y analizar datos en S3 y sus localización de datos.
clústeres de bases de datos de Atlas, junto con una ° Los clústeres de nubes múltiples le
sola consulta. Además, se conservan fácilmente los permiten distribuir los datos en una sola
resultados de las agregaciones en el base lógica entre múltiples proveedores
almacenamiento de objetos o en su base de datos de nube para redundancia entre nubes,
en la nube. Los formatos de datos admitidos un alcance geográfico aún más amplio y
incluyen JSON, BSON, CSV, TSV, Avro, ORC y migraciones sin problemas entre
Parquet. proveedores. También se pueden utilizar
los clústeres de nubes múltiples para
Atlas Charts aprovechar fácilmente los mejores
servicios de cada proveedor de la nube
Atlas Charts es un servicio de visualización de en sus datos operacionales en vivo; por
datos que admite de forma nativa datos JSON ejemplo, los usuarios que ejecutan
ricamente estructurados. Cree fácilmente tablas, principalmente en AWS pueden crear
gráficos y paneles en una interfaz de arrastrar y rápidamente una réplica en Google Cloud
soltar, y compártalos con otros usuarios para para aprovechar la última IA de
colaborar o intégrelos directamente en sus Google/servicios de ML.
aplicaciones para crear experiencias de usuario ° Copias de seguridad completamente
atractivas. Atlas Charts se configura para leer administradas con recuperación de un
desde análisis o nodos secundarios, lo que momento dado para proteger contra la
asegura que no afecte las cargas de trabajo corrupción de datos y la capacidad de
operacionales. Las fuentes de datos admitidas consultar las copias de seguridad en el
incluyen una o más implementaciones de Atlas lugar sin restauraciones completas.
Database, Atlas Data Lake o una combinación de ° Monitoreo detallado, métricas en tiempo
ellos. real, generador de perfiles de consultas y
alertas personalizables para una
Realm Sync visibilidad completa del rendimiento.
14
Guía de arquitectura
de MongoDB
Realm es una alternativa más fácil de usar para los o Recomendaciones inteligentes de
desarrolladores que los almacenes de datos índices y esquemas con Performance
integrados, como SQLite o Core Data. Esta solución Advisor, que analiza los registros de
conjunta ayuda a solucionar los desafíos únicos de consultas lentas de las recolecciones
crear aplicaciones sin conexión para dispositivos de su base de datos y proporciona
móviles, lo que simplifica el almacenamiento de sugerencias clasificadas por impacto
datos en el dispositivo, permitiendo el acceso a los en el rendimiento de su base de
datos incluso sin conexión, y actualizaciones datos.
bidireccionales cuando se establece una conexión. o Parches automatizados y
Los SDK de Realm brindan a los desarrolladores las actualizaciones con un solo clic para
herramientas necesarias para acceder a los datos nuevas versiones principales de la
almacenados en MongoDB Atlas directamente base de datos, lo que le permite
desde el cliente e interactuar con el conjunto más aprovechar los recursos más recientes
amplio de servicios de la plataforma. de MongoDB.
o Archivado automático de datos
16
Guía de arquitectura
de MongoDB
Conectores
MongoDB Compass
MongoDB Connector para Apache Spark expone
Se puede interactuar fácilmente con sus datos de todas las bibliotecas de Spark, incluidas Scala, Java,
MongoDB al usar MongoDB Compass, la GUI para Python y R. Los datos de MongoDB se materializan
MongoDB. A través de Compass, se puede como marcos de datos y conjuntos de datos para
explorar y manipular datos, crear consultas y el análisis con aprendizaje automático, gráficos,
canales de agregación visualmente desde la GUI y transmisión y API de SQL.
exportarlos como código a su aplicación, ver y
Con MongoDB Connector para Apache Kafka, se
crear índices, crear reglas de validación de
crea carteras de datos sólidas que mueven
esquemas y más.
eventos entre sistemas en tiempo real, utilizando
MongoDB como fuente y receptor para Kafka. El
Cloud Manager conector es compatible con MongoDB y
verificado por Confluent.
Cloud Manager es la plataforma de Puede usar cualquier distribución de Kubernetes
administración basada en la nube que le para administrar el ciclo de vida completo de sus
permite implementar, monitorear, respaldar y clústeres de MongoDB, dondequiera que elija
escalar MongoDB. Le permite automatizar ejecutarlos, desde la infraestructura local hasta la
tareas de administración como nube pública. Con las integraciones de
implementación, monitoreo y alertas, escalado, Kubernetes de MongoDB, se ejecuta y escala sus
actualizaciones, copias de seguridad y clústeres con facilidad, independientemente de la
optimización del rendimiento. topología de infraestructura elegida.
17
Guía de arquitectura
de MongoDB
Para empezar
Todas las industrias se encuentran en medio de En esta guía, exploramos los conceptos
la transformación digital. Muchas empresas no fundamentales que sustentan la arquitectura de
aprovechan todo el potencial de sus inversiones MongoDB. Se encuentran otras guías sobre temas
porque no logran modernizar su arquitectura de como el rendimiento, las operaciones y las
datos. Al paso que construye o rehace su mejores prácticas de seguridad en MongoDB.com.
empresa para un mundo digital, la velocidad
importa, medida por la rapidez con la que crea
aplicaciones, las escala y obtiene información de Se puede comenzar ahora con MongoDB al:
los datos que generan. Estas son las claves de 1. Revisar el documento técnico de
las aplicaciones que brindan mejores orientación de casos de uso para
experiencias al cliente; habilitan conocimientos identificar casos de uso aplicables para
más profundos basadosen datos; y hacen MongoDB.
posibles nuevos productos o modelos de
2. Puesta en marcha de un clúster de
negocio. MongoDB le permite atender a las MongoDB completamente administrado
demandas de las aplicaciones modernas con en el nivel gratuito de Atlas o descarga
una plataforma de datos de aplicaciones de MongoDB para el desarrollo local.
completa que incluye todos los servicios
3. Revisión de los manuales y tutoriales de
complementarios que necesitan los
MongoDB en nuestra documentación.
desarrolladores.
Puerto seguro
El desarrollo, el lanzamiento y el momento de cualquier característica o funcionalidad descrita para nuestros
productos de quedan a nuestra discreción exclusiva. Esta información solo tiene la intención de delinear la
dirección general de nuestro producto y no se debe confiar en ella para tomar una decisión de compra, ni es
un compromiso, promesa u obligación legal para entregar cualquier material, código o funcionalidad.
18