0% encontró este documento útil (0 votos)
39 vistas17 páginas

Reporte DBchill Merged

MongoDB es una base de datos NoSQL orientada a documentos que ofrece escalabilidad, alto rendimiento y flexibilidad en el manejo de datos. Desarrollada en 2007, ha evolucionado para incluir características como sharding, replicación y transacciones ACID limitadas. Es ampliamente utilizada en aplicaciones web y big data, aunque presenta desventajas como no ser completamente ACID y requerir un mayor consumo de almacenamiento.

Cargado por

tamaldeelote49
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
39 vistas17 páginas

Reporte DBchill Merged

MongoDB es una base de datos NoSQL orientada a documentos que ofrece escalabilidad, alto rendimiento y flexibilidad en el manejo de datos. Desarrollada en 2007, ha evolucionado para incluir características como sharding, replicación y transacciones ACID limitadas. Es ampliamente utilizada en aplicaciones web y big data, aunque presenta desventajas como no ser completamente ACID y requerir un mayor consumo de almacenamiento.

Cargado por

tamaldeelote49
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Ingenieria en Tecnologías de la Información

REPORTE
DE
INVESTIGACIÓN
Universidad Politécnica de Tlaxcala

Abril 2025

Bello Lumbreras Brandon Raymundo


Morales González Williams
Moro Meneses Fernando Alejandro
Rodríguez Meléndez Arturo
Descripción
MongoDB es una base de datos NoSQL orientada a documentos, desarrollada para
ofrecer escalabilidad, alto rendimiento y facilidad de desarrollo. A diferencia de las
bases de datos relacionales (SQL), MongoDB almacena datos en un formato flexible
llamado BSON (una versión binaria de JSON), lo que permite modelar estructuras
de datos dinámicas sin necesidad de definir esquemas fijos.
MongoDB es ampliamente utilizado en aplicaciones web, bigdata, análisis en tiempo
real e inteligencia artificial, gracias a su capacidad para manejar grandes volúmenes
de información y su compatibilidad con diversas plataformas y lenguajes de
programación. Es especialmente útil en entornos donde la escalabilidad y el
rendimiento son prioridades, como en redes sociales, comercio electrónico y
aplicaciones de IoT.

Historia
MongoDB fue desarrollado en 2007 por 10gen, una empresa fundada por Dwight
Merriman, Eliot Horowitz y Kevin Ryan. En sus inicios, MongoDB formaba parte de
una plataforma de computación en la nube, pero en 2009 se convirtió en un proyecto
de código abierto.
A lo largo de los años, MongoDB ha evolucionado significativamente, agregando
características como sharding, replicación, transacciones ACID parciales y
herramientas avanzadas para procesamiento de datos. Actualmente, es uno de los
sistemas de bases de datos NoSQL más utilizados en el mundo, con una gran
comunidad de desarrolladores y una empresa (MongoDB Inc.) que proporciona
soporte y servicios comerciales.
Características
• Modelo de documentos: MongoDB almacena datos en documentos BSON, lo
que permite estructuras flexibles y consultas anidadas sin necesidad de
realizar múltiples uniones (joins) como en bases de datos relacionales.
• Escalabilidad horizontal: Utiliza sharding para dividir los datos en múltiples
servidores, facilitando la distribución de cargas y evitando cuellos de botella.
• Alta disponibilidad: Implementa replica sets, donde múltiples servidores
mantienen copias idénticas de los datos, asegurando redundancia y
recuperación en caso de fallos.
• Consultas avanzadas: Soporta operaciones de agregación, búsquedas
geoespaciales, análisis de datos en tiempo real y procesamiento de grandes
volúmenes de información.
• Índices optimizados: MongoDB permite la creación de índices en cualquier
campo de un documento para mejorar la velocidad de las consultas.
• Transacciones ACID (limitadas): Aunque inicialmente carecía de soporte
para transacciones, MongoDB ahora permite transacciones multidocumento,
aunque no tan robustas como en SQL.
• Compatibilidad con múltiples lenguajes: MongoDB tiene drivers para
JavaScript (Node.js), Python, Java, C#, C++, PHP, Ruby, Go, entre otros.
• Seguridad avanzada: Soporta autenticación, autorización basada en roles,
cifrado de datos en reposo y en tránsito, y control de acceso detallado.

Ventajas
• Alto rendimiento en operaciones de lectura y escritura.
• Escalabilidad eficiente mediante el uso de sharding y replicación.
• Esquema flexible, permitiendo cambios dinámicos en la estructura de los
datos.
• Fácil integración con tecnologías modernas, como microservicios, big data y
analítica en tiempo real.
• Amplia comunidad y soporte empresarial, con documentación detallada y
foros activos.
Desventajas
• No es 100% ACID: A pesar de las transacciones multidocumento, no es tan
robusto como SQL en entornos críticos financieros.
• Mayor consumo de almacenamiento: BSON introduce sobrecarga de tamaño
en comparación con JSON.
• Curva de aprendizaje: Para quienes vienen de SQL, la estructura y consultas
en MongoDB pueden requerir adaptación.
• Uso intensivo de RAM: Para un rendimiento óptimo, MongoDB prefiere
almacenar índices en memoria, lo que puede ser costoso en términos de
recursos.

Licencia
Desde 2018, MongoDB está bajo la Server Side Public License (SSPL), una variante
de la licencia GPL. La SSPL permite el uso gratuito del software, pero impone
restricciones en el caso de servicios en la nube que ofrezcan MongoDB como una
plataforma comercial. Antes de SSPL, MongoDB utilizaba la GNU Affero General
Public License (AGPL).

Para usos comerciales, MongoDB ofrece versiones con soporte y características


adicionales bajo la marca MongoDB Atlas.

Sistema Operativo
MongoDB es un software multiplataforma, compatible con los siguientes sistemas
operativos:

• Windows (a partir de Windows Server 2016 y versiones de escritorio


modernas como Windows 10 y 11)
• Linux (Ubuntu, Debian, CentOS, Red Hat, SUSE, Amazon Linux)
• macOS (soporte oficial en versiones recientes)
• Docker (puede ejecutarse en contenedores para mayor portabilidad)
Evidencias de instalación:
Una vez Instalado y verificando que todo este correcto, hay que abrir el CMD, e ingresar el
siguiente comando:

Si todo esta correcto nos dará la siguiente salida, este comando espera la conexión de Mongo
DB:

Abrimos otra ventana del símbolo del sistema y ponemos el siguiente comando para crear la
conexión:

Si todo esta correcto nos dará la siguiente salida en la cual nos da la conexión como una
dirección, así como el puerto, desde este punto ya podemos empezar a escribir comandos para
interactuar con MongoDB, como crear una base de datos.

Ingresaremos el siguiente comando para ver las bases de datos existentes:

Nos dará como salida lo que se muestra en la imagen, lo cual significa que hay tres Bases de
datos la cuales son las predeterminadas:
Crear DB
Para crear la base datos introduciremos el siguiente comando: (como se muestra en la Ilustración 1)

Ilustración 1: Comando para usar o crear la base datos

Aquí se usará esa base de datos si es que existe en caso de que la base de datos no exista
Mongo DB la creara y la comenzara a utiliza, si todo salió bien nos debería de dar una salida
como la de la imagen: (como se muestra en la Ilustración 2)

Ilustración 2: Comando ejecutado para usar o crear la base datos

Desde este punto ya tenemos creada la base de datos y podemos empezar a hacer inserciones
más adelante.

Manipulación de la DB
Inserción

Para insertar datos en una colección (equivalente a una tabla en bases de datos relacionales),
utilizaremos un comando con una estructura como la que aparece a continuación, en el cual
tenemos el nombre de la tabla que es usuarios en esta tabla se encuentran los campos
nombre, edad y ciudad como se muestra a continuación (como se muestra en la Ilustración 3)

Ilustración 3: Comando para insertar un registro

Damos enter y si lo hicimos bien nos dará la siguiente salida: (como se muestra en la Ilustración 4)

Ilustración 4: Comando ejecutado para insertar un registro


De igual forma podemos ingresar varios registros en un mismo código, como se muestra: (como se
muestra en la Ilustración 5)

Ilustración 5: Comando para ingresar varios registros

Si se ejecuto correctamente el comando nos dará la siguiente salida: (como se muestra en la Ilustración 6)

Ilustración 6 Comando ejecutado para ingresar varios registros

Actualización

Por ejemplo, actualizar la edad del usuario llamado Juan lo haremos con el siguiente comando:
(como se muestra en la Ilustración 7)

Ilustración 7: Comando para actualizar un campo en un registro

Nos dará la siguiente salida si se realizó de forma adecuada: (como se muestra en la Ilustración 8)

Ilustración 8: Comando ejecutado para actualizar un campo en un registro

O por ejemplo agregar un campo a un registro en este caso Agregar un campo llamado país a
los usuarios que viven en Madrid: (como se muestra en la Ilustración 9)

Ilustración 9: Comando para agregar un campo a un registro existente


Salida: (como se muestra en la Ilustración 10)

Ilustración 10: Comando ejecutado para agregar un campo a un registro existente

Eliminación

Para eliminar documentos, MongoDB proporciona los métodos deleteOne() y deleteMany(),


veamos primero deleteOne() que se utiliza para eliminar un solo registro: (como se muestra en la
Ilustración 11)

Ilustración 11: Comando para eliminar un solo registro en base a una condición

Si todo salió bien nos dará una salida como esta: (como se muestra en la Ilustración 12)

Ilustración 12: Comando ejecutado para eliminar un solo registro en base a una condición

Ahora deleteMany() se utiliza para eliminar uno o más registro de acuerdo a una similitud en
este caso queremos eliminar a los usuarios que viven en Madrid: (como se muestra en la Ilustración 13)

Ilustración 13: Comando para eliminar varios registros en base a una condición

En este caso como teníamos un registro con esa coincidencia, nos dará la siguiente salida: (como
se muestra en la Ilustración 14)

Ilustración 14: Comando ejecutado para eliminar varios registros en base a una condición

Consultas

Para consultar toda la información como lo haría un Select * from aquí utilizamos el siguiente
comando: (como se muestra en la Ilustración 15)

Ilustración 15: Comando para obtener todos los registros de una tabla o colección
En este caso nos dará todos los registros, pero como anteriormente eliminados dos de tres
registros que teníamos, solo nos muestra un registro de esta manera: (como se muestra en la Ilustración 16)

Ilustración 16: Comando ejecutado para obtener todos los registros de una tabla o colección

Agregaremos un par de registros más para entenderlo de mejor manera (como se muestra en la Ilustración
17 y 18)

Ilustración 17: Comando para ingresar varios registros

Ilustración 18: Comando ejecutado para ingresar varios registros


Ingresamos el comando de búsqueda o consulta y como observamos nos da todos los registros:
(como se muestra en la Ilustración 19)

Ilustración 19: Comando ejecutado para obtener todos los registros de una tabla o colección

Y si queremos hacer un filtrado especifico por ejemplo donde la edad sea mayor de 2
utilizamos operadores como $gt (mayor que) y la estructura del siguiente comando: (como se
muestra en la Ilustración 20)

Ilustración 20: Comando para filtrar un registro que cumpla una condición

Nos dará solo dos registros ya que Johann tiene 20 y no cumple la condición: (como se muestra en la
Ilustración 21)

Ilustración 21: Comando ejecutado para filtrar un registro que cumpla una condición una condición

Otro ejemplo de otro filtrado puede ser que se muestren los registros donde el usuario sea de
México: (como se muestra en la Ilustración 22)

Ilustración 22: : Comando para filtrar un registro de otra manera


Referencias
Chodorow, K. (2013). MongoDB: The Definitive Guide. O'Reilly Media.
MongoDB Inc. (2024). MongoDB Documentation.
https://www.mongodb.com/docs/
Redmond, E. (2012). Seven Databases in Seven Weeks: A Guide to
Modern Databases and the NoSQL Movement. Pragmatic Bookshelf.
Sadalage, P. & Fowler, M. (2013). NoSQL Distilled: A Brief Guide to the
Emerging World of Polyglot Persistence. Addison-Wesley.
Strauch, C. (2011). NoSQL Databases. Stuttgart Media University.

También podría gustarte