UD3 Bases de Datos NoSQL S1
UD3 Bases de Datos NoSQL S1
Inicio
SEMANA 1
localhost:51235/temp_print_dirs/eXeTempPrintDir_4fcprs/UD3_Bases_de_Datos_NoSQL_S1/ 1/42
13/11/24, 11:05 UD3 Bases de Datos NoSQL S1
Las bases de datos NoSQL han emergido como una solución clave
para los desafíos planteados por la creciente necesidad de
almacenar y procesar grandes volúmenes de datos no
estructurados o semiestructurados. A diferencia de las bases de
datos relacionales tradicionales, NoSQL ofrece una mayor
flexibilidad y una escalabilidad horizontal adecuada para
aplicaciones modernas que manejan datos en tiempo real y
grandes cantidades de usuarios concurrentes. Con la llegada de
tecnologías como el Big Data, Internet de las Cosas (IoT) y aplicaciones web y móviles altamente
dinámicas, NoSQL se ha convertido en una pieza fundamental en el arsenal de herramientas de
desarrollo.
El enfoque de NoSQL no implica reemplazar a las bases de datos relacionales, sino más bien
complementarlas, aportando modelos de almacenamiento alternativos que permiten resolver
problemáticas específicas, tales como la necesidad de una alta disponibilidad y la capacidad de
respuesta rápida ante cargas de trabajo masivas. En esta unidad, exploraremos diferentes tipos de
bases de datos NoSQL, sus características, arquitecturas y cuándo es conveniente su uso para
solucionar problemas reales.
Videos de apoyo
[Link]
localhost:51235/temp_print_dirs/eXeTempPrintDir_4fcprs/UD3_Bases_de_Datos_NoSQL_S1/ 2/42
13/11/24, 11:05 UD3 Bases de Datos NoSQL S1
Videos de apoyo
[Link]
localhost:51235/temp_print_dirs/eXeTempPrintDir_4fcprs/UD3_Bases_de_Datos_NoSQL_S1/ 3/42
13/11/24, 11:05 UD3 Bases de Datos NoSQL S1
El término "NoSQL" se refiere a sistemas de gestión de bases de datos que no siguen el modelo
relacional tradicional. Estas bases de datos permiten el almacenamiento y la consulta de datos fuera
de las estructuras tabulares convencionales, ofreciendo una mayor flexibilidad en el modelado de
datos. El concepto de NoSQL ganó prominencia a finales de la década de 2000, impulsado por
empresas como Amazon, Google y Facebook, que enfrentaban desafíos significativos en el manejo de
grandes volúmenes de datos y requerían soluciones más escalables y flexibles que las ofrecidas por
las bases de datos relacionales tradicionales.
Las bases de datos NoSQL surgieron para abordar varias limitaciones de las bases de datos
relacionales:
Escalabilidad
Las bases de datos relacionales suelen escalar verticalmente (mejorando el hardware del
servidor), lo que puede ser costoso y tiene límites físicos. En contraste, las bases de datos
NoSQL están diseñadas para escalar horizontalmente, permitiendo la adición de más
servidores para manejar incrementos en la carga de trabajo.
Flexibilidad en el Esquema
localhost:51235/temp_print_dirs/eXeTempPrintDir_4fcprs/UD3_Bases_de_Datos_NoSQL_S1/ 4/42
13/11/24, 11:05 UD3 Bases de Datos NoSQL S1
Las bases de datos relacionales requieren esquemas predefinidos, lo que puede ser restrictivo
cuando los datos evolucionan con el tiempo. Las bases de datos NoSQL permiten esquemas
dinámicos, facilitando la adaptación a cambios en la estructura de los datos sin necesidad de
reestructuraciones complejas.
Rendimiento
Para ciertas aplicaciones, especialmente aquellas que manejan grandes volúmenes de datos
o requieren baja latencia, las bases de datos relacionales pueden no ofrecer el rendimiento
necesario. Las bases de datos NoSQL están optimizadas para operaciones de lectura y
escritura rápidas, adecuadas para aplicaciones en tiempo real.
Modelo de Datos
Las bases de datos relacionales utilizan tablas con filas y columnas, mientras que las bases
de datos NoSQL emplean diversos modelos, como documentos, clave-valor, grafos y
columnas anchas.
Esquema
Las bases de datos relacionales requieren un esquema fijo y definido antes de la inserción de
datos. Las bases de datos NoSQL permiten esquemas flexibles o incluso la ausencia de
esquema, facilitando la incorporación de datos heterogéneos.
Escalabilidad
localhost:51235/temp_print_dirs/eXeTempPrintDir_4fcprs/UD3_Bases_de_Datos_NoSQL_S1/ 5/42
13/11/24, 11:05 UD3 Bases de Datos NoSQL S1
Consistencia y Disponibilidad
Las bases de datos relacionales suelen priorizar la consistencia de los datos, siguiendo las
propiedades ACID (Atomicidad, Consistencia, Aislamiento, Durabilidad). Las bases de datos
NoSQL, en cambio, pueden priorizar la disponibilidad y la partición tolerancia, siguiendo el
teorema CAP, lo que puede implicar una consistencia eventual en lugar de inmediata.
Estas diferencias hacen que las bases de datos NoSQL sean especialmente adecuadas para
aplicaciones que requieren alta escalabilidad, flexibilidad en el manejo de datos y rendimiento
optimizado para grandes volúmenes de información.
Videos de apoyo
[Link]
localhost:51235/temp_print_dirs/eXeTempPrintDir_4fcprs/UD3_Bases_de_Datos_NoSQL_S1/ 6/42
13/11/24, 11:05 UD3 Bases de Datos NoSQL S1
Las bases de datos NoSQL se clasifican en varios tipos, cada uno diseñado para satisfacer
necesidades específicas de almacenamiento y consulta de datos. A continuación, se detallan las
principales categorías, junto con ejemplos y aplicaciones prácticas:
Características:
Los documentos contienen pares de clave-valor que pueden
incluir datos anidados y listas, lo que facilita el modelado de
objetos complejos.
No requieren un esquema fijo, lo que significa que cada
documento puede tener diferentes campos y estructuras, lo
cual es útil para datos que evolucionan frecuentemente.
Ejemplos:
MongoDB: Utiliza BSON (una extensión de JSON) para
almacenar documentos. Es ampliamente usado debido a su
capacidad para escalar horizontalmente y manejar consultas
complejas de documentos.
CouchDB: Almacena documentos JSON y permite la
sincronización de bases de datos distribuidas, lo que la hace
adecuada para aplicaciones móviles que necesitan
replicación.
Aplicaciones Prácticas:
Catálogos de productos: Tiendas en línea utilizan MongoDB
para almacenar productos con diferentes atributos que
cambian constantemente (tallas, colores, descripciones).
Sistemas de gestión de contenido (CMS): Aplicaciones que
necesitan manejar contenido generado por usuarios y no
requieren un esquema fijo. Ejemplo: aplicaciones como
localhost:51235/temp_print_dirs/eXeTempPrintDir_4fcprs/UD3_Bases_de_Datos_NoSQL_S1/ 7/42
13/11/24, 11:05 UD3 Bases de Datos NoSQL S1
Características:
Simplicidad extrema: solo admite operaciones básicas como
almacenar, recuperar y borrar mediante una clave.
Ideal para situaciones en las que la velocidad y simplicidad
son críticas.
Ejemplos:
Redis: Es una base de datos en memoria que permite
velocidades de acceso extremadamente rápidas. Soporta
operaciones complejas como conjuntos ordenados y listas,
además de replicación y persistencia.
Amazon DynamoDB: Proporciona un servicio totalmente
gestionado y es utilizado para manejar grandes volúmenes de
datos con baja latencia.
Aplicaciones Prácticas:
Almacenamiento de sesiones de usuario: Redis es
ampliamente utilizado para guardar información de sesión de
los usuarios, como las credenciales y el estado de la
navegación en sitios web.
Caché: Los datos que se necesitan recuperar rápidamente se
pueden almacenar temporalmente en Redis para reducir la
carga en los sistemas subyacentes.
localhost:51235/temp_print_dirs/eXeTempPrintDir_4fcprs/UD3_Bases_de_Datos_NoSQL_S1/ 8/42
13/11/24, 11:05 UD3 Bases de Datos NoSQL S1
Características:
Almacenan relaciones entre nodos directamente en la base
de datos, lo que permite realizar consultas complejas de
relaciones en tiempo real.
Muy eficientes en la ejecución de consultas como "caminos
más cortos" o "detectar patrones", lo que no es eficiente en
bases de datos relacionales.
Ejemplos:
Neo4j: La base de datos de grafos más popular. Utiliza un
modelo de grafo propiedad y permite consultas rápidas para
analizar redes complejas.
JanusGraph: Escalable y diseñado para gestionar grandes
volúmenes de datos distribuidos en varios nodos.
Aplicaciones Prácticas:
Redes Sociales: Neo4j se utiliza para modelar redes de
amigos o conexiones en redes sociales, permitiendo
encontrar conexiones comunes, sugerir amigos y realizar
recomendaciones.
Motores de recomendación: Análisis de relaciones y
preferencias entre usuarios y productos para hacer
recomendaciones personalizadas. Netflix y Amazon son
ejemplos de empresas que usan grafos para recomendar
contenido y productos.
Características:
Almacenan cada columna por separado, lo que hace que las
operaciones de lectura para determinadas columnas sean
más rápidas.
Son altamente eficientes para tareas que requieren el
escaneo de grandes cantidades de datos para producir
informes.
localhost:51235/temp_print_dirs/eXeTempPrintDir_4fcprs/UD3_Bases_de_Datos_NoSQL_S1/ 9/42
13/11/24, 11:05 UD3 Bases de Datos NoSQL S1
Ejemplos:
Apache Cassandra: Desarrollado por Facebook y ahora
utilizado por empresas como Netflix para manejar datos a
gran escala. Cassandra tiene alta disponibilidad y permite
escribir datos en múltiples centros de datos sin interrumpir la
consistencia.
Apache HBase: Basada en Hadoop, HBase permite el
almacenamiento distribuido y escalable de datos grandes. Es
una buena opción para el procesamiento masivo de datos en
sistemas Hadoop.
Aplicaciones Prácticas:
Sistemas de registro: Cassandra se utiliza para almacenar
registros de actividad de usuarios y eventos, que luego
pueden ser analizados en busca de patrones de
comportamiento o problemas de rendimiento.
Análisis de Datos en Tiempo Real: HBase es utilizada para
almacenar y analizar datos en tiempo real en aplicaciones
como análisis de redes sociales y registros de sistemas de
monitoreo.
Cada tipo de base de datos NoSQL tiene sus propias fortalezas y limitaciones, lo que significa que
son más adecuadas para ciertos escenarios:
localhost:51235/temp_print_dirs/eXeTempPrintDir_4fcprs/UD3_Bases_de_Datos_NoSQL_S1/ 10/42
13/11/24, 11:05 UD3 Bases de Datos NoSQL S1
Cada tipo de base de datos NoSQL se adapta mejor a ciertos tipos de problemas. La elección correcta
dependerá de las necesidades específicas de la aplicación, el volumen de datos, la complejidad de
las relaciones y los requisitos de rendimiento.
Videos de apoyo
[Link]
localhost:51235/temp_print_dirs/eXeTempPrintDir_4fcprs/UD3_Bases_de_Datos_NoSQL_S1/ 11/42
13/11/24, 11:05 UD3 Bases de Datos NoSQL S1
El teorema CAP describe tres propiedades fundamentales que cualquier sistema distribuido puede
proporcionar:
Consistencia (Consistency)
Disponibilidad (Availability)
localhost:51235/temp_print_dirs/eXeTempPrintDir_4fcprs/UD3_Bases_de_Datos_NoSQL_S1/ 12/42
13/11/24, 11:05 UD3 Bases de Datos NoSQL S1
El teorema CAP tiene un impacto significativo en cómo se diseñan y se construyen los sistemas
distribuidos. Al tener que elegir solo dos de las tres propiedades, los diseñadores de sistemas deben
determinar cuál de estas propiedades tiene mayor prioridad según el contexto de la aplicación. Las
elecciones son típicamente:
localhost:51235/temp_print_dirs/eXeTempPrintDir_4fcprs/UD3_Bases_de_Datos_NoSQL_S1/ 13/42
13/11/24, 11:05 UD3 Bases de Datos NoSQL S1
(AP):
Los compromisos inherentes al teorema CAP significan que los sistemas distribuidos deben priorizar
una u otra propiedad según sus necesidades. Algunos ejemplos clave de cómo se aplica esto incluyen:
Sistemas de e-commerce
localhost:51235/temp_print_dirs/eXeTempPrintDir_4fcprs/UD3_Bases_de_Datos_NoSQL_S1/ 14/42
13/11/24, 11:05 UD3 Bases de Datos NoSQL S1
Para aplicaciones como compras en línea, la alta disponibilidad es crucial, ya que un cliente
debe poder realizar sus compras sin interrupciones. Sin embargo, una ligera inconsistencia
temporal puede ser tolerada, ya que los sistemas de pagos u órdenes se sincronizan
eventualmente.
El teorema CAP es una guía fundamental para el diseño de sistemas distribuidos. Determina que no
se puede garantizar simultáneamente consistencia, disponibilidad y tolerancia a particiones, obligando
a los arquitectos de sistemas a hacer compromisos en función de las prioridades de su aplicación. La
elección entre CP y AP depende del contexto específico y de la naturaleza del problema que se intenta
resolver, y cada una tiene sus ventajas y limitaciones. Los sistemas modernos, especialmente las
bases de datos NoSQL, adoptan enfoques que priorizan estos aspectos según las demandas del
mercado, la naturaleza de los datos y los requisitos de los usuarios.
Videos de apoyo
[Link]
localhost:51235/temp_print_dirs/eXeTempPrintDir_4fcprs/UD3_Bases_de_Datos_NoSQL_S1/ 15/42
13/11/24, 11:05 UD3 Bases de Datos NoSQL S1
Las bases de datos NoSQL presentan una serie de ventajas y desventajas frente a las bases de datos
relacionales tradicionales. A continuación se presenta un análisis detallado de estos puntos, así como
algunos casos de uso ideales para NoSQL.
Ventajas de NoSQL
Escalabilidad Horizontal
Flexibilidad en el Esquema
esquema fijo antes de insertar datos, NoSQL permite almacenar datos sin un esquema
predefinido.
Beneficio: Esto resulta en una gran flexibilidad para adaptar los datos según cambien
los requisitos de la aplicación, sin tener que realizar costosos cambios estructurales. Es
especialmente útil en aplicaciones en las que los datos pueden variar en estructura.
localhost:51235/temp_print_dirs/eXeTempPrintDir_4fcprs/UD3_Bases_de_Datos_NoSQL_S1/ 16/42
13/11/24, 11:05 UD3 Bases de Datos NoSQL S1
Descripción: Algunas bases de datos NoSQL como Redis están optimizadas para
Descripción: Muchas bases de datos NoSQL están diseñadas para tener una alta
Beneficio: Permiten garantizar que el sistema siga operando incluso cuando algunos de
sus nodos fallen. Esto es esencial para aplicaciones que no pueden permitirse
interrupciones.
Desventajas de NoSQL
Inconsistencia Eventual
localhost:51235/temp_print_dirs/eXeTempPrintDir_4fcprs/UD3_Bases_de_Datos_NoSQL_S1/ 17/42
13/11/24, 11:05 UD3 Bases de Datos NoSQL S1
tolerancia a fallos sobre la consistencia inmediata de los datos, siguiendo el teorema CAP.
Limitación: Esto significa que, en algunos casos, las lecturas pueden no reflejar la
última actualización realizada (inconsistencia eventual), lo cual puede ser problemático
para aplicaciones que necesitan una precisión absoluta en tiempo real.
Falta de Estándares
Descripción: Las bases de datos NoSQL, como las de clave-valor, suelen ser
Limitación: Las operaciones como join entre tablas, que son comunes en bases de
datos relacionales, no se pueden realizar fácilmente, lo cual puede ser un problema
para sistemas que necesitan realizar consultas relacionales complejas.
Madurez Relativa
localhost:51235/temp_print_dirs/eXeTempPrintDir_4fcprs/UD3_Bases_de_Datos_NoSQL_S1/ 18/42
13/11/24, 11:05 UD3 Bases de Datos NoSQL S1
Limitación: Esto implica que algunas bases de datos NoSQL pueden no tener el mismo
nivel de madurez en términos de características avanzadas, herramientas de monitoreo
y soporte técnico.
Limitación: La mayoría de las bases de datos NoSQL ofrecen una versión más laxa de
las propiedades ACID, lo cual limita su aplicabilidad en sistemas donde la integridad de
los datos es crítica.
Descripción: Sitios como Facebook, Twitter y LinkedIn generan grandes cantidades de datos
no estructurados y requieren respuestas rápidas para proporcionar una buena experiencia al
usuario.
NoSQL Aplicable: Bases de datos de documentos como MongoDB son ideales para
almacenar perfiles de usuario y sus interacciones.
localhost:51235/temp_print_dirs/eXeTempPrintDir_4fcprs/UD3_Bases_de_Datos_NoSQL_S1/ 19/42
13/11/24, 11:05 UD3 Bases de Datos NoSQL S1
Descripción: Las tiendas en línea necesitan flexibilidad para almacenar datos de productos
que pueden tener atributos diferentes y cambiar frecuentemente.
Motores de Recomendación
Descripción: Los motores de recomendación necesitan analizar las relaciones entre usuarios
y elementos (productos, películas, etc.) para hacer sugerencias personalizadas.
localhost:51235/temp_print_dirs/eXeTempPrintDir_4fcprs/UD3_Bases_de_Datos_NoSQL_S1/ 20/42
13/11/24, 11:05 UD3 Bases de Datos NoSQL S1
NoSQL Aplicable: Neo4j (una base de datos de grafos) permite modelar y analizar
relaciones complejas para sugerir elementos con base en patrones de comportamiento.
Las bases de datos NoSQL ofrecen ventajas clave como la escalabilidad horizontal, la flexibilidad
en el manejo de datos no estructurados y la alta disponibilidad, que las hacen ideales para
aplicaciones de gran escala, con múltiples usuarios y tipos de datos cambiantes. Sin embargo, tienen
desventajas en términos de inconsistencia, limitaciones en las consultas y una madurez relativa
comparada con las bases de datos relacionales. Los casos de uso de NoSQL son especialmente
adecuados para aplicaciones como redes sociales, caché, sistemas de comercio electrónico,
análisis en tiempo real, y motores de recomendación. La elección de la tecnología depende de la
naturaleza del problema a resolver y de los requisitos de consistencia, rendimiento y flexibilidad.
localhost:51235/temp_print_dirs/eXeTempPrintDir_4fcprs/UD3_Bases_de_Datos_NoSQL_S1/ 21/42
13/11/24, 11:05 UD3 Bases de Datos NoSQL S1
3.2 MongoDB
Videos de apoyo
[Link]
localhost:51235/temp_print_dirs/eXeTempPrintDir_4fcprs/UD3_Bases_de_Datos_NoSQL_S1/ 22/42
13/11/24, 11:05 UD3 Bases de Datos NoSQL S1
Documentos)
Escalabilidad Horizontal
localhost:51235/temp_print_dirs/eXeTempPrintDir_4fcprs/UD3_Bases_de_Datos_NoSQL_S1/ 23/42
13/11/24, 11:05 UD3 Bases de Datos NoSQL S1
Replica Sets
Consultas Potentes
Índices
localhost:51235/temp_print_dirs/eXeTempPrintDir_4fcprs/UD3_Bases_de_Datos_NoSQL_S1/ 24/42
13/11/24, 11:05 UD3 Bases de Datos NoSQL S1
Integración
MongoDB se diferencia de las bases de datos relacionales tradicionales por su enfoque orientado a
documentos. Esta arquitectura se basa en los siguientes conceptos:
Documentos BSON:
MongoDB almacena datos en documentos BSON, una extensión binaria del formato
JSON que facilita la representación de datos complejos y anidados. BSON es más
eficiente en términos de almacenamiento y velocidad de consulta, ya que permite una
representación directa en memoria.
localhost:51235/temp_print_dirs/eXeTempPrintDir_4fcprs/UD3_Bases_de_Datos_NoSQL_S1/ 25/42
13/11/24, 11:05 UD3 Bases de Datos NoSQL S1
Colecciones:
Modelo Jerárquico
Los documentos de MongoDB permiten estructuras anidadas, lo que significa que los
datos relacionados pueden almacenarse juntos en el mismo documento.
Esto permite que el modelo de datos sea autoexplicativo, lo que elimina la necesidad
de relaciones entre tablas como en un modelo relacional.
Sharding y Replicación:
MongoDB es muy versátil en cuanto a los tipos de datos que admite, gracias a su formato BSON.
Estos son algunos de los principales tipos de datos:
localhost:51235/temp_print_dirs/eXeTempPrintDir_4fcprs/UD3_Bases_de_Datos_NoSQL_S1/ 26/42
13/11/24, 11:05 UD3 Bases de Datos NoSQL S1
Uno de los tipos más comunes, utilizado para almacenar datos de texto. Las cadenas
son tratadas como UTF-8.
Booleanos (Boolean):
Fechas (Date):
Arreglos (Array):
Los arreglos permiten almacenar múltiples valores en un solo campo, siendo uno de los
aspectos más flexibles del modelo de datos, ideal para representar relaciones de uno a
muchos dentro del mismo documento.
localhost:51235/temp_print_dirs/eXeTempPrintDir_4fcprs/UD3_Bases_de_Datos_NoSQL_S1/ 27/42
13/11/24, 11:05 UD3 Bases de Datos NoSQL S1
Objeto ID (ObjectId):
Cada documento tiene un campo _id que contiene un identificador único para
diferenciar cada documento en la colección. Este identificador se crea automáticamente
cuando se inserta un documento y es esencial para las consultas.
Nulos (Null):
MongoDB admite valores null como un tipo de datos, lo que permite definir campos
vacíos explícitamente.
Coordenadas geoespaciales:
Decimales (Decimal128):
localhost:51235/temp_print_dirs/eXeTempPrintDir_4fcprs/UD3_Bases_de_Datos_NoSQL_S1/ 28/42
13/11/24, 11:05 UD3 Bases de Datos NoSQL S1
Es útil para operaciones que requieren alta precisión, como cálculos financieros.
MongoDB es una base de datos NoSQL orientada a documentos, diseñada para manejar grandes
volúmenes de datos de manera flexible. Sus principales características incluyen escalabilidad
horizontal, replicación, y la capacidad de manejar datos no estructurados. MongoDB utiliza una
arquitectura basada en documentos donde la información se organiza en documentos BSON que
se almacenan en colecciones. Además, MongoDB admite una amplia variedad de tipos de datos,
como cadenas, números, fechas, arreglos, documentos anidados, y datos geoespaciales, entre
otros.
localhost:51235/temp_print_dirs/eXeTempPrintDir_4fcprs/UD3_Bases_de_Datos_NoSQL_S1/ 29/42
13/11/24, 11:05 UD3 Bases de Datos NoSQL S1
Documentos y Colecciones:
Embebido vs Referencias:
En MongoDB, los datos se pueden embeber (es decir, anidar documentos dentro de
otros documentos) o utilizar referencias para crear relaciones entre documentos,
similar a las llaves foráneas en bases de datos relacionales.
La elección entre embeber o referenciar depende del acceso a los datos y de la
frecuencia de las consultas.
Datos Denormalizados:
localhost:51235/temp_print_dirs/eXeTempPrintDir_4fcprs/UD3_Bases_de_Datos_NoSQL_S1/ 30/42
13/11/24, 11:05 UD3 Bases de Datos NoSQL S1
rendimiento.
Esto implica duplicar ciertos datos para evitar la necesidad de realizar múltiples uniones
complejas, logrando así una lectura rápida a costa de aumentar el espacio de
almacenamiento.
El modelado de datos en MongoDB se beneficia de una serie de buenas prácticas que garantizan la
eficiencia, escalabilidad y facilidad de mantenimiento:
Relaciones 1
localhost:51235/temp_print_dirs/eXeTempPrintDir_4fcprs/UD3_Bases_de_Datos_NoSQL_S1/ 31/42
13/11/24, 11:05 UD3 Bases de Datos NoSQL S1
localhost:51235/temp_print_dirs/eXeTempPrintDir_4fcprs/UD3_Bases_de_Datos_NoSQL_S1/ 32/42
13/11/24, 11:05 UD3 Bases de Datos NoSQL S1
del Documento
localhost:51235/temp_print_dirs/eXeTempPrintDir_4fcprs/UD3_Bases_de_Datos_NoSQL_S1/ 33/42
13/11/24, 11:05 UD3 Bases de Datos NoSQL S1
Normalización vs Denormalización
localhost:51235/temp_print_dirs/eXeTempPrintDir_4fcprs/UD3_Bases_de_Datos_NoSQL_S1/ 34/42
13/11/24, 11:05 UD3 Bases de Datos NoSQL S1
Escalabilidad
Consultas y Rendimiento
localhost:51235/temp_print_dirs/eXeTempPrintDir_4fcprs/UD3_Bases_de_Datos_NoSQL_S1/ 35/42
13/11/24, 11:05 UD3 Bases de Datos NoSQL S1
Transacciones
Las diferencias con el modelo relacional resaltan cómo MongoDB favorece la escalabilidad, la
flexibilidad del esquema, y el enfoque denormalizado para las relaciones de datos, mientras que los
modelos relacionales se enfocan en la integridad y coherencia mediante esquemas rígidos y el uso
de transacciones.
Videos de apoyo
[Link]
localhost:51235/temp_print_dirs/eXeTempPrintDir_4fcprs/UD3_Bases_de_Datos_NoSQL_S1/ 36/42
13/11/24, 11:05 UD3 Bases de Datos NoSQL S1
A continuación, se explican cada una de estas operaciones y cómo se implementan con comandos
básicos en MongoDB.
Creación (Create)
localhost:51235/temp_print_dirs/eXeTempPrintDir_4fcprs/UD3_Bases_de_Datos_NoSQL_S1/ 37/42
13/11/24, 11:05 UD3 Bases de Datos NoSQL S1
Lectura (Read)
Este comando devuelve todos los usuarios cuya edad sea mayor a 30.
Uso de Proyección:
localhost:51235/temp_print_dirs/eXeTempPrintDir_4fcprs/UD3_Bases_de_Datos_NoSQL_S1/ 38/42
13/11/24, 11:05 UD3 Bases de Datos NoSQL S1
Actualización (Update)
localhost:51235/temp_print_dirs/eXeTempPrintDir_4fcprs/UD3_Bases_de_Datos_NoSQL_S1/ 39/42
13/11/24, 11:05 UD3 Bases de Datos NoSQL S1
Eliminación (Delete)
localhost:51235/temp_print_dirs/eXeTempPrintDir_4fcprs/UD3_Bases_de_Datos_NoSQL_S1/ 40/42
13/11/24, 11:05 UD3 Bases de Datos NoSQL S1
Este comando elimina todos los usuarios cuya ocupación sea "Consultor".
Conclusiones
Las operaciones CRUD en MongoDB son la base fundamental para la gestión de colecciones y documentos en
una base de datos. Mediante los métodos insertOne(), find(), updateOne() y deleteOne(), se pueden manipular
los datos de forma eficiente y flexible.
MongoDB proporciona una API sencilla y poderosa para realizar todas estas operaciones, lo que facilita el
desarrollo de aplicaciones que requieren almacenar y manejar grandes cantidades de datos. La posibilidad de
utilizar documentos embebidos y referencias brinda una flexibilidad que se ajusta a los patrones de acceso y
escalabilidad que requiere cada aplicación.
Videos de apoyo
[Link]
localhost:51235/temp_print_dirs/eXeTempPrintDir_4fcprs/UD3_Bases_de_Datos_NoSQL_S1/ 41/42
13/11/24, 11:05 UD3 Bases de Datos NoSQL S1
localhost:51235/temp_print_dirs/eXeTempPrintDir_4fcprs/UD3_Bases_de_Datos_NoSQL_S1/ 42/42