0% encontró este documento útil (0 votos)
344 vistas22 páginas

Introducción a MongoDB: Gestor NoSQL

Este documento proporciona información sobre MongoDB, un sistema de base de datos NoSQL orientado a documentos. Explica brevemente la historia de MongoDB, desde su creación por los fundadores de DoubleClick en 2007 hasta su cotización en bolsa en 2017. También resume algunas de las características clave de MongoDB como su formato de almacenamiento basado en documentos BSON y su popularidad entre las empresas.

Cargado por

luis
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 DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
344 vistas22 páginas

Introducción a MongoDB: Gestor NoSQL

Este documento proporciona información sobre MongoDB, un sistema de base de datos NoSQL orientado a documentos. Explica brevemente la historia de MongoDB, desde su creación por los fundadores de DoubleClick en 2007 hasta su cotización en bolsa en 2017. También resume algunas de las características clave de MongoDB como su formato de almacenamiento basado en documentos BSON y su popularidad entre las empresas.

Cargado por

luis
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 DOCX, PDF, TXT o lee en línea desde Scribd

UNIVERSDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

ESCUELA DE INGENIERIA INFORMATICA Y SISTEMAS

UNIVERSDAD NACIONA MICAELA BASTIDAS


DE APURIMAC

ESCUELA DE INGENIERIA INFORMATICA Y


SISTEMAS
“Año del Fortalecimiento de la Soberanía Nacional”

ASIGNATURA:

Base de Datos I

TEMA:

Gestor de Base de Datos: mongoDB

DOCENTE:
Alejandrina Huaylla Quispe

CICLO:
2022-2

Integrantes:
Código Nombre y apellido
191197 Brandon Rubén Chirinos Chambi
191195 Roberth Centeno Barrientos
191221 Clinver Mendoza Carrasco

Abancay-Apurímac
2022
UNIVERSDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

ESCUELA DE INGENIERIA INFORMATICA Y SISTEMAS

Contenido
Resumen.......................................................................................................................................3
Palabras claves.........................................................................................................................3
INTRODUCCIÓN.......................................................................................................................4
HISTORIA DE MONGODB.......................................................................................................5
¿Qué es MongoDB?.................................................................................................................8
ELEMENTOS DE MONGODB................................................................................................10
CARACTERÍSTICAS DE MONGODB....................................................................................11
¿Cómo funciona mongoDB?..................................................................................................13
-Uso en la actualidad..............................................................................................................13
¿Por qué usar mongoDB?.......................................................................................................16
¿Para Qué sirve MongoDB?...................................................................................................18
MongoDB vs RDBMS: ¿cuáles son las diferencias?..............................................................19
Modelado de datos en MongoDB...........................................................................................19
¿Por qué y cómo aprender a utilizar MongoDB?....................................................................20
MongoDB: Ventajas y desventajas.............................................................................................20
CONCLUSIÓN..........................................................................................................................22
UNIVERSDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

ESCUELA DE INGENIERIA INFORMATICA Y SISTEMAS

Resumen
Este portafolio electrónico corresponde al curso de base de datos I, tuve la oportunidad
de realizar búsqueda de información de la investigación. El contenido ayuda a tener una
visión y organización acerca del gestor de base de datos mongoDB. El presente trabajo
se basa en la investigación sobre el comportamiento y saber más acerca del gestor de
base de datos llamado mongoDB y saber las diferencias que existe entre todos los
gestores de base de datos con el fin de contribuir al aprendizaje sobre el curso a
continuación, te invito a navegar el presente trabajo y espero sea de su agrado.

Se trata de una base de datos creada por 10gen del tipo orientada a documentos, de
esquema libre, es decir, que cada entrada puede tener un esquema de datos diferente que
nada tenga que ver con el resto de registros almacenados. Es bastante rápido a la hora de
ejecutar sus operaciones ya que está escrito en lenguaje C++.La elección del formato
codificado en MongoDB es JSON. Es muy potente, porque incluso si los datos están
anidados dentro de los documentos JSON, seguirá siendo consultable e indexable.

Palabras claves
Base de datos, mongoDB, Gestor de base de datos, almacenamiento, listas
UNIVERSDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

ESCUELA DE INGENIERIA INFORMATICA Y SISTEMAS

INTRODUCCIÓN

Cuando hablamos de bases de datos tendemos a pensar en SQL y el modelo de bases de


datos relacional, pero existen alternativas como los modelos no relacionales donde
MongoDB es quizá el ejemplo más destacado.

MongoDB (del inglés humongous, "enorme") es un sistema de base de datos NoSQL


orientado a documentos de código abierto y escrito en C++, que en lugar de guardar los
datos en tablas lo hace en estructuras de datos BSON (similar a JSON) con un esquema
dinámico. Al ser un proyecto de código abierto, sus binarios están disponibles para los
sistemas operativos Windows, GNU/Linux, OS X y Solaris y es usado en múltiples
proyectos o implementaciones en empresas como MTV Network, Craigslist, BCI o
Foursquare.

La razón de esto es que MongoDB, al estar escrito en C++, cuenta con una más
que notoria capacidad para aprovechar los recursos de la máquina y, al estar licenciado
bajo una licencia GNU AGPL 3.0, es posible adaptarlo a nuestras necesidades.

Si no conoces MongoDB, al principio puede que te sientas un poco perdido. Al no tener


tablas ni nada que se parezca a SQL como referencia, tendremos que estudiar un poco
su filosofía y características para entender cómo manejar los datos. Aun así, MongoDB
es una seria candidata para almacenar los datos de nuestras aplicaciones.
UNIVERSDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

ESCUELA DE INGENIERIA INFORMATICA Y SISTEMAS

HISTORIA DE MONGODB

MongoDB es un servidor orientado a documentos que se desarrolló en el lenguaje de


programación C ++. Mongo es una palabra que se deriva de Humongous. MongoDB y
es el producto de servidor de código abierto, que se utiliza para el almacenamiento
orientado a documentos.

Era una empresa con sede en Nueva York llamada 10gen y más tarde cambió a
MongoDB Inc. Su desarrollo inicial se centró principalmente en la creación de
Plataforma como Servicio, pronto MongoDB salió como el servidor de código abierto
que la organización mantenía muy bien.

Kevin Ryan, Dwight Merriman y Eliot Horowitz fueron los fundadores de DoubleClick
y también desarrolladores de MongoDB. Los tres experimentaron problemas de
escalabilidad de bases de datos relacionales al desarrollar aplicaciones web en su
empresa.

1995

 Dwight Merriman & Kevin O’Connor crearon la popular empresa de publicidad


online con el nombre de DoubleClick.

 Posteriormente Kevin Ryan se unió a su equipo.

2003

 Eliot Horowitz luego se unió a la división de Investigación y Desarrollo de


DoubleClick como ingeniero de software después de su universidad.

 Pronto dejó la compañía en 2 años para comenzar ShopWiki junto con Dwight.

 Ambos se dieron cuenta de que volvían a resolver problemas de escalabilidad


horizontal.

2007

 Eliot, Dwight y Kevin iniciaron la nueva empresa y la llamaron 10gen.


UNIVERSDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

ESCUELA DE INGENIERIA INFORMATICA Y SISTEMAS

 La empresa se centró principalmente en crear la solución PaaS


con su propia pila de aplicaciones y bases de datos.

 Fue entonces que 10gen recibió la atención requerida de un capitalista Albert


Wenger e invirtió más de $ 1.5 millones.

 El nuevo nombre fue MongoDB Inc

2009

 MongoDB 1.0 se lanzó Este año

 MongoDB era una base de datos de código abierto y la empresa ofrecía servicios
de soporte comercial.

 Varias empresas comenzaron a utilizar la base de datos MongoDB por sus


increíbles funciones y características.

2012

 La compañía estableció sus oficinas en Sydney, Reston, Barcelona, Palo Alto,


Dublín y Londres que incluye la costa oeste.

 La empresa ocupó el noveno lugar según el Wall Street Journal y se la llamó


«Next Big Thing 2012.»

 Las excelentes características de MongoDB llevaron a la adopción y fueron


utilizadas por varias empresas en todo el mundo.

2013

 La organización fue nombrada oficialmente MongoDB Inc.

 El periódico NY Times utilizó MongoDB para crear la aplicación basada en web


para enviar fotos.

2015
UNIVERSDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

ESCUELA DE INGENIERIA INFORMATICA Y SISTEMAS

 Los principales lanzamientos ocurrieron en este año de


MongoDB y fue 3.0 el que contó con el motor de almacenamiento WiredTiger,
un mejor límite de miembros de réplica de más de 50, API de motor conectable,
así como mejoras de seguridad.

 Glassdoor presentó a MongoDB como el mejor lugar de trabajo.

2016

 MongoDB Inc. tenía más de 500 empleados y la base de datos se descargó más
de 20 millones de veces.

 Fue un gran logro de la empresa.

2017

 La compañía cotizó en NASDAQ con el nombre MDB, y la cotización pública


de su producto comenzó el 20 de octubre de 2017, a una tasa de salida a bolsa de
más de $ 24 por cada acción.

 Varias empresas de gran y mediana escala como SourceForge, Craigslist,


Foursquare y eBay están utilizando el desarrollo de MongoDB para el desarrollo
de aplicaciones de bases de datos.

2018

 MongoDB optó por su segunda adquisición y se hizo cargo de mLab por más de
68 millones de dólares.

 mLab, en ese momento, estaba ofreciendo MongoDB como DBaaS en la nube y


tenía muchos clientes.

2019

 MongoDB realizó su tercera adquisición este año y se hizo cargo de Realm, era
la compañía móvil basada en la nube por más de $ 39 millones.

 Fue bastante interesante para la empresa, ya que comenzaron como servicio web
de alojamiento PaaS y después de más de 12 años, iban en la misma dirección.
UNIVERSDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

ESCUELA DE INGENIERIA INFORMATICA Y SISTEMAS

 MongoDB 4.2 se lanzó el mismo año con el soporte de transacciones


distribuidas.

2020

 MongoDB 3.6 es su última versión que fue compatible con MS Azure


CosmosDB desde agosto de 2020.

 La versión actual de MongoDB del servidor de la comunidad es MongoDB 4.4.

2021

 Desde septiembre de 2021, MongoDB Inc. ha tenido una capitalización de


mercado de más de $ 32,79 mil millones.

 Convirtió a MongoDB en la empresa más valiosa por capitalización de mercado


según los datos.

 La capitalización de mercado o capitalización de mercado es el valor total de las


excelentes acciones de la empresa que cotiza en bolsa y se utiliza para medir
cuánto vale la empresa.

¿Qué es MongoDB?

MongoDB es una base de datos NoSQL de código abierto. NoSQL significa que la base
de datos no utiliza tablas relacionales como una base de datos SQL tradicional.

Hay una serie de tipos de bases de datos NoSQL, pero MongoDB almacena los datos en
objetos similares a JavaScript, conocidos como documentos, cuyo contenido tiene este
aspecto:

Aunque MongoDB se ha convertido en sinónimo del framework basado en


JavaScript [Link], hay controladores oficiales de la base de datos MongoDB para la
mayoría de los frameworks, lenguajes y tiempos de ejecución, incluidos [Link], PHP y
Python. También puedes optar por bibliotecas como Mongoose, que ofrecen un mayor
nivel de abstracción o funciones de mapeo relacional de objetos (ORM).
UNIVERSDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

ESCUELA DE INGENIERIA INFORMATICA Y SISTEMAS

A diferencia de las tablas SQL, no hay límites estructurales sobre lo que puedes
almacenar en MongoDB. Los esquemas de datos no se imponen:

Puedes almacenar lo que quieras donde quieras. Esto hace que MongoDB sea ideal para
estructuras de datos más orgánicas —o desordenadas—.

Piensa en una agenda de contactos. Los individuos pueden tener a menudo varios
números de teléfono. Podrías definir tres campos de teléfono en una tabla SQL, pero eso
sería demasiado para algunos contactos y demasiado poco para otros. En última
instancia, necesitarás una tabla de teléfonos independiente, lo que añade más
complejidad.

En MongoDB, esos números de teléfono podrían definirse como una matriz ilimitada de
objetos en el mismo documento:

_id: "123",

name: "Craig",

telephone: [

{ home: "0123456789" },

{ work: "9876543210" },

{ cell: "3141592654" }

Ten en cuenta que MongoDB utiliza una notación de objetos similar a la de JavaScript
para las actualizaciones y consultas de datos, lo que puede plantear algunos problemas
si estás acostumbrado a SQL.
UNIVERSDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

ESCUELA DE INGENIERIA INFORMATICA Y SISTEMAS

ELEMENTOS DE MONGODB

Antes de seguir adelante, echemos un vistazo a lo que hace que MongoDB funcione.
Utilizaremos este vocabulario a lo largo de este artículo.

 Documento: Un único objeto individual en un almacén de datos, análogo a un


registro o fila en una tabla de una base de datos SQL.

 Campo: Un único dato dentro de un documento, como un nombre o un número


de teléfono, análogo a un campo o columna de una tabla SQL.

 Colección: Un conjunto de documentos similares, análogo a una tabla SQL.


Aunque podrías poner todos tus documentos en una sola colección, suele ser
más práctico agruparlos en tipos específicos. En una agenda de contactos podrías
tener una colección para personas y otra para empresas.

 Base de datos: Una colección de datos relacionados, con un significado idéntico


al de una base de datos SQL.

 Esquema: Un esquema define las estructuras de datos. En las bases de datos


SQL debes definir definiciones de tablas con campos y tipos asociados antes de
poder almacenar datos. Esto no es necesario en MongoDB, aunque es posible
crear un esquema que valide los documentos antes de añadirlos a una colección.

 Índice: Una estructura de datos utilizada para mejorar el rendimiento de las


consultas, con un significado idéntico al de los índices de SQL.

 Clave primaria: Un identificador único para cada documento. MongoDB añade


automáticamente un campo _id único e indexado a cada documento de una
colección.

 Desnormalización: En las bases de datos SQL, la «normalización» es una


técnica utilizada para organizar los datos y eliminar la duplicación. En
UNIVERSDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

ESCUELA DE INGENIERIA INFORMATICA Y SISTEMAS

MongoDB, se fomenta la «desnormalización». Se repiten activamente


los datos y un solo documento podría contener toda la información necesaria.

 Uniones: SQL proporciona un operador JOIN para poder recuperar datos de


varias tablas normalizadas en una sola consulta. Las uniones no eran posibles en
MongoDB hasta la versión 3.6 y las limitaciones siguen existiendo. Esta es otra
razón por la que los datos deben desnormalizarse en documentos
autocontenidos.

 Transacciones: Cuando una actualización cambia dos o más valores en un


mismo documento, MongoDB se asegura de que todas tengan éxito o fallen. Las
actualizaciones en dos o más documentos deben estar envueltas en una
transacción. MongoDB admite las transacciones desde la versión 4.0, pero se
requiere un conjunto de réplicas multiservidor o un clúster fragmentado. Las
instalaciones de ejemplo que se muestran a continuación utilizan un único
servidor, por lo que las transacciones no son posibles.

CARACTERÍSTICAS DE MONGODB

4.1 Potente sintaxis de consultas

Tiene una potente sintaxis de cara a las consultas, lo que permite hacer consultas, desde
las más sencillas hasta las más complejas, obteniendo todo tipo de información.

4.2 Indexación

Es un concepto similar al de bases de datos relacionales, con el que se pueden crear


índice, gestionarlos y rehacerlos, y tienen un gran impacto en el rendimiento de las
consultas conforme la base de datos aumenta de tamaño.

4.3 Soporte para SQL

Aunque, normalmente, las bases de datos NoSQL están más pensadas para usar otro
tipo de lenguaje de consulta, para todos los que tienen experiencia con las mismas, el
UNIVERSDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

ESCUELA DE INGENIERIA INFORMATICA Y SISTEMAS

uso de SQL está muy arraigado, así que MongoDB ofrece este soporte
para que lo puedan seguir utilizando en los proyectos.

4.4 Transacciones

Las bases de datos NoSQL, tradicionalmente, no ofrecían transacciones. En el caso de


MongoDB, a partir de la versión 4.2, han sido incorporadas.

4.5 Base de datos distribuida con gran escalabilidad vertical y horizontal

La escalabilidad vertical es la posibilidad de aumentar los recursos relacionados con la


memoria o la CPU del servidor en el que está MongoDB. La escalabilidad horizontal es
la posibilidad de crear diferentes nodos, que permiten aumentar la disponibilidad de la
aplicación conforme el volumen de los datos o el número de accesos a dicha base datos
aumenta.

4.6 Permite ejecutar consultas pasando directamente código JavaScript

Si ya eres desarrollador de JavaScript, puedes aprovechar toda la potencia y el


conocimiento de ciertas funciones que te ofrece este lenguaje para utilizarlo en
MongoDB.

¿Cómo funciona mongoDB?


-Uso en la actualidad

5.1. Descargar el software.

Lo primero que vamos a hacer es descargar MongoDB de [Link].

En mi capeta de usuario descomprimo el fichero y me fijo en el trayecto de los binarios.


UNIVERSDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

ESCUELA DE INGENIERIA INFORMATICA Y SISTEMAS

5.2. Configurar variables de entorno.

Añado a la variable de entorno PATH el trayecto del directorio bin de MongoDB. Esto
se puede hacer de varios modos, pero lo voy a hacer del que creo menos cutre, que es
añadiendo una entrada (un fichero) con el trayecto en el directorio /etc./paths. d/. Esto lo
tenemos que hacer con la aplicación Terminal. Creo con vi un fichero (se puede llamar
como queráis) que he denominado mongodb y escribo el trayecto (a ver observadores en
las capturas de panel).

Ojito con el tema de permisos en Mac. Para proteger al sistema no puedes escribir sin
más en algunas carpetas y tienes que cambiar a administrador (comando sudo su +
contraseña).

El fichero ya lo puedes crear con Vi (lo pongo sencillo).

1 vi mingodb

2 ESC
UNIVERSDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

ESCUELA DE INGENIERIA INFORMATICA Y SISTEMAS

3 i (de insertar)

4 Escribir el path

5 wq (escribir y salir)

Si te apañas bien con entornos Unix hay modos hasta más sencillo como usando
simplemente el comando echo y redirigiendo a un fichero

1 echo "trayecto" > ficherodestino

Una vez que lo tenemos, al reiniciar el equipo podremos ver con el comando echo
$PATH si está y no tenemos ningún error.

5.3. Crear directorio de base de datos.

Ahora, tenemos que crear el directorio de la base de datos. Como está en el directorio
data, tendremos que crearlo también como administrador.

Aunque como arrancaremos la aplicación con el usuario interactivo, cambiaremos el


propietario (estando como «su»)

Usaremos el comando chown.

5.4. Arrancar la base de datos.


UNIVERSDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

ESCUELA DE INGENIERIA INFORMATICA Y SISTEMAS

Ahora, solo tenemos que arrancar la base de datos con el


comando mongbd desde otra ventana de terminal.

Arrancamos el cliente, desde otra ventana de terminal, usando el comando mongo.


Jugamos un poco con los comandos. Si escribo use mydb estoy especificando que voy a
trabajar con una nueva base de datos. Hasta que no haga la inserción del primer
documento no se creará. Para insertar un documento solo tengo que usar el
comando insert con un comando parecido a este, como se puede ver.

¿Por qué usar mongoDB?


Los principales motivos para utilizar MongoDB como base de datos en nuestros
proyectos son varios:

6.1. Escalabilidad, tanto vertical y horizontal

La escalabilidad es la necesidad de que la base datos se vaya adaptando, vaya


aumentando su tamaño en función de la información que guarde, los usuarios que van a
acceder a ella y demás aspectos.

La escalabilidad vertical se refiere al uso de memoria y CPU. La escalabilidad


horizontal se refiere a la capacidad que tiene MongoDB de crear nuevos nodos, dado
que se trata de un sistema distribuido en el que se pueden incorporar nuevos nodos,
como si fueran replicaciones del propio MongoDB. Esto permite que el rendimiento sea
mucho mejor para la aplicación.

6.2. Flexibilidad (Schemaless)


UNIVERSDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

ESCUELA DE INGENIERIA INFORMATICA Y SISTEMAS

MongoDB también ofrece una gran flexibilidad, debido a que es lo que


se conoce como una base de datos que no sigue ningún esquema, al contrario que las
bases de datos relacionales, que son las que son más se usaban en el pasado y que
utilizan un tipo de esquema que controla cómo se almacena la información, qué tipo de
datos se almacena, etcétera.

En ese sentido, Mongo dB es mucho más flexible, y aunque pueda parecer una
desventaja, es una característica que la hace diferente a otros tipos de bases de datos.

6.3. Alta disponibilidad

Tiene una alta disponibilidad, referido al gran volumen de acceso. Al iniciar un


proyecto se tendrán pocos accesos de aplicaciones y de usuarios, pero conforme va
pasando el tiempo, los mismos aumentarán considerablemente, lo que puede impactar
en el rendimiento de la base de datos.

En ese sentido, MongoDB tiene capacidades concretas para adaptarse a esta estas
necesidades, permitiendo una alta disponibilidad.

6.4. Transacciones

Aunque las bases de datos NoSQL, en general, no ofrecen transacciones cómo lo hacen
las bases de datos relacionales, desde la versión 4.2, MongoDB sí las soporta, así que
una de las grandes desventajas que tenía en el pasado, queda resuelta.

6.5Proyectos Big Data

Si estás involucrado o quieres involucrarte en proyectos de Big Data, debe saber que las
bases de datos NoSQL se usan bastante, ya que son un complemento perfecto.

MongoDB se integra muy bien en este tipo de proyectos, ya que otra de las
características que tienen las bases datos NoSQL es que están pensadas para datos cuyas
estructuras no se conocen o son bastante dispares entre sí, y los proyectos de Big Data
suelen manejar este tipo de información, por eso es un gran complemento.

6.6. Documentación oficial muy buena

En el caso de MongoDB, la documentación oficial es muy buena, por lo que durante el


desarrollo de un proyecto se podrá usar como un gran recurso para ir mejorando las
operaciones que se deben realizar, cómo están documentadas, cómo se usan, etcétera.
UNIVERSDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

ESCUELA DE INGENIERIA INFORMATICA Y SISTEMAS

6.7. Razones adicionales para usar MongoDB

Además de las razones explicadas anteriormente, que son un poco más técnicas, vamos
a destacar otras razones menos técnicas para utilizar MongoDB:

 Es código abierto

Se trata de un software que está siendo evolucionado continuamente por una gran
comunidad, incorporando nuevas mejoras que pueden impactar directamente en tus
proyectos.

 Es un complemento perfecto para desarrollar en lenguajes basados en


JavaScript como [Link]

Si ya desarrolladas con [Link], merece mucho la pena incorporar MongoDB en esos


proyectos.

 Es una base de datos que lleva muy poco tiempo aprender

Una vez que empiezas con MongoDB, no te llevará mucho tiempo alcanzar un nivel
más que aceptable para poder desarrollar aplicaciones en tus proyectos.

 Es gratuita

Por último, y no es poco importante, se trata de una herramienta gratuita, que puedes
incorporar en tus proyectos de manera comercial sin tener que pagar el uso de licencias.

¿Para Qué sirve MongoDB?


Para centrar un poco más el tema, las bases relacionales o SQL se componen de tablas que
cuentan con registros o filas y campos o columnas. Por el contrario, MongoDB se centra en el
uso de colecciones, las cuales son un conjunto de documentos que, a su vez, contienen una
estructura JSON y, dentro, unas claves que funcionan como campos.

Una vez que ya conocemos cómo funciona MongoDB, debemos empezar a pensar en qué
podemos usarlo y si es apto para las mismas funciones que una base de datos relacional. Es
normal creer que sí es más sencillo de utilizar que cualquier sistema de gestión de datos SQL.
Lo lógico sería utilizarlo siempre, ya que la flexibilidad y rapidez que nos aporta ahorraría
tiempo de desarrollo y nos permitiría implementar sistemas de trabajo más ágiles. Sin embargo,
y aunque MongoDB puede emplearse en la mayoría de los proyectos, no soporta las
UNIVERSDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

ESCUELA DE INGENIERIA INFORMATICA Y SISTEMAS

transacciones por lo que no nos serviría para usarlo en estos casos, porque solo
garantiza operaciones atómicas en el ámbito de documentos.

No obstante, prácticamente cualquier proyecto que no necesite transacciones permite usar


MongoDB:

 Creación de tiendas online.

 Desarrollo de juegos.

 Creación de aplicaciones.

 Manejo de estadísticas en tiempo real.

 Administración de contenidos en sistemas con grandes cantidades de documentos.

Y muchos otros proyectos que se desarrollan en la actualidad, especialmente en aquellos que


necesiten de escalabilidad, ya que gracias a sus sencillas opciones de replicación obtendremos
un sistema que escala de forma horizontal y sin demasiados problemas.

Otra cosa a tener en cuenta es que, aunque en las colecciones de MongoDB no se precise de un
esquema definido, deberíamos intentar crear uno para poder seguirlo nosotros. De esta manera,
mejoraremos el rendimiento de nuestra aplicación.

MongoDB vs RDBMS: ¿cuáles son las diferencias?


Hay varias diferencias importantes entre MongoDB y RDBMS (sistema de gestión de bases de
datos relacionales). Como ya se ha mencionado, los datos no se almacenan en tablas, sino en
colecciones de documentos. Estos documentos sustituyen a las filas de RDBMS. Contienen
campos de pares valor/clave, que a su vez sustituyen a las columnas.

Además, la integridad de los datos no es una restricción en MongoDB. Los datos no necesitan
ser «normalizados» antes de su uso como en un RDBMS. Esto es una ventaja real, ya que la
restricción de normalización puede degradar el rendimiento a medida que la base de datos
crece.  

Modelado de datos en MongoDB


A diferencia de las bases de datos SQL, MongoDB no implica ninguna restricción en cuanto a la
estructura de los documentos. Los datos no tienen un esquema preconcebido, y es esta
flexibilidad la que hace que MongoDB sea tan potente y eficiente.
UNIVERSDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

ESCUELA DE INGENIERIA INFORMATICA Y SISTEMAS

El modelado de los datos y la estructura de los documentos sólo deben


responder a las necesidades del usuario. Es importante tener en cuenta las necesidades de la
aplicación y, por tanto, qué datos y tipos de datos se necesitarán.

Si se esperan muchas consultas, es pertinente utilizar índices en el modelo de datos para mejorar
la eficiencia de las consultas. Por último, si se producen frecuentes adiciones, actualizaciones y
eliminaciones de datos, conviene utilizar los índices y el sistema de fragmentación para
mejorar la eficacia global del entorno.

¿Por qué y cómo aprender a utilizar MongoDB?

MongoDB es una de las herramientas indispensables para la ingeniería de datos. Para aprender a
utilizarla, puedes inscribirte a los cursos de formación de DataScientest.

La formación de Data Engineer le enseñará el trabajo de un ingeniero de datos, y en particular


cómo construir pipelines de adquisición y procesamiento automático de datos. En el módulo
«base de datos», aprenderá a utilizar MongoDB, pero también Cassandra, Elastic Search, Neo4J
y el lenguaje SQL.

Si ya eres un Data Scientist y quieres aprender a poner en producción modelos de Machine


Learning, puedes recurrir a nuestra formación de Machine Learning Engineer. MongoDB es
una de las herramientas que aprenderás a utilizar.  

Ya sabes todo sobre MongoDB. Conoce otras herramientas de ingeniería de datos, como la
plataforma de contenerización Docker o el Cloud Data Warehouse de Snowflake.

MongoDB: Ventajas y desventajas


No podemos formarnos un criterio sin saber los factores, buenos y malos, que
envuelven el mismo. Y si hablamos de una base de datos NoSQL como MongoDB
con más razón debemos ver sus beneficios.

Ventajas de MongoDB:

-Soporta los principales leguajes de programación


UNIVERSDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

ESCUELA DE INGENIERIA INFORMATICA Y SISTEMAS

Aunque esta base de datos NoSQL está programada en C++ soporta


varios lenguajes de programación más populares del mercado son:

PHYTON

JAVA

JAVASCRIPT

-Está en constante evolución

Con poco más de una década de existencia, debemos considerar a esta base de datos
NoSQL como un sistema relativamente reciente. Lo que en términos del desarrollo
web es una de las mejores características de MongoDB.

-Es multiplataforma

Como mencionamos entre sus características. MongoDB es un software


multiplataforma. Gracias a que está escrito en C++. Tienes la facilidad de instalarlo
tanto en WINDOWS como en UBUNTO con facilidad.

-Es completo perfecto para Java Script

Si eres desarrollador de aplicaciones utilizando este lenguaje podrás utilizar todas


las potencias de sus funciones y operadores de MongoDB.

-Es una herramienta con coste bajo

Al ser una herramienta de código abierto se paga licencia, lo único que se paga es
por el soporte, en caso de necesitarlo.

Desventajas de MongoDB:

-Poco fiable para aplicaciones con transacción compleja

Tradicionalmente, la base de datos NoSQL no ofrecían transacciones… pero vendría


un héroe a cambiar eso.

¿su nombre? MongoDB, versión 4.2- A partir de este punto. Esa base de datos
incorporo la opción de transacciones, aunque aún tiene muchos inconvenientes
cuando se trata de procesos complejos.
UNIVERSDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

ESCUELA DE INGENIERIA INFORMATICA Y SISTEMAS

-Es una tecnología joven

Ahora debemos ver por qué es malo que este servicio sea tan reciente, Aunque se
encuentre en permanente evolución, hay muchas características de MongoDB que se
pueden considerar insuficiente o existen aspectos en los que puede mejorar. Por esta
razón, no se considera que esta herramienta haya alcanzado aún todo su potencial.

-No tiene Joins para consultas

Esta es una de las grandes desventajas de MongoDB, y es que no permite hacer


Joins para consultas, es decir, consultas en las que combinan o relacionan diferentes
tablas. La forma de ejecutar ese tipo de consultas en MongoDB se hace de otra
manera.

CONCLUSIÓN
En conclusión, con este pequeño repaso de lo que es una base de datos relacional y
la base de datos no relacionales podemos ir razonando en que situaciones se puede
usar o no usar NoSQL, realmente se podría usar para todo… Pero también queda de
parte que los desarrolladores realizar una aplicación que haga un buen uso de
MongoDB a alguna base de datos no racional.

También se dice que es una versión libre que cuenta con más de 5000 usuarios.
MongoDB puede ser usado para: la administración de contenido, inteligencia
operacional, E-Commerce, Administración de datos de usuario y como fuentes de
datos de alto volumen.

Usar esta base de datos MongoDB es arriesgado, salvo que sepas a lo que estás
jugando porque esta tecnología no solo es bastante novedosa y a desarrolladores más
experimentados les aporta muchos beneficios (sobre todo, en el lenguaje web), pero
también tiene su consecuencia y hay que tenerlas en cuenta.

REFERENCIAS BIBLIOGRAFICAS:
UNIVERSDAD NACIONAL MICAELA BASTIDAS DE APURIMAC

ESCUELA DE INGENIERIA INFORMATICA Y SISTEMAS

Características de MongoDB. (2020, agosto 7). [Link].


[Link]

Mora, R. C. (2013, noviembre 20). Primeros pasos con MongoDB. Adictos al


trabajo. [Link]
mongodb/

GReyes. (s. f.). Razones para usar MongoDB en tus Proyectos.


[Link]. Recuperado 19 de noviembre de 2022, de
[Link]
proyectos/

[Link]

[Link]

[Link]

[Link]

[Link]

[Link]

También podría gustarte