SlideShare uma empresa Scribd logo
1 de 19
Baixar para ler offline
MongoDB
Fundamentos
Rodolfo Campos
@camposer
Madrid, Junio de 2015
Agenda
●Introducción a las Bases de datos NoSQL
●MongoDB
● Filosofía y conceptos
● Modelo de los documentos (JSON)
● Operaciones sobre MongoDB: Crear, leer, actualizar y borrar
● Indexación
●Características especiales
● Soporte Geoespacial
● GridFS
● MapReduce
●Administración
● Backup y recovery
● Replicación
● Sharding
Justificación
Tendencia: Usuarios de Facebook
Justificación
Tendencia: Twitter. Tweets por día
Justificación
En 2013:
●Walmart maneja más de 1M de transacciones por hora
●Google procesa aprox. 24PB de data al día
●AT&T transfiere aprox. 30PB de data al día
●Todos los días son enviados aprox. 90 trillones de correos
electrónicos
●World of Warcraft utiliza 1.3PB de almacenamiento
Justificación
Tendencia: Crecimiento de la data en el mundo
Definición
Según Wikipedia en Español, Big Data es:
●Big Data es en el sector de tecnologías de la información y la
comunicación una referencia a los sistemas que manipulan
grandes conjuntos de datos (o data sets).
●Las dificultades más habituales en estos casos se centran en la
captura, el almacenado, búsqueda, compartición, análisis, y
visualización.
●La tendencia a manipular ingentes cantidades de datos se debe
a la necesidad en muchos casos de incluir los datos
relacionados del análisis en un gran conjunto de datos
relacionado, tal es el ejemplo de los análisis de negocio, los
datos de enfermedades infecciosas, o la lucha contra el crimen
organizado.
El almacenamiento
●El almacenamiento se lleva a cabo generalmente apoyándose
en motores de bases de datos NoSQL
●El volumen de datos es un reto, por lo que las escalabilidad y la
tolerancia a fallos son de los principales retos a manejar.
●Generalmente el almacenamiento se realiza en Sistemas
●Distribuidos en lugar de Centralizados.
La búsqueda
●La búsqueda de datos se realiza a través de diferentes
herramientas, generalmente: lenguajes SQL, pseudo SQL y
específicos.
●Debido a la naturaleza, generalmente distribuida del
almacenamiento, algunos motores se valen de entornos de
trabajo específicos como MapReduce que buscan operar sobre
los diferentes nodos del sistema de forma independiente y
generar resultados independientes a partir de estos
El análisis
●El análisis de los datos se realiza de forma inline y offline,
dependiendo del problema a resolver y del motor de base de
datos utilizado.
●La mayoría de motores de bases de datos (en la mayoría
NoSQL) proveen conectores para trabajar con los lenguajes de
programación más populares.
●Si el problema a resolver no requiere de un mayor
procesamiento, el análisis de los datos se puede elaborar de
forma inline, en caso contrario, se suelen utilizar técnicas offline
(Ej. trabajos por lote).
Escalabilidad vs Complejidad
NoSQL
Según la Wikipedia en Español, NoSQL se refiere a:
●Una amplia clase de sistemas de gestión de bases de datos que
difieren del modelo clásico del sistema de gestión de bases de
datos relacionales (RDBMS) en aspectos importantes, el más
destacado que no usan SQL como el principal lenguaje de
consultas.
●Los datos almacenados no requieren estructuras fijas como
tablas, normalmente no soportan operaciones JOIN, ni
garantizan completamente ACID (atomicidad, coherencia,
aislamiento y durabilidad), y habitualmente escalan bien
horizontalmente.
Motores NoSQL
●Los tipos de motores NoSQL más importantes son:
●Tabulares (Ej. Cassandra, HBase)
●Orientadas a documentos (Ej. MongoDB)
●De clave-valor (Ej. Redis)
●Orientadas a grafos (Ej. Neo4J)
Teorema de CAP
Map – Shuffle – Reduce
Map(k1, v1) => list(k2, v2)
Reduce(k2, list(v2)) => list(v3)
// Cuenta número de palabras
// por documento
function map(String name, String
document) {
for each word w in document:
emit (w, 1)
}
function reduce(String word, Iterator
partialCounts) {
sum = 0
for each pc in partialCounts:
sum += ParseInt(pc)
emit (word, sum)
}
MongoDB
Según Wikipedia en Español:
●MongoDB (de la palabra en inglés “humongous” que significa
enorme) es un sistema de base de datos NoSQL orientado a
documentos, desarrollado bajo el concepto de código abierto.
●MongoDB guarda estructuras de datos en documentos tipo
JSON con un esquema dinámico (MongoDB llama ese formato
BSON)
●El código binario está disponible para los sistemas operativos
Windows, Linux, OS X y Solaris.
Características principales
●Consultas Ad hoc
●Consistencia eventual
●Indexación
●Replicación
●Balanceo de carga (con Sharding)
●Almacenamiento de archivos
●Agregación (MapReduce y Pipeline)
●Ejecución de JavaScript del lado del servidor
Arquitectura Sharding con Replica
Pros y Cons
●Pros:
● Schema-less
● Facilidad para escalar horizontalmente
● Costo
● Diferentes niveles de consistencia
●Cons:
● Cada documento es autodescriptivo y esto incrementa su
tamaño
● Queries limitadas (Ej. no JOINs)
● No hay soporte transaccional – Consistencia eventual
● Implementación de MapReduce simple
● Documentación no siempre actualizada
(*) Fuente original

Mais conteúdo relacionado

Mais procurados

MongoDB (Conceptos Básicos) - Junio 2010
MongoDB (Conceptos Básicos) - Junio 2010MongoDB (Conceptos Básicos) - Junio 2010
MongoDB (Conceptos Básicos) - Junio 2010Rafael Hernamperez
 
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDBIntroducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDBScalia
 
Bases de datos NoSQL orientadas a documentos
Bases de datos NoSQL orientadas a documentosBases de datos NoSQL orientadas a documentos
Bases de datos NoSQL orientadas a documentosAnthony Sotolongo
 
Comparación de algunos SGBDR
Comparación de algunos SGBDRComparación de algunos SGBDR
Comparación de algunos SGBDRAntonio
 
CouchDB y el desarrollo de aplicaciones Android
CouchDB y el desarrollo de aplicaciones AndroidCouchDB y el desarrollo de aplicaciones Android
CouchDB y el desarrollo de aplicaciones AndroidRicardo Monagas Medina
 
Bases de datos avanzado NOSQL
Bases de datos avanzado NOSQLBases de datos avanzado NOSQL
Bases de datos avanzado NOSQLjosecuartas
 
Sql o NoSql en Informática Médica
Sql o NoSql en Informática MédicaSql o NoSql en Informática Médica
Sql o NoSql en Informática MédicaLiz Armenteros
 
Características MONGO DB
Características MONGO DBCaracterísticas MONGO DB
Características MONGO DBmaxfontana90
 
Apache Cassandra en SmartPolitech
Apache Cassandra en SmartPolitech Apache Cassandra en SmartPolitech
Apache Cassandra en SmartPolitech DataStax Academy
 
Un acercamiento a las bases de datos NoSQL
Un acercamiento a las bases de datos NoSQLUn acercamiento a las bases de datos NoSQL
Un acercamiento a las bases de datos NoSQLJavier Guillot Jiménez
 
NOSQL: Primeros Pasos en MongoDB
NOSQL: Primeros Pasos en MongoDBNOSQL: Primeros Pasos en MongoDB
NOSQL: Primeros Pasos en MongoDBVictor Cuervo
 

Mais procurados (20)

Mongodb
MongodbMongodb
Mongodb
 
MongoDB (Conceptos Básicos) - Junio 2010
MongoDB (Conceptos Básicos) - Junio 2010MongoDB (Conceptos Básicos) - Junio 2010
MongoDB (Conceptos Básicos) - Junio 2010
 
NoSQL: Introducción a las Bases de Datos no estructuradas
NoSQL: Introducción a las Bases de Datos no estructuradasNoSQL: Introducción a las Bases de Datos no estructuradas
NoSQL: Introducción a las Bases de Datos no estructuradas
 
Introducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDBIntroducción a NoSQL con MongoDB
Introducción a NoSQL con MongoDB
 
Bases de datos NoSQL orientadas a documentos
Bases de datos NoSQL orientadas a documentosBases de datos NoSQL orientadas a documentos
Bases de datos NoSQL orientadas a documentos
 
Comparación de algunos SGBDR
Comparación de algunos SGBDRComparación de algunos SGBDR
Comparación de algunos SGBDR
 
Base de datos
Base de datosBase de datos
Base de datos
 
Presentacion BD NoSQL
Presentacion  BD NoSQLPresentacion  BD NoSQL
Presentacion BD NoSQL
 
CouchDB y el desarrollo de aplicaciones Android
CouchDB y el desarrollo de aplicaciones AndroidCouchDB y el desarrollo de aplicaciones Android
CouchDB y el desarrollo de aplicaciones Android
 
BASE DE DATOS MICROSOFT SQL SERVER
BASE DE DATOS MICROSOFT SQL SERVERBASE DE DATOS MICROSOFT SQL SERVER
BASE DE DATOS MICROSOFT SQL SERVER
 
Bases de datos avanzado NOSQL
Bases de datos avanzado NOSQLBases de datos avanzado NOSQL
Bases de datos avanzado NOSQL
 
Sql o NoSql en Informática Médica
Sql o NoSql en Informática MédicaSql o NoSql en Informática Médica
Sql o NoSql en Informática Médica
 
Características MONGO DB
Características MONGO DBCaracterísticas MONGO DB
Características MONGO DB
 
MongoDB: la BBDD NoSQL más popular del mercado
MongoDB: la BBDD NoSQL más popular del mercadoMongoDB: la BBDD NoSQL más popular del mercado
MongoDB: la BBDD NoSQL más popular del mercado
 
Apache Cassandra en SmartPolitech
Apache Cassandra en SmartPolitech Apache Cassandra en SmartPolitech
Apache Cassandra en SmartPolitech
 
Mongodb vs couchdb
Mongodb vs couchdb Mongodb vs couchdb
Mongodb vs couchdb
 
Un acercamiento a las bases de datos NoSQL
Un acercamiento a las bases de datos NoSQLUn acercamiento a las bases de datos NoSQL
Un acercamiento a las bases de datos NoSQL
 
MongoDB Avanzado
MongoDB AvanzadoMongoDB Avanzado
MongoDB Avanzado
 
NOSQL: Primeros Pasos en MongoDB
NOSQL: Primeros Pasos en MongoDBNOSQL: Primeros Pasos en MongoDB
NOSQL: Primeros Pasos en MongoDB
 
Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j
Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4jBases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j
Bases de Datos No Relacionales (NoSQL): Cassandra, CouchDB, MongoDB y Neo4j
 

Semelhante a MongoDB (20)

Hadoop
HadoopHadoop
Hadoop
 
Introducción mongodb y desarrollo
Introducción mongodb y desarrolloIntroducción mongodb y desarrollo
Introducción mongodb y desarrollo
 
Trabajo1
Trabajo1Trabajo1
Trabajo1
 
Act4 base datos_reyes_rosalba
Act4 base datos_reyes_rosalbaAct4 base datos_reyes_rosalba
Act4 base datos_reyes_rosalba
 
Bases datos
Bases datosBases datos
Bases datos
 
Que es una base de datos
Que es una base de datosQue es una base de datos
Que es una base de datos
 
Semana 3 Mongodb
Semana 3   MongodbSemana 3   Mongodb
Semana 3 Mongodb
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Base de Datos
Base de DatosBase de Datos
Base de Datos
 
Pricipales bases de datos
Pricipales bases de datosPricipales bases de datos
Pricipales bases de datos
 
Actividad 4
Actividad 4Actividad 4
Actividad 4
 
Base de datos existentes
Base de datos existentesBase de datos existentes
Base de datos existentes
 
Laboratorio 3 formato ieee "Tecnologias de Big Data"
Laboratorio 3 formato ieee "Tecnologias de Big Data"Laboratorio 3 formato ieee "Tecnologias de Big Data"
Laboratorio 3 formato ieee "Tecnologias de Big Data"
 
Base de Datos
Base de DatosBase de Datos
Base de Datos
 
Presentación1 bases de datos
Presentación1 bases de datosPresentación1 bases de datos
Presentación1 bases de datos
 
Bases datos
Bases datosBases datos
Bases datos
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
G te c sesion3b- mapreduce
G te c sesion3b- mapreduceG te c sesion3b- mapreduce
G te c sesion3b- mapreduce
 

Mais de camposer

Fundamentos de Administración PostgreSQL
Fundamentos de Administración PostgreSQLFundamentos de Administración PostgreSQL
Fundamentos de Administración PostgreSQLcamposer
 
Fundamentos de SQL
Fundamentos de SQLFundamentos de SQL
Fundamentos de SQLcamposer
 
Javascript Básico
Javascript BásicoJavascript Básico
Javascript Básicocamposer
 
Seguridad web
Seguridad webSeguridad web
Seguridad webcamposer
 
Linear Regression Parameters
Linear Regression ParametersLinear Regression Parameters
Linear Regression Parameterscamposer
 
Entonamiento de aplicaciones Web (Enfasis en PHP)
Entonamiento de aplicaciones Web (Enfasis en PHP)Entonamiento de aplicaciones Web (Enfasis en PHP)
Entonamiento de aplicaciones Web (Enfasis en PHP)camposer
 
Entonamiento y perfilado de Drupal
Entonamiento y perfilado de DrupalEntonamiento y perfilado de Drupal
Entonamiento y perfilado de Drupalcamposer
 
Extracción de Requerimientos
Extracción de RequerimientosExtracción de Requerimientos
Extracción de Requerimientoscamposer
 

Mais de camposer (8)

Fundamentos de Administración PostgreSQL
Fundamentos de Administración PostgreSQLFundamentos de Administración PostgreSQL
Fundamentos de Administración PostgreSQL
 
Fundamentos de SQL
Fundamentos de SQLFundamentos de SQL
Fundamentos de SQL
 
Javascript Básico
Javascript BásicoJavascript Básico
Javascript Básico
 
Seguridad web
Seguridad webSeguridad web
Seguridad web
 
Linear Regression Parameters
Linear Regression ParametersLinear Regression Parameters
Linear Regression Parameters
 
Entonamiento de aplicaciones Web (Enfasis en PHP)
Entonamiento de aplicaciones Web (Enfasis en PHP)Entonamiento de aplicaciones Web (Enfasis en PHP)
Entonamiento de aplicaciones Web (Enfasis en PHP)
 
Entonamiento y perfilado de Drupal
Entonamiento y perfilado de DrupalEntonamiento y perfilado de Drupal
Entonamiento y perfilado de Drupal
 
Extracción de Requerimientos
Extracción de RequerimientosExtracción de Requerimientos
Extracción de Requerimientos
 

Último

IA T3 Elaboración e interpretación de planos.pptx
IA T3 Elaboración e interpretación de planos.pptxIA T3 Elaboración e interpretación de planos.pptx
IA T3 Elaboración e interpretación de planos.pptxcecymendozaitnl
 
Mecánica vectorial para ingenieros estática. Beer - Johnston. 11 Ed.pdf
Mecánica vectorial para ingenieros estática. Beer - Johnston. 11 Ed.pdfMecánica vectorial para ingenieros estática. Beer - Johnston. 11 Ed.pdf
Mecánica vectorial para ingenieros estática. Beer - Johnston. 11 Ed.pdfaaaaaaaaaaaaaaaaa
 
BROCHURE EDIFICIO MULTIFAMILIAR LIMA. PERU
BROCHURE EDIFICIO MULTIFAMILIAR LIMA. PERUBROCHURE EDIFICIO MULTIFAMILIAR LIMA. PERU
BROCHURE EDIFICIO MULTIFAMILIAR LIMA. PERUSharonRojas28
 
PPT_Conferencia OBRAS PUBLICAS x ADMNISTRACION DIRECTA.pdf
PPT_Conferencia OBRAS PUBLICAS x ADMNISTRACION DIRECTA.pdfPPT_Conferencia OBRAS PUBLICAS x ADMNISTRACION DIRECTA.pdf
PPT_Conferencia OBRAS PUBLICAS x ADMNISTRACION DIRECTA.pdfANGHELO JJ. MITMA HUAMANÌ
 
TAREA 1 - Parada de Planta compresoras de gas
TAREA 1 - Parada de Planta compresoras de gasTAREA 1 - Parada de Planta compresoras de gas
TAREA 1 - Parada de Planta compresoras de gasroberto264045
 
aplicacion-del-metodo-cientifico-de-roberto-hernandez-carlos-fernandez-y-pila...
aplicacion-del-metodo-cientifico-de-roberto-hernandez-carlos-fernandez-y-pila...aplicacion-del-metodo-cientifico-de-roberto-hernandez-carlos-fernandez-y-pila...
aplicacion-del-metodo-cientifico-de-roberto-hernandez-carlos-fernandez-y-pila...AmeliaJul
 
analisis matematico 2 elon lages lima .pdf
analisis matematico 2 elon lages lima .pdfanalisis matematico 2 elon lages lima .pdf
analisis matematico 2 elon lages lima .pdfJOHELSANCHEZINCA
 
Modulo 5 - Monitoreo de Ruido Ambiental de monitoreo ambiental
Modulo 5 - Monitoreo de Ruido Ambiental de monitoreo ambientalModulo 5 - Monitoreo de Ruido Ambiental de monitoreo ambiental
Modulo 5 - Monitoreo de Ruido Ambiental de monitoreo ambientalAcountsStore1
 
Cuadro de las web 1.0, 2.0 y 3.0 pptx
Cuadro de las web 1.0, 2.0 y 3.0     pptxCuadro de las web 1.0, 2.0 y 3.0     pptx
Cuadro de las web 1.0, 2.0 y 3.0 pptxecarmariahurtado
 
CALCULISTA AGUA POTABLE ALCANTARILLADO RURAL CURACAVÍ
CALCULISTA AGUA POTABLE ALCANTARILLADO RURAL CURACAVÍCALCULISTA AGUA POTABLE ALCANTARILLADO RURAL CURACAVÍ
CALCULISTA AGUA POTABLE ALCANTARILLADO RURAL CURACAVÍArquitecto Chile
 
Modulo 4 - Monitoreo Hidrobiológico de monitoreo ambiental
Modulo 4 - Monitoreo Hidrobiológico de monitoreo ambientalModulo 4 - Monitoreo Hidrobiológico de monitoreo ambiental
Modulo 4 - Monitoreo Hidrobiológico de monitoreo ambientalAcountsStore1
 
Presentación de Ciencia, Cultura y Progreso.pptx
Presentación de Ciencia, Cultura y Progreso.pptxPresentación de Ciencia, Cultura y Progreso.pptx
Presentación de Ciencia, Cultura y Progreso.pptxwilliam atao contreras
 
Fundamentos - Curso Desarrollo Web (HTML, JS, PHP, JS, SQL)
Fundamentos - Curso Desarrollo Web (HTML, JS, PHP, JS, SQL)Fundamentos - Curso Desarrollo Web (HTML, JS, PHP, JS, SQL)
Fundamentos - Curso Desarrollo Web (HTML, JS, PHP, JS, SQL)EmanuelMuoz11
 
gabriela marcano estructura iii historia del concreto
gabriela marcano  estructura iii historia del concretogabriela marcano  estructura iii historia del concreto
gabriela marcano estructura iii historia del concretoGabrielaMarcano12
 
1_Tipos Básicos de Motores - funcionamientos
1_Tipos Básicos de Motores - funcionamientos1_Tipos Básicos de Motores - funcionamientos
1_Tipos Básicos de Motores - funcionamientosMaicoPinelli
 
Poder puedo, pero no lo haré - T3chfest
Poder puedo, pero no lo haré - T3chfestPoder puedo, pero no lo haré - T3chfest
Poder puedo, pero no lo haré - T3chfestSilvia España Gil
 
CV_SOTO_SAUL 30-01-2024 (1) arquitecto.pdf
CV_SOTO_SAUL 30-01-2024  (1) arquitecto.pdfCV_SOTO_SAUL 30-01-2024  (1) arquitecto.pdf
CV_SOTO_SAUL 30-01-2024 (1) arquitecto.pdfsd3700445
 
Principios de Circuitos Eléctricos (Thomas L. Floyd) (Z-Library).pdf
Principios de Circuitos Eléctricos (Thomas L. Floyd) (Z-Library).pdfPrincipios de Circuitos Eléctricos (Thomas L. Floyd) (Z-Library).pdf
Principios de Circuitos Eléctricos (Thomas L. Floyd) (Z-Library).pdfYADIRAXIMENARIASCOSV
 
Método inductivo.pdf-lizzeh cuellar cardenas
Método inductivo.pdf-lizzeh cuellar cardenasMétodo inductivo.pdf-lizzeh cuellar cardenas
Método inductivo.pdf-lizzeh cuellar cardenas182136
 
concreto pretensado y postensado- reseña historica
concreto pretensado y postensado- reseña historicaconcreto pretensado y postensado- reseña historica
concreto pretensado y postensado- reseña historicaamira520031
 

Último (20)

IA T3 Elaboración e interpretación de planos.pptx
IA T3 Elaboración e interpretación de planos.pptxIA T3 Elaboración e interpretación de planos.pptx
IA T3 Elaboración e interpretación de planos.pptx
 
Mecánica vectorial para ingenieros estática. Beer - Johnston. 11 Ed.pdf
Mecánica vectorial para ingenieros estática. Beer - Johnston. 11 Ed.pdfMecánica vectorial para ingenieros estática. Beer - Johnston. 11 Ed.pdf
Mecánica vectorial para ingenieros estática. Beer - Johnston. 11 Ed.pdf
 
BROCHURE EDIFICIO MULTIFAMILIAR LIMA. PERU
BROCHURE EDIFICIO MULTIFAMILIAR LIMA. PERUBROCHURE EDIFICIO MULTIFAMILIAR LIMA. PERU
BROCHURE EDIFICIO MULTIFAMILIAR LIMA. PERU
 
PPT_Conferencia OBRAS PUBLICAS x ADMNISTRACION DIRECTA.pdf
PPT_Conferencia OBRAS PUBLICAS x ADMNISTRACION DIRECTA.pdfPPT_Conferencia OBRAS PUBLICAS x ADMNISTRACION DIRECTA.pdf
PPT_Conferencia OBRAS PUBLICAS x ADMNISTRACION DIRECTA.pdf
 
TAREA 1 - Parada de Planta compresoras de gas
TAREA 1 - Parada de Planta compresoras de gasTAREA 1 - Parada de Planta compresoras de gas
TAREA 1 - Parada de Planta compresoras de gas
 
aplicacion-del-metodo-cientifico-de-roberto-hernandez-carlos-fernandez-y-pila...
aplicacion-del-metodo-cientifico-de-roberto-hernandez-carlos-fernandez-y-pila...aplicacion-del-metodo-cientifico-de-roberto-hernandez-carlos-fernandez-y-pila...
aplicacion-del-metodo-cientifico-de-roberto-hernandez-carlos-fernandez-y-pila...
 
analisis matematico 2 elon lages lima .pdf
analisis matematico 2 elon lages lima .pdfanalisis matematico 2 elon lages lima .pdf
analisis matematico 2 elon lages lima .pdf
 
Modulo 5 - Monitoreo de Ruido Ambiental de monitoreo ambiental
Modulo 5 - Monitoreo de Ruido Ambiental de monitoreo ambientalModulo 5 - Monitoreo de Ruido Ambiental de monitoreo ambiental
Modulo 5 - Monitoreo de Ruido Ambiental de monitoreo ambiental
 
Cuadro de las web 1.0, 2.0 y 3.0 pptx
Cuadro de las web 1.0, 2.0 y 3.0     pptxCuadro de las web 1.0, 2.0 y 3.0     pptx
Cuadro de las web 1.0, 2.0 y 3.0 pptx
 
CALCULISTA AGUA POTABLE ALCANTARILLADO RURAL CURACAVÍ
CALCULISTA AGUA POTABLE ALCANTARILLADO RURAL CURACAVÍCALCULISTA AGUA POTABLE ALCANTARILLADO RURAL CURACAVÍ
CALCULISTA AGUA POTABLE ALCANTARILLADO RURAL CURACAVÍ
 
Modulo 4 - Monitoreo Hidrobiológico de monitoreo ambiental
Modulo 4 - Monitoreo Hidrobiológico de monitoreo ambientalModulo 4 - Monitoreo Hidrobiológico de monitoreo ambiental
Modulo 4 - Monitoreo Hidrobiológico de monitoreo ambiental
 
Presentación de Ciencia, Cultura y Progreso.pptx
Presentación de Ciencia, Cultura y Progreso.pptxPresentación de Ciencia, Cultura y Progreso.pptx
Presentación de Ciencia, Cultura y Progreso.pptx
 
Fundamentos - Curso Desarrollo Web (HTML, JS, PHP, JS, SQL)
Fundamentos - Curso Desarrollo Web (HTML, JS, PHP, JS, SQL)Fundamentos - Curso Desarrollo Web (HTML, JS, PHP, JS, SQL)
Fundamentos - Curso Desarrollo Web (HTML, JS, PHP, JS, SQL)
 
gabriela marcano estructura iii historia del concreto
gabriela marcano  estructura iii historia del concretogabriela marcano  estructura iii historia del concreto
gabriela marcano estructura iii historia del concreto
 
1_Tipos Básicos de Motores - funcionamientos
1_Tipos Básicos de Motores - funcionamientos1_Tipos Básicos de Motores - funcionamientos
1_Tipos Básicos de Motores - funcionamientos
 
Poder puedo, pero no lo haré - T3chfest
Poder puedo, pero no lo haré - T3chfestPoder puedo, pero no lo haré - T3chfest
Poder puedo, pero no lo haré - T3chfest
 
CV_SOTO_SAUL 30-01-2024 (1) arquitecto.pdf
CV_SOTO_SAUL 30-01-2024  (1) arquitecto.pdfCV_SOTO_SAUL 30-01-2024  (1) arquitecto.pdf
CV_SOTO_SAUL 30-01-2024 (1) arquitecto.pdf
 
Principios de Circuitos Eléctricos (Thomas L. Floyd) (Z-Library).pdf
Principios de Circuitos Eléctricos (Thomas L. Floyd) (Z-Library).pdfPrincipios de Circuitos Eléctricos (Thomas L. Floyd) (Z-Library).pdf
Principios de Circuitos Eléctricos (Thomas L. Floyd) (Z-Library).pdf
 
Método inductivo.pdf-lizzeh cuellar cardenas
Método inductivo.pdf-lizzeh cuellar cardenasMétodo inductivo.pdf-lizzeh cuellar cardenas
Método inductivo.pdf-lizzeh cuellar cardenas
 
concreto pretensado y postensado- reseña historica
concreto pretensado y postensado- reseña historicaconcreto pretensado y postensado- reseña historica
concreto pretensado y postensado- reseña historica
 

MongoDB

  • 2. Agenda ●Introducción a las Bases de datos NoSQL ●MongoDB ● Filosofía y conceptos ● Modelo de los documentos (JSON) ● Operaciones sobre MongoDB: Crear, leer, actualizar y borrar ● Indexación ●Características especiales ● Soporte Geoespacial ● GridFS ● MapReduce ●Administración ● Backup y recovery ● Replicación ● Sharding
  • 5. Justificación En 2013: ●Walmart maneja más de 1M de transacciones por hora ●Google procesa aprox. 24PB de data al día ●AT&T transfiere aprox. 30PB de data al día ●Todos los días son enviados aprox. 90 trillones de correos electrónicos ●World of Warcraft utiliza 1.3PB de almacenamiento
  • 7. Definición Según Wikipedia en Español, Big Data es: ●Big Data es en el sector de tecnologías de la información y la comunicación una referencia a los sistemas que manipulan grandes conjuntos de datos (o data sets). ●Las dificultades más habituales en estos casos se centran en la captura, el almacenado, búsqueda, compartición, análisis, y visualización. ●La tendencia a manipular ingentes cantidades de datos se debe a la necesidad en muchos casos de incluir los datos relacionados del análisis en un gran conjunto de datos relacionado, tal es el ejemplo de los análisis de negocio, los datos de enfermedades infecciosas, o la lucha contra el crimen organizado.
  • 8. El almacenamiento ●El almacenamiento se lleva a cabo generalmente apoyándose en motores de bases de datos NoSQL ●El volumen de datos es un reto, por lo que las escalabilidad y la tolerancia a fallos son de los principales retos a manejar. ●Generalmente el almacenamiento se realiza en Sistemas ●Distribuidos en lugar de Centralizados.
  • 9. La búsqueda ●La búsqueda de datos se realiza a través de diferentes herramientas, generalmente: lenguajes SQL, pseudo SQL y específicos. ●Debido a la naturaleza, generalmente distribuida del almacenamiento, algunos motores se valen de entornos de trabajo específicos como MapReduce que buscan operar sobre los diferentes nodos del sistema de forma independiente y generar resultados independientes a partir de estos
  • 10. El análisis ●El análisis de los datos se realiza de forma inline y offline, dependiendo del problema a resolver y del motor de base de datos utilizado. ●La mayoría de motores de bases de datos (en la mayoría NoSQL) proveen conectores para trabajar con los lenguajes de programación más populares. ●Si el problema a resolver no requiere de un mayor procesamiento, el análisis de los datos se puede elaborar de forma inline, en caso contrario, se suelen utilizar técnicas offline (Ej. trabajos por lote).
  • 12. NoSQL Según la Wikipedia en Español, NoSQL se refiere a: ●Una amplia clase de sistemas de gestión de bases de datos que difieren del modelo clásico del sistema de gestión de bases de datos relacionales (RDBMS) en aspectos importantes, el más destacado que no usan SQL como el principal lenguaje de consultas. ●Los datos almacenados no requieren estructuras fijas como tablas, normalmente no soportan operaciones JOIN, ni garantizan completamente ACID (atomicidad, coherencia, aislamiento y durabilidad), y habitualmente escalan bien horizontalmente.
  • 13. Motores NoSQL ●Los tipos de motores NoSQL más importantes son: ●Tabulares (Ej. Cassandra, HBase) ●Orientadas a documentos (Ej. MongoDB) ●De clave-valor (Ej. Redis) ●Orientadas a grafos (Ej. Neo4J)
  • 15. Map – Shuffle – Reduce Map(k1, v1) => list(k2, v2) Reduce(k2, list(v2)) => list(v3) // Cuenta número de palabras // por documento function map(String name, String document) { for each word w in document: emit (w, 1) } function reduce(String word, Iterator partialCounts) { sum = 0 for each pc in partialCounts: sum += ParseInt(pc) emit (word, sum) }
  • 16. MongoDB Según Wikipedia en Español: ●MongoDB (de la palabra en inglés “humongous” que significa enorme) es un sistema de base de datos NoSQL orientado a documentos, desarrollado bajo el concepto de código abierto. ●MongoDB guarda estructuras de datos en documentos tipo JSON con un esquema dinámico (MongoDB llama ese formato BSON) ●El código binario está disponible para los sistemas operativos Windows, Linux, OS X y Solaris.
  • 17. Características principales ●Consultas Ad hoc ●Consistencia eventual ●Indexación ●Replicación ●Balanceo de carga (con Sharding) ●Almacenamiento de archivos ●Agregación (MapReduce y Pipeline) ●Ejecución de JavaScript del lado del servidor
  • 19. Pros y Cons ●Pros: ● Schema-less ● Facilidad para escalar horizontalmente ● Costo ● Diferentes niveles de consistencia ●Cons: ● Cada documento es autodescriptivo y esto incrementa su tamaño ● Queries limitadas (Ej. no JOINs) ● No hay soporte transaccional – Consistencia eventual ● Implementación de MapReduce simple ● Documentación no siempre actualizada (*) Fuente original