El documento presenta una introducción a NoSQL y MongoDB. Explica el contexto de surgimiento de bases de datos NoSQL debido al crecimiento exponencial de datos, dispositivos móviles y redes sociales. Luego define Big Data y sus características de volumen, velocidad, variedad y veracidad. Procede a describir los diferentes tipos de bases de datos NoSQL, enfocándose en MongoDB como una base de datos orientada a documentos que almacena datos en formato JSON/BSON de manera flexible sin esquema fijo. Finalmente
Légère mise à jour de l'introduction aux bases de données NoSQL faite pour l'Ensim (Ecole Nationale Supérieure d'Ingénieurs du Mans), niveau Master en Janvier 2014. Ajout d'exemples et d'une présentation rapide des APIs majeures.
Este documento presenta MongoDB, una base de datos NoSQL orientada a documentos. Explica las características principales de MongoDB, incluyendo consultas ad hoc, indexación, replicación, balanceo de carga y almacenamiento de archivos. También introduce conceptos clave de bases de datos NoSQL como eventual consistency, sharding y replication.
Les presento una síntesis para comprender que son y en que se diferencian las bases de datos SQL y NoSQL ¿Puede un especialista en Informática Médica ignorar el estándar SQL?
This document outlines the topics covered in an Edureka course on MongoDB. The course contains 8 modules that cover MongoDB fundamentals, CRUD operations, schema design, administration, scaling, indexing and aggregation, application integration, and additional concepts and case studies. Each module contains multiple topics that will be taught through online instructor-led classes, recordings, quizzes, assignments, and support.
Este documento resume la historia y los modelos de las bases de datos desde su origen en la antigüedad hasta el siglo XXI. Explica los modelos de red, fichero invertido y relacional, así como el modelo dimensional utilizado para almacenar datos OLAP. También describe los principales hitos y desarrollos tecnológicos en cada década desde la creación de la máquina de tarjetas perforadas de Hollerith hasta los sistemas actuales dominados por IBM, Microsoft y Oracle.
MongoDB es un sistema de base de datos NoSQL orientado a documentos de código abierto. Almacena datos en documentos BSON en lugar de tablas y no requiere un esquema fijo. MongoDB permite almacenar documentos con diferentes esquemas en la misma colección y escala horizontalmente mediante sharding. MongoDB Atlas es un servicio en la nube que facilita el alojamiento y administración de clusters de MongoDB.
Investigación de sobre los conceptos que se deben de tratar en Mongo DBJeffLere
El documento describe las características principales de MongoDB, una de las bases de datos NoSQL orientadas a documentos más populares. Explica que los datos se almacenan como documentos con estructura flexible basada en objetos JSON/BSON. Además, detalla funcionalidades clave como replicación, sharding, transacciones e índices. Se dedica a modelar relaciones entre datos en MongoDB, exponiendo incrustación y referencias como opciones principales.
Légère mise à jour de l'introduction aux bases de données NoSQL faite pour l'Ensim (Ecole Nationale Supérieure d'Ingénieurs du Mans), niveau Master en Janvier 2014. Ajout d'exemples et d'une présentation rapide des APIs majeures.
Este documento presenta MongoDB, una base de datos NoSQL orientada a documentos. Explica las características principales de MongoDB, incluyendo consultas ad hoc, indexación, replicación, balanceo de carga y almacenamiento de archivos. También introduce conceptos clave de bases de datos NoSQL como eventual consistency, sharding y replication.
Les presento una síntesis para comprender que son y en que se diferencian las bases de datos SQL y NoSQL ¿Puede un especialista en Informática Médica ignorar el estándar SQL?
This document outlines the topics covered in an Edureka course on MongoDB. The course contains 8 modules that cover MongoDB fundamentals, CRUD operations, schema design, administration, scaling, indexing and aggregation, application integration, and additional concepts and case studies. Each module contains multiple topics that will be taught through online instructor-led classes, recordings, quizzes, assignments, and support.
Este documento resume la historia y los modelos de las bases de datos desde su origen en la antigüedad hasta el siglo XXI. Explica los modelos de red, fichero invertido y relacional, así como el modelo dimensional utilizado para almacenar datos OLAP. También describe los principales hitos y desarrollos tecnológicos en cada década desde la creación de la máquina de tarjetas perforadas de Hollerith hasta los sistemas actuales dominados por IBM, Microsoft y Oracle.
MongoDB es un sistema de base de datos NoSQL orientado a documentos de código abierto. Almacena datos en documentos BSON en lugar de tablas y no requiere un esquema fijo. MongoDB permite almacenar documentos con diferentes esquemas en la misma colección y escala horizontalmente mediante sharding. MongoDB Atlas es un servicio en la nube que facilita el alojamiento y administración de clusters de MongoDB.
Investigación de sobre los conceptos que se deben de tratar en Mongo DBJeffLere
El documento describe las características principales de MongoDB, una de las bases de datos NoSQL orientadas a documentos más populares. Explica que los datos se almacenan como documentos con estructura flexible basada en objetos JSON/BSON. Además, detalla funcionalidades clave como replicación, sharding, transacciones e índices. Se dedica a modelar relaciones entre datos en MongoDB, exponiendo incrustación y referencias como opciones principales.
Una base de datos es un sistema para almacenar y organizar grandes cantidades de información de forma estructurada. Existen bases de datos relacionales que usan tablas y registros, como SQL, y no relacionales como MongoDB, Cassandra y Oracle NoSQL que usan otros modelos. Cada sistema tiene características diferentes para tipos específicos de datos y necesidades de escalabilidad.
Este documento presenta las principales bases de datos existentes, incluyendo sus características y funciones. Explica qué es una base de datos, destacando que permite almacenar y organizar grandes cantidades de información para su fácil recuperación. Luego describe las bases de datos SQL y NoSQL, dando ejemplos populares como SQL Server, Oracle, MongoDB y Cassandra. Finalmente, concluye que las bases de datos son colecciones de información que brindan servicio a múltiples aplicaciones de manera concurrente.
El documento describe las principales características de las bases de datos SQL y NoSQL. Explica que las bases de datos SQL usan el lenguaje SQL y tablas, mientras que las bases de datos NoSQL no usan SQL ni tablas fijas. Luego describe algunas de las bases de datos más populares, incluyendo SQL Server, Oracle, MongoDB, Oracle NoSQL y Cassandra.
Tipos de bases de datos por Juan del Ángel Oláez GonzálezÁngel Oláez
Una base de datos es un contenedor que permite almacenar información de forma ordenada con diferentes propósitos y usos. Existen diferentes tipos de bases de datos como las OLTP, que permiten modificar la información en tiempo real, y las OLAP, utilizadas principalmente para almacenar datos históricos y realizar análisis. El tipo de base de datos a utilizar depende del giro empresarial y del procesamiento que se le dará a la información.
CURSO NACIONAL
FORMACIÓN DISCIPLINAR
DOCENTES DE EDUCACIÓN MEDIA SUPERIOR
INSTITUCIONES DE EDUCACIÓN PÚBLICA DE EDUCACIÓN MEDIA SUPERIOR
CURSO: INFORMÁTICA
Actividad de Aprendizaje No. 4
Base de Datos
Juan Carlos González Desirena
El documento proporciona información sobre bases de datos, incluyendo una descripción de bases de datos SQL y NoSQL, y discute las ventajas y diferencias de las bases de datos más populares como SQL Server, Oracle, MongoDB, Oracle NoSQL y Cassandra.
Una base de datos o banco de datos es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. En este sentido; una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta. Actualmente, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital, siendo este un componente electrónico, por tanto se ha desarrollado y se ofrece un amplio rango de soluciones al problema del almacenamiento de datos.
Existen programas denominados sistemas gestores de bases de datos, abreviado SGBD (del inglés database management system o DBMS), que permiten almacenar y posteriormente acceder a los datos de forma rápida y estructurada. Las propiedades de estos DBMS, así como su utilización y administración, se estudian dentro del ámbito de la informática.
Las aplicaciones más usuales son para la gestión de empresas e instituciones públicas; También son ampliamente utilizadas en entornos científicos con el objeto de almacenar la información experimental.
Las bases de datos tradicionales se organizan por campos, registros y archivos. Un campo es una pieza única de información; un registro es un sistema completo de campos; y un archivo es una colección de registros. Por ejemplo, una guía de teléfono es análoga a un archivo. Contiene una lista de registros, cada uno de los cuales consiste en tres campos: nombre, dirección, y número de teléfono.
Este documento presenta información sobre una base de datos de bachilleres de una universidad en Venezuela. La base de datos contiene los nombres y números de identificación de 4 bachilleres. Además, proporciona la fecha y lugar donde se creó la base de datos.
Este documento describe varios tipos de bases de datos, incluyendo SQL, NoSQL, MongoDB, Cassandra y Oracle. Explica las características clave de cada uno y cómo difieren en términos de estructura de datos, lenguajes de consulta y funcionalidad.
El documento describe MongoDB, una base de datos NoSQL orientada a documentos. MongoDB almacena datos en formato BSON (similar a JSON) y los organiza en colecciones de documentos similares a tablas. Permite consultas dinámicas a través de operadores de consulta y manejo de datos embebidos. El documento también cubre conceptos como inserción, consulta y actualización de documentos desde la línea de comandos de MongoDB o lenguajes de programación como Java.
El documento describe la evolución histórica de las bases de datos desde su primera mención en 1963 hasta la actualidad. Señala que en la década de 1960 se desarrollaron los primeros sistemas de bases de datos, en 1970 Edgar Codd definió el modelo relacional y Larry Ellison desarrolló Oracle, y en la década de 1980 SQL se convirtió en el estándar de la industria. En la actualidad existen muchas alternativas en línea que permiten búsquedas orientadas a necesidades específicas.
Una base de datos es un sistema informático para almacenar grandes volúmenes de información. Existen bases de datos SQL y NoSQL, donde SQL usa lenguaje de consultas SQL y estructuras fijas como tablas, mientras que NoSQL no requiere estructuras fijas y no garantiza completamente ACID. Algunas de las bases de datos más populares son SQL Server, Oracle, MongoDB, Oracle NoSQL y Cassandra.
Este documento presenta la información de un curso sobre bases de datos. Explica brevemente qué son las bases de datos, las bases de datos SQL y No-SQL, y analiza las bases de datos más populares (SQL Server, Oracle, Mongo DB, Oracle NoSQL, Cassandra) comparando sus características y ventajas. El autor concluye que el desarrollo del tema le permitió ampliar sus conocimientos sobre los diferentes tipos de bases de datos.
Este documento presenta la información de un curso sobre bases de datos. Explica brevemente qué son las bases de datos, las bases de datos SQL y No-SQL, y analiza las bases de datos más populares (SQL Server, Oracle, Mongo DB, Oracle NoSQL, Cassandra) comparando sus características y ventajas. El autor concluye que el desarrollo del tema le permitió ampliar sus conocimientos sobre los diferentes tipos de bases de datos.
Una base de datos es un conjunto de datos organizados para su uso y vinculación. Puede ser desde un pequeño archivo hasta una compleja base de datos gubernamental. Las bases de datos informáticas pueden crearse usando software o en línea, y ofrecen funcionalidades ilimitadas para organizar datos. SQL y NoSQL son lenguajes comunes para interactuar con bases de datos, aunque difieren en su estructura y capacidad para manejar grandes cantidades de datos.
DBpedia es una base de datos semántica creada a partir de la información estructurada de Wikipedia. Consiste en extraer datos como nombres, fechas, lugares de los artículos de Wikipedia y publicarlos en formato Linked Data para realizar consultas más sofisticadas a través de SPARQL. DBpedia contiene miles de millones de triples sobre millones de entidades y está enlazada con otras bases de datos, lo que permite obtener información extendida a través de múltiples fuentes.
Este documento presenta información sobre diferentes tipos de bases de datos, incluyendo SQL, NoSQL, MongoDB, Oracle, Microsoft SQL Server y Cassandra. Explica las características clave, ventajas y desventajas de cada uno. En general, describe las diferencias entre bases de datos relacionales y no relacionales, y cómo cada tipo satisface necesidades específicas de almacenamiento y recuperación de datos.
Este documento proporciona una introducción a MongoDB, una base de datos NoSQL orientada a documentos. Explica brevemente qué es MongoDB y NoSQL, y describe características clave como consultas ad hoc, indexación, replicación y balanceo de carga. También incluye ejemplos de comandos básicos en MongoDB.
Este documento proporciona información sobre bases de datos. Explica qué son las bases de datos SQL y NoSQL, y describe algunas de las bases de datos más populares como SQL Server, Oracle, MongoDB, Cassandra y Oracle NoSQL. También define conceptos clave como lenguaje SQL, bases de datos relacionales y no relacionales, y características de almacenamiento de datos distribuidos.
Una base de datos es un sistema para almacenar y organizar grandes cantidades de información de forma estructurada. Existen bases de datos relacionales que usan tablas y registros, como SQL, y no relacionales como MongoDB, Cassandra y Oracle NoSQL que usan otros modelos. Cada sistema tiene características diferentes para tipos específicos de datos y necesidades de escalabilidad.
Este documento presenta las principales bases de datos existentes, incluyendo sus características y funciones. Explica qué es una base de datos, destacando que permite almacenar y organizar grandes cantidades de información para su fácil recuperación. Luego describe las bases de datos SQL y NoSQL, dando ejemplos populares como SQL Server, Oracle, MongoDB y Cassandra. Finalmente, concluye que las bases de datos son colecciones de información que brindan servicio a múltiples aplicaciones de manera concurrente.
El documento describe las principales características de las bases de datos SQL y NoSQL. Explica que las bases de datos SQL usan el lenguaje SQL y tablas, mientras que las bases de datos NoSQL no usan SQL ni tablas fijas. Luego describe algunas de las bases de datos más populares, incluyendo SQL Server, Oracle, MongoDB, Oracle NoSQL y Cassandra.
Tipos de bases de datos por Juan del Ángel Oláez GonzálezÁngel Oláez
Una base de datos es un contenedor que permite almacenar información de forma ordenada con diferentes propósitos y usos. Existen diferentes tipos de bases de datos como las OLTP, que permiten modificar la información en tiempo real, y las OLAP, utilizadas principalmente para almacenar datos históricos y realizar análisis. El tipo de base de datos a utilizar depende del giro empresarial y del procesamiento que se le dará a la información.
CURSO NACIONAL
FORMACIÓN DISCIPLINAR
DOCENTES DE EDUCACIÓN MEDIA SUPERIOR
INSTITUCIONES DE EDUCACIÓN PÚBLICA DE EDUCACIÓN MEDIA SUPERIOR
CURSO: INFORMÁTICA
Actividad de Aprendizaje No. 4
Base de Datos
Juan Carlos González Desirena
El documento proporciona información sobre bases de datos, incluyendo una descripción de bases de datos SQL y NoSQL, y discute las ventajas y diferencias de las bases de datos más populares como SQL Server, Oracle, MongoDB, Oracle NoSQL y Cassandra.
Una base de datos o banco de datos es un conjunto de datos pertenecientes a un mismo contexto y almacenados sistemáticamente para su posterior uso. En este sentido; una biblioteca puede considerarse una base de datos compuesta en su mayoría por documentos y textos impresos en papel e indexados para su consulta. Actualmente, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital, siendo este un componente electrónico, por tanto se ha desarrollado y se ofrece un amplio rango de soluciones al problema del almacenamiento de datos.
Existen programas denominados sistemas gestores de bases de datos, abreviado SGBD (del inglés database management system o DBMS), que permiten almacenar y posteriormente acceder a los datos de forma rápida y estructurada. Las propiedades de estos DBMS, así como su utilización y administración, se estudian dentro del ámbito de la informática.
Las aplicaciones más usuales son para la gestión de empresas e instituciones públicas; También son ampliamente utilizadas en entornos científicos con el objeto de almacenar la información experimental.
Las bases de datos tradicionales se organizan por campos, registros y archivos. Un campo es una pieza única de información; un registro es un sistema completo de campos; y un archivo es una colección de registros. Por ejemplo, una guía de teléfono es análoga a un archivo. Contiene una lista de registros, cada uno de los cuales consiste en tres campos: nombre, dirección, y número de teléfono.
Este documento presenta información sobre una base de datos de bachilleres de una universidad en Venezuela. La base de datos contiene los nombres y números de identificación de 4 bachilleres. Además, proporciona la fecha y lugar donde se creó la base de datos.
Este documento describe varios tipos de bases de datos, incluyendo SQL, NoSQL, MongoDB, Cassandra y Oracle. Explica las características clave de cada uno y cómo difieren en términos de estructura de datos, lenguajes de consulta y funcionalidad.
El documento describe MongoDB, una base de datos NoSQL orientada a documentos. MongoDB almacena datos en formato BSON (similar a JSON) y los organiza en colecciones de documentos similares a tablas. Permite consultas dinámicas a través de operadores de consulta y manejo de datos embebidos. El documento también cubre conceptos como inserción, consulta y actualización de documentos desde la línea de comandos de MongoDB o lenguajes de programación como Java.
El documento describe la evolución histórica de las bases de datos desde su primera mención en 1963 hasta la actualidad. Señala que en la década de 1960 se desarrollaron los primeros sistemas de bases de datos, en 1970 Edgar Codd definió el modelo relacional y Larry Ellison desarrolló Oracle, y en la década de 1980 SQL se convirtió en el estándar de la industria. En la actualidad existen muchas alternativas en línea que permiten búsquedas orientadas a necesidades específicas.
Una base de datos es un sistema informático para almacenar grandes volúmenes de información. Existen bases de datos SQL y NoSQL, donde SQL usa lenguaje de consultas SQL y estructuras fijas como tablas, mientras que NoSQL no requiere estructuras fijas y no garantiza completamente ACID. Algunas de las bases de datos más populares son SQL Server, Oracle, MongoDB, Oracle NoSQL y Cassandra.
Este documento presenta la información de un curso sobre bases de datos. Explica brevemente qué son las bases de datos, las bases de datos SQL y No-SQL, y analiza las bases de datos más populares (SQL Server, Oracle, Mongo DB, Oracle NoSQL, Cassandra) comparando sus características y ventajas. El autor concluye que el desarrollo del tema le permitió ampliar sus conocimientos sobre los diferentes tipos de bases de datos.
Este documento presenta la información de un curso sobre bases de datos. Explica brevemente qué son las bases de datos, las bases de datos SQL y No-SQL, y analiza las bases de datos más populares (SQL Server, Oracle, Mongo DB, Oracle NoSQL, Cassandra) comparando sus características y ventajas. El autor concluye que el desarrollo del tema le permitió ampliar sus conocimientos sobre los diferentes tipos de bases de datos.
Una base de datos es un conjunto de datos organizados para su uso y vinculación. Puede ser desde un pequeño archivo hasta una compleja base de datos gubernamental. Las bases de datos informáticas pueden crearse usando software o en línea, y ofrecen funcionalidades ilimitadas para organizar datos. SQL y NoSQL son lenguajes comunes para interactuar con bases de datos, aunque difieren en su estructura y capacidad para manejar grandes cantidades de datos.
DBpedia es una base de datos semántica creada a partir de la información estructurada de Wikipedia. Consiste en extraer datos como nombres, fechas, lugares de los artículos de Wikipedia y publicarlos en formato Linked Data para realizar consultas más sofisticadas a través de SPARQL. DBpedia contiene miles de millones de triples sobre millones de entidades y está enlazada con otras bases de datos, lo que permite obtener información extendida a través de múltiples fuentes.
Este documento presenta información sobre diferentes tipos de bases de datos, incluyendo SQL, NoSQL, MongoDB, Oracle, Microsoft SQL Server y Cassandra. Explica las características clave, ventajas y desventajas de cada uno. En general, describe las diferencias entre bases de datos relacionales y no relacionales, y cómo cada tipo satisface necesidades específicas de almacenamiento y recuperación de datos.
Este documento proporciona una introducción a MongoDB, una base de datos NoSQL orientada a documentos. Explica brevemente qué es MongoDB y NoSQL, y describe características clave como consultas ad hoc, indexación, replicación y balanceo de carga. También incluye ejemplos de comandos básicos en MongoDB.
Este documento proporciona información sobre bases de datos. Explica qué son las bases de datos SQL y NoSQL, y describe algunas de las bases de datos más populares como SQL Server, Oracle, MongoDB, Cassandra y Oracle NoSQL. También define conceptos clave como lenguaje SQL, bases de datos relacionales y no relacionales, y características de almacenamiento de datos distribuidos.
Similar a Persistencia-NoSQL-y-MongoDB-v-2018.02-Prof.-L.-Straccia.pptx (20)
mi sector es muy tranquilo
los vecinos siempre colaboran , lo que mas me gusta de mi sector es el parque salazar, la iglesia el huerto de Dios donde congrego y el complejo deportivo de manco capac
3. Año 2015
Por cada minuto del día
YouTube 300 hs. de Video
Facebook 4,166.667 User share
Twitter
Apple
347,222 tweets
51,000 Apps Download
Whatsapp 347,222 Photos
Uber
Tinder
SnapChat
694 pasajeros
590,278 Users Swipe
284,722 Snaps
Población Total de Internet
3.200.000.000 de personas
4. MASIFICACIÓN USO DE INTERNET
SURGIMIENTO DE LAS REDES SOCIALES
CRECIMIENTO EXPONENCIAL DE DISPOSITIVOS MÓVILES
INTERFACES DE USUARIO MAS SIMPLES E INTUITIVAS
CADA DÍA CREAMOS 2,5
QUINTILLONES DE BYTES DE
DATOS. (2,5 Exabytes)
EL 90% DE LOS DATOS DEL
MUNDO DE HOY SE
GENERARON EN LOS ÚLTIMOS
2 AÑOS
PRINCIPALES CAMBIOS QUE SE PRODUJERON EN LA TECNOLOGÍA Y EN
LOS ÚLTIMOS 15 AÑOS
CAMBIOS EN LAS FORMAS DE PROCESAMIENTO
FUERTE BAJA EN LOS COSTOS DE ALMACENAMIENTO
6. Big Data es el sector de IT que hace referencia a grandes conjuntos de datos que
por la velocidad a la que se generan, la capacidad para tratarlos y los múltiples
formatos y fuentes, es necesario procesarlos con mecanismos distintos a los
tradicionales.
DEFINIENDO BIG DATA
BIG DATA
“Volumen masivo de datos, tanto estructurados como no-estructurados, los cuales
son demasiado grandes y difíciles de procesar con las bases de datos y el software
tradicionales." (ONU, 2012)
7. En ambientes tradicionales de BI y DW primero se generan los requerimientos y luego las
aplicaciones. Dicho de otra forma, los requerimientos direccionan las aplicaciones. En Big Data es al
revés, ya que se utiliza la exploración de datos libre para generar hipótesis para encontrar un patrón
BIG DATA
8. fuente: forrester research. global big data survey
El costo es un factor en muchos casos. Las tecnologías utilizadas en Big Data son más económicas
que las tradicionales.
¿ CUÁLES DE LAS 4 Vs TIENEN MAYOR INFLUENCIA ?
Volumen
Velocidad
Variedad
”Veracidad”
10. NOSQL DATABASE
¿ Qué es NoSQL ?
Sistemas de gestión de bases de datos que difieren del modelo clásico de bases de datos relacionales: no usan
SQL como lenguaje de consulta, los datos almacenados no requieren estructuras fijas como tablas, no garantizan
consistencia plena y escalan horizontalmente.
11. NOSQL DATABASE TYPES
Orientadas a columnas
Este tipo de bases de datos están pensadas para realizar consultas y agregaciones sobre grandes cantidades de
datos. Funcionan de forma parecida a las bases de datos relacionales, pero almacenando columnas de datos en
lugar de registros.
De clave-valor
Estas son las más sencillas de entender. Simplemente guardan tuplas que contienen una clave y su valor. Cuándo se
quiere recuperar un dato, simplemente se busca por su clave y se recupera el valor.
En grafo
Basadas en la teoría de grafos utilizan nodos y aristas para representar los datos almacenados. Son muy útiles para
guardar información en modelos con muchas relaciones, como redes y conexiones sociales
Orientadas a documentos
Son aquellas que gestionan datos semi estructurados. Es decir documentos. Estos datos son almacenados en algún
formato estándar como puede ser XML, JSON o BSON.
15. Document Based
• Las bases de datos almacenan y recuperan documentos que pueden ser XML,
JSON, BSON, etc.
• Los documentos almacenados son similares unos con otros pero no
necesariamente con la misma estructura.
16. MongoDB
• Su nombre surge de la palabra en inglés
“humongous” (que significa enorme).
• MongoDB guarda estructuras de datos en
documentos tipo JSON (JavaScript Object
Notation) con un esquema dinámico.
• Internamente MongoDB almacena los
datos en formato BSON (Binary JavaScript
Object Notation).
• BSON está diseñado para tener un
almacenamiento y velocidad más eficiente.
17. El Origen
2007
2009
2011
2016
La empresa 10gen lo desarrolla cuando estaba
desarrollando una Plataforma cómo servicio
(PaaS - Platform as a Service). Similar a Google
App Engine.
En este año MongoDB es lanzado como Producto.
Es publicado bajo licencia de código abierto
AGPL.
Se lanza la versión 1.4 considerada como una
Base de Datos lista para producción.
Actualmente MongoDB está por la versión 3.2.8 y
es la Base de Datos NoSQL con mayor
popularidad.
Bases de Datos de
Propósitos Generales
Bases de Datos
Documentales
Bases de Datos
De Código Abierto
19. Modelado de Relaciones entre
Documentos
Relaciones Uno a Uno
con documentos embebidos
Modelo Normalizado
Colección Personas
{ _id: “u0001",
nombre: “Juan Martín Hernandez“,
direccion:{calle: “Malabia 2277",
ciudad: “CABA",
provincia: “CABA",
codPostal: "1425" }
}
Si la dirección es un dato frecuentemente consultado junto con el
Nombre de la persona, la mejor opción será embeber la dirección
en los datos de la persona.
Colección Personas
{ _id: “u0001",
nombre: “Juan Martín Hernandez" }
Colección Direcciones
{ persona_id: “u0001",
calle: “Malabia 2277",
ciudad: “CABA",
provincia: “CABA",
codPostal: "1425" } Con una sola consulta podríamos recuperar toda la información
de una persona.
20. Modelado de Relaciones entre Documentos
{ _id: “u0001",
nombre: “Juan Martín Hernandez“,
direcciones:[{calle: “Malabia 2277",
ciudad: “CABA",
provincia: “CABA",
codPostal: "1425" },
{calle: “Av. Santa Fe 3455",
ciudad: “Mar del Plata",
provincia: “Buenos Aires",
codPostal: “7600" }
]
Si las direcciones son un dato frecuentemente consultado junto con el
Nombre de la persona, la mejor opción será embeber las direcciones
en los datos de la persona.
Colección Personas
Relaciones Uno a Muchos
Con Documentos Embebidos
Modelo Normalizado
Colección Personas
{ _id: “u0001",
nombre: “Juan Martín Hernandez" }
Colección Direcciones
{ persona_id: “u0001",
calle: “Malabia 2277",
ciudad: “CABA",
provincia: “CABA",
codPostal: "1425" }
{persona_id: “u0001",
calle: “Av. Santa Fe 3455",
ciudad: “Mar del Plata",
provincia: “Buenos Aires",
codPostal: “7600" }
}
Con una sola consulta podríamos
recuperar toda la información
de una persona.
21. Modelado de Relaciones entre Documentos
Relaciones Uno a Muchos Con Documentos Referenciados
Colecciónlibros
{titulo: "MongoDB: The Definitive Guide",
autor:[ "K. Chodorow", "M. Dirolf" ],
fechaPublicacion: ISODate("2010-09-24"),
paginas: 216,
lenguaje: "Ingles",
editor: { nombre: "O'Reilly Media",
anioFundacion: 1980,
USAState: "CA" } }
{titulo: "50 Tips and Tricks for MongoDB…",
autor: "K. Chodorow",
fechaPublicacion: ISODate("2011-05-06"),
paginas: 68,
lenguaje: “Ingles",
editor: { nombre: "O'Reilly
anioFundacion:
USAState: "CA"
Media",
1980,
} }
ColecciónEditores
{ nombre: "O'Reilly Media",
anioFundacion: 1980,
USAState: "CA“,
libros: [987654321,1234567890] }
ColecciónLibros
{_id: 987654321
titulo: "MongoDB: The Definitive Guide",
autor:[ "K. Chodorow", "M. Dirolf" ],
fechaPublicacion: ISODate("2010-09-24"),
paginas: 216,
lenguaje: "Ingles“}
{_id: 1234567890
titulo: "50 Tips and Tricks for MongoDB…",
autor: "K. Chodorow",
fechaPublicacion: ISODate("2011-05-06"),
paginas: 68,
lenguaje: “Ingles"}
Cuando usamos referencias, el crecimiento de las relaciones determinan donde conviene almacenar
la referencia. Por ej. Si el nro. de libros por editor es chico y no crecerá mucho, este modelo podría
ser conveniente.
22. Modelado de Relaciones entre Documentos
Colecciónlibros
{titulo: "MongoDB: The Definitive Guide",
autor:[ "K. Chodorow", "M. Dirolf" ],
fechaPublicacion: ISODate("2010-09-24"),
paginas: 216,
lenguaje: "Ingles",
editor: { nombre: "O'Reilly Media",
anioFundacion: 1980,
USAState: "CA" } }
{titulo: "50 Tips and Tricks for MongoDB…",
autor: "K. Chodorow",
fechaPublicacion: ISODate("2011-05-06"),
paginas: 68,
lenguaje: “Ingles",
editor: { nombre: "O'Reilly
anioFundacion:
USAState: "CA"
Media",
1980,
} }
Relaciones Uno a Muchos Con Documentos Referenciados
ColecciónEditores
{ _id: "oreilly"
nombre: "O'Reilly Media",
anioFundacion: 1980,
USAState: "CA“,
}
ColecciónLibros
{_id: 987654321
titulo: "MongoDB: The Definitive Guide",
autor:[ "K. Chodorow", "M. Dirolf" ],
fechaPublicacion: ISODate("2010-09-24"),
paginas: 216,
lenguaje: "Ingles“,
idEditor: "oreilly"}
{_id: 1234567890
titulo: "50 Tips and Tricks for MongoDB…",
autor: "K. Chodorow",
fechaPublicacion: ISODate("2011-05-06"),
paginas: 68,
lenguaje: “Ingles“,
idEditor: "oreilly"}
En cambio si queremos evitar Arreglos mutables y crecientes podemos implementar una
referencia al editor dentro de cada libro.
23. En qué casos usarlas ?
Logging de Eventos
•las bases de datos basadas en documentos puede loguear cualquier clase de eventos y almacenarlos con sus diferentes
estructuras.
• Pueden funcionar como un repositorio central de logueo de eventos.
CMS, blogging
• su falta de estructura predefinida hace que funcionen bien para este tipo de aplicaciones.
Web-analytics / Real-Time analytics
• Almacenar cantidad de vistas a una página o visitantes únicos.
Commerce
• A menudo requieren tener esquemas flexibles para los productos y órdenes
25. Instalación y configuración
1. lnstalar MongoDB
2. Actualizar variable Path
• Buscar el directorio donde se instaló MongoDb (por ejemplo C:Program FilesMongoDBServer3.2bin)
• Añadir MongoDb a la variable Path (Inicio > Equipo > Propiedades del Sistema > Opciones avanzadas)
3. Crear una carpeta (con los permisos adecuados) para guardar la base de datos
• C:/Data/Db es la carpeta default para MongoDb
• Si quisiéramos tener otro path debemos ejecutar desde consola: mongod --dbpath ruta/nueva-a/la-carpeta-db
4. Abrir conexión desde Consola de Windows (Símbolo del Sistema) ejecutando el comando mongod
5. Mantener la consola de conexión abierta y abrir una nueva consola para operar sobre la base
28. Caso Práctico
Armaremos un modelo que contenga la información de las facturas y todos sus
ítems, detallando el nombre, apellido, cuit y región del cliente al que se le emitió la
factura, para poder realizar consultas desde un portal de facturas de la forma más
performante posible.
30. Operaciones sobre una colección
Ver todos los comandos:
db.facturas.help()
Ejemplos:
Ver todos los documentos:
db.facturas.find()
Cantidad de documentos en la colección:
db.facturas.count()
Espacio ocupado por los documentos de la colección:
db.facturas.dataSize()
31. Operaciones sobre una colección
Inicio de servidor mongo por consola:
C:>mongod
Inicio de cliente mongo por consola:
C:>mongo
Ver bases de datos
show dbs
Ver colecciones
show collections
33. Operaciones sobre una colección
Buscar documento para cliente con determinado apellido
db.facturas.find({"cliente.apellido":"Malinez"})
Consultar los primeros dos documentos
db.facturas.find().limit(2)
Consultar documentos salteando los primeros dos documentos
db.facturas.find().skip(2)
Visualización mejorada
db.facturas.find().pretty()
34. Operaciones sobre una colección
Consultar dos documentos, salteando los dos primeros documentos de una colección,
mostrándolos en un modo mejorado.
db.facturas.find().limit(2).skip(2).pretty()
Consultar documentos sólo mostrando algunos datos
db.facturas.find({"cliente.apellido":"Malinez"}, {"cliente.cuit":1, "cliente.region":1})
Buscar documento para cliente con dos criterios
Para Zavasi teníamos dos documentos: db.facturas.find({"cliente.apellido":"Zavasi"}).pretty()
Agregamos un criterio: db.facturas.find({"cliente.apellido":"Zavasi", "nroFactura":1001.0}).pretty()
Ordenamiento en forma ascendente
db.facturas.find().sort({nroFactura:1})
Ordenamiento en forma descendente
db.facturas.find().sort({nroFactura:-1})
35. Consultando una Colección – Criterios
de Selección
Operadores $
$gt
$gte
$lt
$lte
$not
$or
$in
$nin
$exist
$regex
Busca las facturas cuya fecha de emisión sea mayor o igual al 24/02/2014.
Busca la cantidad de facturas cuyo Nro. de Factura sea mayor que1465
db.facturas.find( { nroFactura : {$gt:1465} } ).count()
db.facturas.find({fechaEmision:{$gte: ISODate("2014-02-24T00:00:00Z")} } )
36. Insertando un Documento
El método insert tiene la siguiente sintaxis:
Evalúa si existe un próximo documento. Devuelve True o False.
.
db.collection.insert
( <document or array of documents>,
{ writeConcern: <document>,
ordered: <boolean> } )
Ejemplo, inserción de un documento sin _id:
db.facturas.insert({nroFactura:30003,codPago:”CONTADO”})
_id: Document Id único autogenerado
writeconcern Es opcional, lo veremos en la parte de consistencia.
Ordered lo vemos en un par de slides
37. Insertando un Documento
Ejemplo, inserción de un documento con _id:
db.facturas.insert({_id:23094776, nroFactura:30004,codPago:”CONTADO”})
Al crear una colección, el motor de BD crea un índice único sobre el atributo _id.
38. Borrando
Documentos
Operación Remove
Sintaxis
db.<collection_name>.remove({criterio_de_eliminación})
Esta operación eliminará los documentos que cumplan con el criterio definido.
Warning: Remove es una operación de tipo multi-documento!!
Recomendación: Es conveniente antes de borrar hacer un find o un count para asegurarse lo que
quiero borrar.
Ejemplo 1 – Borrado de TODOS LOS DOCUMENTOS de una colección
db.accesos.remove({})
Elimina TODOS LOS ELEMENTOS de una colección.
39. Borrando
Documentos
Ejemplo 2 – Remove por clave primaria
db.updtst.remove({_id:100})
Elimina el documento cuyo _id sea 100 de la colección updtst.
Ejemplo 3 – Remove por un criterio con múltiples documentos que aplican
db.updtst.remove({items:88})
40. Modificando
Documentos
Permite modificar uno o más documentos de una colección. Por default modifica sólo un
documento.
db.coleccion.update ( {clausula_where},
{documento_o_expresión_a_modificar},
{ upsert, multi, writeconcern}
)
upsert (true o false)Si está configurado en “True” significa que realizará un update si existe un documento que
concuerda con el criterio, o un insert si no existe algún documento que concuerde con el criterio. El
valor default es “false”, en este caso no realiza un insert cuando no existe documento que concuerde
con el criterio.
multi (true o false) Es opcional. Si es configurado en true, el update realiza la actualización de multiples
documentos que concuerdan con el criterio cláusula_where. Si es configurado en false, modifica solo
un documento. El valor default es false. Sólo actúa en updates parciales con operadores $.
writeconcern Es opcional, lo veremos en la parte de consistencia.
41. Modificando
Documentos
Update Totales/Completos
Se realiza el update del documento completo, reemplazando el mismo.
Update Parciales
Operadores
Operadores sobre cualquieratributo
$set
$unset
$inc
Permite modificar el valor de un atributo, o agregar un nuevo atributo al documento.
Permite eliminar un atributo de un documento.
Incrementa o decrementa el valor de un atributo ( n ó –n)
Operadores sobreArrays
$push
$addtoSet
$pushAll
$pop
$pull
$pullAll
Agrega un elemento a un Array o crea un Array con un elemento.
Agrega un elemento al Array solo si no existe en el Array.
Agrega varios elementos a un Array con los valores indicados o crea un Array con esos
elementos. (Operación Múltiple)
Elimina un elemento de un Array por sus extremos, permitiendo eliminar el primer elemento (-1)o el
último (1).
Elimina todos los elementos de un Array que contengan el valor indicado.
Elimina todos los elementos de un Array que contengan alguno de los valores indicados.
(Operación Múltiple)
43. Modificando Documentos
Parciales
Update Parciales
Ejemplo 1 – Operador $set – Modificación de un valor de un atributo existente
Dado el siguiente documento:
db.updtst.update({_id:100},{$set : {x:100}})
Realizará una modificación del valor de atributo x a 100
44. Modificando Documentos
Parciales
Update Parciales
Otro Ejemplo – Operador $set – Opción multi – Agregar un atributo en todos los documentos
db.updtst.update({x:2},{$set : {z:”NUEVO”}},{multi:true})
Este reemplaza en TODOS los documentos encontrados con valor x:2 agregando el atributo z:”NUEVO”