Desarrollo de Base de Datos Nosql: Tarea 2
Desarrollo de Base de Datos Nosql: Tarea 2
Desarrollo de Base de Datos Nosql: Tarea 2
Tutor
Mariano Esteban Romero
Índice
1. Introducción ............................................................................................................. iv
3. Ejercicio 1 ................................................................................................................. 9
4. Ejercicio 2: .............................................................................................................. 14
4.7. AND................................................................................................................. 38
4.8. OR.................................................................................................................... 40
5. Conclusiones ........................................................................................................... 46
6. Bibliografía ............................................................................................................. 47
iv
1. Introducción
de datos más flexibles y escalables, las bases de datos NoSQL (Not Only SQL) han ganado
relevancia como alternativas a las bases de datos relacionales tradicionales. Este trabajo,
Distancia (UNAD), bajo la dirección del tutor Mariano Esteban Romero, se centra en explorar y
comprender en profundidad el mundo de las bases de datos NoSQL, con un enfoque especial en
MongoDB.
bases de datos. Este proyecto tiene como objetivo principal proporcionar una base sólida para
comprender las bases de datos NoSQL, su diversidad de tipos y sus aplicaciones en el mundo
real. Además, se destacará la utilidad y versatilidad de MongoDB como una solución de base de
A lo largo de este trabajo, se abordarán conceptos clave, como los diferentes tipos de
bases de datos NoSQL, las diferencias entre los modelos ACID y BASE en la gestión de datos, el
MongoDB, y la aplicación práctica de MongoDB en una variedad de casos de uso. Este trabajo
busca proporcionar a los estudiantes de ingeniería de sistemas una comprensión sólida de las
bases de datos NoSQL y prepararlos para enfrentar los desafíos y oportunidades que presenta el
2. Objetivo general
las bases de datos NoSQL, específicamente en MongoDB. Se busca comprender los diferentes
tipos de bases de datos NoSQL, sus características fundamentales y cómo utilizar MongoDB en
✓ Identificar los tipos de bases de datos NoSQL existentes, incluyendo bases de datos
datos.
centrándonos en MongoDB.
Índice de Figuras
Figura 4 Actualizar el precio de todos los productos con un precio menor a $10 ........... 16
Figura 5 Ejecución del Servidor MongoDB en una Instalación sin Servicio ................... 17
Figura 15 Igualdad............................................................................................................ 23
Figura 16 Igualdad............................................................................................................ 23
Figura 17 Consultas de filtrar Empleados por Salario y Clientes por Edad .................... 24
Figura 42 Or...................................................................................................................... 42
Índice de Tablas
3. Ejercicio 1
store) is a database that stores information in documents”[ Una base de datos documental
(también conocida como base de datos orientada a documentos o almacén de documentos) es una
Por lo tanto, MongoDB, uno de los ejemplos más destacados de bases de datos
estructurados en un formato legible por máquinas y, al mismo tiempo, comprensible para los
desarrolladores.
columns instead of rows. The purpose of a columnar database is to efficiently write and read
data to and from hard disk storage in order to speed up the time it takes to return a query” [ Una
base de datos columnar es un sistema de gestión de bases de datos (SGBD) que almacena los
10
datos en columnas en lugar de en filas. El objetivo de una base de datos en columnas es escribir y
leer datos de forma eficiente en el disco duro para acelerar el tiempo de respuesta de una
Por lo tanto, las bases de datos en columnas almacenan datos de una manera que mejora
para aplicaciones que requieren un acceso rápido y eficiente a los datos, como el análisis de
datos y el almacenamiento de datos. Ejemplos notables de sistemas que utilizan esta tecnología
son Cassandra y HBase, que han demostrado su eficacia en entornos de alto rendimiento.
“Key value databases, also known as key value stores, are database types where data is
stored in a “key-value” format and optimized for reading and writing that data. The data is
fetched by a unique key or a number of unique keys to retrieve the associated value with each
key. The values can be simple data types like strings and numbers or complex objects”[ Las
bases de datos de valor clave, también conocidas como almacenes de valores clave, son tipos de
bases de datos donde los datos se almacenan en un formato de "clave-valor" y optimizados para
leer y escribir esos datos. Los datos se obtienen mediante una clave única o varias claves únicas
para recuperar el valor asociado con cada clave. Los valores pueden ser tipos de datos simples
multiple owners and thus providing multiple access paths to the data”[ Una base de datos
11
organizada de acuerdo con la propiedad de los registros, lo que permite que los registros tengan
múltiples propietarios y, por lo tanto, proporciona múltiples rutas de acceso a los datos] (Gartner,
s/f).
A continuación, se presenta una tabla que compara los dos enfoques de consistencia de
Tabla 1
No garantiza la consistencia
Garantiza que los datos siempre
inmediata, lo que permite que los
Consistencia estén en un estado válido de
datos fluctúen hasta alcanzar la
acuerdo con las reglas definidas.
consistencia eventual.
“El teorema CAP aplica un tipo similar de lógica a los sistemas distribuidos, es decir,
que un sistema distribuido puede ofrecer solo dos de las tres características deseadas:
consistencia, disponibilidad, y tolerancia de partición (el 'C, ''A' y 'P ' en CAP)”.
representación binaria de documentos JSON con una mayor variedad de tipos de datos que JSON
(Emmita, 2017). Estos documentos BSON se organizan en colecciones, que son el equivalente de
tablas en un sistema de gestión de bases de datos relacionales (RDBMS). Cada colección reside
13
dentro de una única base de datos y se caracteriza por la flexibilidad en su estructura, ya que no
Las colecciones no hacen cumplir un esquema específico, lo que significa que los
documentos dentro de una colección pueden tener diferentes campos. Esta característica brinda
una gran versatilidad en la forma en que se almacenan los datos. En general, los documentos en
una colección suelen compartir un propósito similar o estar relacionados entre sí (Emmita, 2017).
Esta combinación de documentos BSON y colecciones permite a MongoDB ofrecer una solución
esquema libre" (Paramio, 2011). Esta definición subraya aún más la flexibilidad y la
adaptabilidad de MongoDB como un sistema de gestión de bases de datos. Al ser "de esquema
libre," MongoDB permite a los desarrolladores trabajar con datos sin las restricciones de un
MongoDB se puede utilizar cuando se necesita una base de datos que pueda manejar
grandes volúmenes de datos, que tenga un alto rendimiento y disponibilidad, que sea fácil de
personalizadas.
Desarrollo de juegos: MongoDB puede guardar los estados de los jugadores, los
sociales.
MongoDB puede gestionar los metadatos, las versiones, las búsquedas y las
4. Ejercicio 2:
Tabla 2
Nombre de estudiantes
apellidos de los integrantes del grupo colaborativos, en las otras colecciones insertar
mínimo 5 documentos.
Figura 1
Nota: Borrar un empleado específico (por ejemplo, con el nombre "Carlos Guillermo")
16
Figura 2
Nota: Borrar todos los empleados con un salario menor a $30,000. Elaboración propia.
Figura 3
Nota: Para actualizar documentos en la colección de productos, se puede utilizar el método updateOne o
Figura 4
Nota: Este ejemplo actualiza el precio de todos los productos con un precio menor a $10 a $10.99.
Elaboración propia.
17
Figura 5
Figura 6
Figura 7
Nota: Utilización y ejecución de Mongosh en el CMD de Windows 10 con las palabras claves “mongodb”
Figura 8
Figura 9
Nota: Comandos que crean las colecciones "empleados", "clientes" y "productos". Elaboración propia.
Figura 10
Figura 11
Nota: Comandos que insertan documentos en la colección de clientes con nombres hipotéticos. Elaboración
propia.
21
Figura 12
Nota: Comandos que insertan documentos en la colección de productos con nombres hipotéticos.
Elaboración Propia.
4.1. Igualdad
Figura 13
Nota: El comando encuentra un cliente, un empleado y un producto específico por nombre. Elaboración
propia.
23
Figura 14
Nota: Los comandos encuentran por los filtros de puesto o por salario. Elaboración propia.
Figura 15
Igualdad
Nota: La consulta busca los precios de la colección “productos” iguales a 2500. Elaboración propia.
Figura 16
Igualdad
Nota: Consulta para buscar artículos que coincidan con el parámetro “arroz” en la colección de productos.
Elaboración propia.
24
Figura 17
Nota: El primer comando encuentra empleados con un salario menor a 30000, mientras que el segundo
comando encuentra clientes con una edad menor a 30. Elaboración Propia.
25
Figura 18
Menor Que
Nota: Consultas para encontrar documentos con valores menores a ciertos umbrales en diferentes
Figura 19
Menor que
Nota: Consultas para encontrar documentos con edades menores a 30 años en la colección de empleados.
Elaboración propia.
Figura 20
Menor que
Nota: Consultas para encontrar documentos con salarios menores a 2000000. Elaboración propia.
27
Figura 21
Nota: Comando para buscar empleados cuyo salario sea menor o igual a 29000. Elaboración propia.
28
Figura 22
Nota: Consultas para encontrar elementos con valores menores o iguales a ciertos umbrales en diferentes
Figura 23
Nota: Esto buscará y mostrará todos los empleados cuyo salario sea mayor a 30000.Elaboración propia.
30
Figura 24
Mayor Que
Nota: Consultas para encontrar elementos con valores mayores a ciertos umbrales en diferentes
Figura 25
Mayor que
Nota: Consulta para buscar personas mayores a 25 años en la colección de empleados. Elaboración propia.
Figura 26
Mayor que
Nota: Consulta para buscar personas mayores a 30 años en la colección de usuarios. Elaboración propia.
Figura 27
Nota: Esto buscará y mostrará todos los clientes cuya edad sea mayor o igual a 40 años. Elaboración propia.
32
Figura 28
Nota: Consultas para encontrar elementos con valores mayores o iguales a ciertos umbrales en diferentes
Figura 29
Nota: Consulta para buscar personas con edades mayores o iguales a 27 años en la colección de empleados.
Elaboración propia.
Figura 30
Nota: Consulta para encontrar elementos con valores mayores o iguales en la colección de empleados.
Elaboración propia.
34
4.6. No es Igual
Figura 31
Nota: Esto buscará y mostrará todos los empleados cuyo nombre no sea "Carlos Guillermo". Elaboración
propia.
35
Figura 32
Nota: Consultas para encontrar elementos que no sean iguales en diferentes colecciones. Elaboración
propia.
36
Figura 33
Nota: Consultas para encontrar elementos que no sean iguales en diferentes colecciones. Elaboración
propia.
37
Figura 34
No es igual
Nota: Consulta para buscar productos que no son iguales al precio de 2800 en la colección de productos.
Elaboración propia.
Figura 35
No Es Igual
Nota: Consulta para buscar personas que no sean iguales a la edad de 30 años en la colección de usuarios.
Elaboración propia.
38
4.7. AND
Figura 36
Nota: Esto buscará y mostrará clientes cuya edad sea mayor a 30 y cuyo nombre sea "Laura González".
Elaboración propia.
39
Figura 37
AND
Nota: Consultas para encontrar elementos que cumplan múltiples condiciones con la operación AND en
Figura 38
AND
Nota: Consultas para encontrar elementos que cumplan múltiples condiciones con la operación AND en
4.8. OR
Figura 39
Nota: Esto buscará y mostrará clientes cuya edad sea menor a 25 o mayor a 40 años. Elaboración propia.
41
Figura 40
Nota: Consultas para encontrar elementos que cumplan al menos una de las condiciones con la operación
Figura 41
Nota: Consultas para encontrar elementos que cumplan al menos una de las condiciones con la operación
Figura 42
Or
Nota: Consultas para encontrar elementos que cumplan al menos una de las condiciones con la operación
OR en la colección de productos.
43
4.9. AND + OR
Figura 43
AND + OR (Empleados con Salario Mayor a 30000 y Nombre "Carlos Guillermo", o con
Nota: Esto buscará y mostrará empleados cuyo salario sea mayor a 30000 y cuyo nombre sea "Carlos
Guillermo", o cuyo salario sea menor a 29000 y cuyo nombre sea "Maicol Stiwar". Elaboración propia.
44
Figura 44
Nota: Consultas para encontrar elementos que cumplan condiciones mixtas con la operación AND y OR en
Figura 45
Nota: Consultas para encontrar elementos que cumplan condiciones mixtas con la operación AND y OR en
Figura 46
AND + OR
Nota: Consultas para encontrar elementos que cumplan condiciones mixtas con la operación AND y OR.
Elaboración propia.
46
5. Conclusiones
diversidad de tipos de bases de datos NoSQL, cada una con sus propias fortalezas y aplicaciones
específicas. Además, hemos analizado las diferencias entre los enfoques ACID y BASE en la
comprensión más profunda de cómo se almacenan y gestionan los datos en este sistema.
También hemos apreciado la flexibilidad y versatilidad de MongoDB como una solución de base
Por último, hemos aprendido cuándo y cómo utilizar MongoDB en una variedad de casos
de uso, desde aplicaciones web hasta análisis de datos en tiempo real. Esta tarea ha sentado las
bases para futuros proyectos en el ámbito de las bases de datos NoSQL y MongoDB,
6. Bibliografía
https://medium.com/geekculture/acid-vs-base-in-databases-1bcad774da26
Acharya, D. P. (2022, febrero 10). MongoDB vs MySQL: ¿Cuál Es el Mejor Sistema de Gestión
Aleksic, M. (2020, noviembre 25). ACID vs. BASE: Comparison of Database Transaction
https://medium.com/@Emmitta/base-de-datos-nosql-mongodb-3eaa8a1b1866
https://www.gartner.com/en/information-technology/glossary/network-database
de 2023, de https://www.mongodb.com/document-databases
de 2023, de https://www.mongodb.com/databases/key-value-database
https://www.genbeta.com/desarrollo/una-introduccion-a-mongodb
https://www.techtarget.com/searchdatamanagement/definition/columnar-database+