SlideShare ist ein Scribd-Unternehmen logo
1 von 44
Cloud Computing Jose Emilio Labra Gayo University of Oviedo, Spain http://www.di.uniovi.es/~labra
Esquema de la presentación Motivación Cloud Computing MapReduce
Motivación La era de los datos Generación volúmenes de datos/día  En 2009, récord de crecimiento (60%) Se estima en 800.000petabytes (1PB = 1millón GB) Fuente: IDC The digital UniverseDecade: Are youready? http://www.emc.com/collateral/demos/microsites/idc-digital-universe/iview.htm
Ejemplos de fuentes de datos Éxito de la web: Mayor participación si cabe en la Web 2.0 Abaratamiento de dispositivos Cámaras digitales, Teléfonos móviles, etc. Youtube contiene unos 144 millones de vídeos* Redes sociales Facebook contenía 15 billones de fotos en 2009** * http://beerpla.net/2008/08/14/how-to-find-out-the-number-of-videos-on-youtube/ ** http://www.facebook.com/note.php?note_id=76191543919
Otras fuentes de datos Internet de las cosas Cada vez más dispositivos estarán conectados a Internet Aumento de Sensores y generadores de datos Acelerador de partículas LHC producirá 15 petabytes de datos al año http://public.web.cern.ch/public/en/lhc/Computing-en.html Frigorífico con Internet http://www.youtube.com/watch?v=sfEbMV295Kk&feature=player_embedded
Grandes Centros de Datos Google, Yahoo!, Amazon, etc.  Centro de datos de Yahoo!
Cloud Computing Pegatina creada por Brian Fitzpatrick para  Google CodeHosting en 2006
Cloud Computing Cloud computing = Servicios de grandes compañías (Google, Amazon,…) que pueden ser alquilados por clientes externos Ejemplos de servicios: Recursos computacionales (ciclos CPU) Almacenamiento Entornos de ejecución completos
Ventajas Precio Amazon EC2 = Máquinas virtuales a 10¢/hora Amazon S3 = Almacenamiento 15¢/mes/Gb Algunos servicios = gratuitos! Escalabilidad Se paga en función del consumo Acceso a potentes centros de datos Facilidad de uso y mantenimiento
Ventajas Independencia dispositivos y localización Acceso desde cualquier navegador en cualquier sitio Eficiencia:  Centralización de infraestructuras, ahorro de energía, control compartido de carga Fiabilidad:  Réplicas, recuperación de desastres
Tipos de Cloud Computing No todas las nubes ofrecen todos los servicios Se podrían clasificar en: SaaS: Software as a Service PaaS: Platform as a Service IaaS: Infraestructure as a Service SaaS PaaS IaaS
IaaS: Infraestructura Se ofrecen recursos computacionales Capacidad de computación Almacenamiento Entorno virtualizado de máquinas conectadas por red Ejemplos:  Eucalyptus, Amazon EC2, Amazon S3
PaaS: Plataforma Se ofrece una solución instalada y configurada como servicio (plataforma) Aplicaciones: Hosting para aplicaciones Web Entornos de desarrollo Facilitan despliegue rápido y barato Ejemplos:  Google AppEngine, VMForce, AppScale
SaaS: Software Aplicación software como servicio bajo demanda El usuario no tiene que instalar/configurar aplicaciones Reduce coste de adquisición de software Ejemplos:  Aplicaciones Google (Gmail, GDocs, etc)
Retos de Cloud Computing Legalidad ¿Almacenar datos en otros países? ¿Y si no se cumple el servicio? Seguridad, privacidad ¿Es más seguro tener los datos en nuestra máquina o en un data-center? Dependencia: ¿Nuevos monopolios? ¿Interoperabilidad entre nubes? Sostenibilidad: ¿Consumo energético?
MapReduceProgramando en la nube
MapReduce Pensado para procesar grandes cantidades de datos Programador especifica computación mediante 2 funciones: map y reduce Adaptado a ejecución distribuida en múltiples nodos Control de nodos que fallan, balance de carga, etc
MapReduce Desarrollado por Google Publicado en 2004 Implementación interna propietaria Hadoop: implementación open source Versión inicial de Yahoo! Actualmente Proyecto Apache Adopción industrial Facebook, last.fm, etc.
Características de MapReduce Computaciones distribuidas Troceado de datos de entrada Tolerancia a fallos de nodos Portabilidad en nodos con hardware/software heterogéneo Procesado por lotes de grandes cantidades de datos Write-once. Read-many
Orígenes funcionales Programación funcional: Modelo de programación basado en: Ausencia de efectos laterales Funciones de orden superior Funciones similares a mapy reduce llevan utilizándose mucho tiempo en programación funcional
Map en P. funcional Aplica una función a todos los elementos de una lista Lista de entrada función Lista de salida En Haskell:  Calcular la longitud de todas las palabras de una lista > maplength [“esto”, “es”, “un”, “ejemplo”] [4,2,2,7] Dar la vuelta a todas las palabras de una lista > map reverse ["esto","es","un","ejemplo"] 	["otse","se","nu","olpmeje“]
Reduce en P. funcional Transforma una lista en un valor combinando los elementos entre sí Lista de entrada Valor de salida En Haskell (reduce fold) Suma de los elementos de una lista > foldr (+) 0 [1,2,3,4,5] 15 Producto de los elementos de una lista > foldr (*) 1 [1,2,3,4,5] 120
MapReduce Inspirado en P. funcional:  2 componentes: mapper y reducer Los datos se trocean para su procesamiento Cada dato asociado a una clave Transforma [(clave1,valor1)] en [(clave2,valor2)] v2 c2 MapReduce v1 c1 Entrada:  [(Clave1,Valor1)] v2 c2 Salida:  [(Clave2,Valor2)] v1 c1 v2 c2 v1 c1 v2 c2
Mapper Para cada (clave1,valor1) devuelve una lista de (clave2,valor2) Tipo: (clave1, valor1)  [(clave2,valor2)] v1 k1 mapper vi1 c1 v2 k2 v3 k1 mapper vi2 c2 v4 k3 v5 k1 v6 k1 mapper vi3 c3 v7 k3
Mezcla y ordenación de claves El sistema se encarga de mezclar y ordenar resultados intermedios en función de las claves Mezcla y ordena v1 k1 v1 v3 v5 v6 k1 v2 k2 v3 k1 v4 v2 k3 k2 v5 k1 v6 k1 v4 k3 v7 v7 k3
Reducer Para cada clave2, toma la lista de valores asociada y los combina en uno solo Tipo: (clave2,  [valor2])  (clave2,valor2) reducer v1 v3 v5 v6 vf1 k1 k1 reducer v2 vf2 k2 k2 reducer vf3 k3 v4 k3 v7
Esquema general Mezcla y ordena v1 k1 reducer vf1 k1 mapper v1 v3 v5 v6 k1 vi1 c1 v2 k2 v3 k1 reducer mapper vi1 c1 vf2 k2 v4 v2 k3 k2 v5 k1 v6 reducer vf3 k3 k1 v4 k3 v7 mapper vi1 c1 v7 k3 MapReduce
Ejemplo: Cuenta palabras Mezcla y ordena 1 a reducer 4 a mapper 1 1 1 1 a a b d1 1 b 1 a mapper reducer a c a d2 1 b 1 1 c b 1 a 1 2 c a reducer 1 c 1 mapper a c d3 1 c MapReduce // suma la lista de números de cada palabra reducer(p,ns) {   sum = 0    for each nin ns { sum += n; }    emit (p, sum) } // devuelve cada palabra con un 1 mapper(d,ps) { for eachp inps:    emit (p, 1) }
Sistema MapReduce El entorno de ejecución se encarga de Planificación: Cada trabajo (job) se divide en tareas (tasks) Co-localización de datos/código Cada nodo computacional contiene sus datos de forma local (no existe un sistema central) Sincronización:  Tareas reduce deben esperar final de fase map Gestión de errores y fallos Alta tolerancia a fallos de los nodos computacionales
Sistema de ficheros distribuido Google desarrolló sistema distribuido GFS Hadoop creó HDFS Ficheros se dividen en bloques (chunks) 2 tipos de nodos:  Namenode (maestro), datanodes (servidores datos) Datanodes almacenan diferentes bloques Replicación de bloques Namenodecontiene metadatos En qué nodo está cada trozo Comunicación directa entre clientes y datanodes
Sistema de ficheros distribuido Namenode fichero1: (B1 – N1 N2, B2 – N1 N2 N3) fichero2: (B3 – N2 N3, B4 – N1 N2) fichero3: (B5 – N1 N3) Cliente1 Cliente2 B1 B1 B4 B5 B2 Datanodes B4 B5 B3 B3 B2 B2 Datos publicados por Google (2007) 200+ clusters Muchos clusters de 1000+ máquinas Pools de miles de clientes 4+ PB  Tolerancia fallos de HW/SW N1 N2 N3
Ejercicio: Índice Inverso Dada una serie de documentos, obtener la lista de palabras asociando a cada palabra el documento en el que aparece. Ordenar los documentos según el mayor número de apariciones Índice inverso lugar	doc16, doc21, doc23, doc45 Manchadoc22, doc2, doc4, doc9, doc11 Quijotedoc22, doc1, doc2, doc7 . . . Documento 1 En un lugar de la Mancha ,de cuyo nombre no quiero acordarme no ha mucho tiempo que vivía un hidalgo de los de lanza en astillero, adarga antigua, rocín flaco y galgo corredor. Una olla de algo más…
Índice inverso: buscadores Esquema básico de un buscador consulta Web Búsqueda P1 P1 P1 Web  crawling Indexado Índice palabra1   doc1, doc23, doc4,… palabra2   doc54,doc23 palabra3   doc1,doc7,d1oc9,doc5... palabra4    doc7,doc9,doc10 … Documentos en caché
Índice inverso Mezcla y ordena d1 a d2 a reducer d1 d3 a b mapper d1 d2 d2 d3 d1 a d1 b d2 a a c a d2 d1 b mapper reducer d2 d1 c b d2 a d2 c d3 d3 a reducer d2 c d3 a c mapper d3 d3 c MapReduce // ordena la lista de documentos por  // importancia reducer(p,ds) {   ds1 = ordena(ds)   emit (p, ds1) } // devuelve cada palabra con su  // documento mapper(d,ps) { for eachp inps:    emit (p, d) }
Ejercicio: Canciones populares A partir de los logs de los usuarios de un servidor de música, obtener el número de veces que se escucha cada canción Inspirado en last.fm 2/3/2010 9:41      Ana    C1 2/3/2010 9:42      Dani   C2 2/3/2010 9:44      Ana     C2 2/3/2010 10:01    Luis    C1 2/3/2010  10:10   Ana    C3 2/3/2010  10:15   Ana    C2 2/3/2010  10:20   Dani   C2 2/3/2010  10:21   Luis    C4 2/3/2010   10:24  Luis    C2 2/3/2010   10:26  Luis    C4 2/3/2010   10:27   Ana   C4 C1   2 oyentes, 2 escuchas C2   3 oyentes, 5 escuchas C3   2 oyentes, 2 escuchas C4   2 oyentes,  3 escuchas Analizador
Ejercicio: canciones populares Mezcla y ordena A A C1 C1 9:41 mapper D C2 D 9:42 C2 A C2 A 9:44 C2 reducer 2 2 mapper C1 L L C1 C1 10:01 A C C1 A C3 A reducer 3 10:10 5 C3 C2 C2 D  A A D  L A C2 10:15 A C2 reducer 1 C3 mapper A C3 D C2 D 10:20 C2 reducer 2  3 C4 L C4 10:21 L L L A C4 C4 L L C2 C2 10:24 mapper L C4 10:26 L C4 MapReduce A C4 10:27 A C4
Ejercicio: Amigos comunes Encontrar la lista de amigos comunes Inspirado en Facebook Ana  Dani Juan Luis Dani Ana Juan Luis Mar Juan  Ana Dani Luis Mar Luis  Ana Dani Juan Mar Mar  Dani Juan Luis Ana Dani Mar A  D J L D  A J L M J  A D L M L  A D J M M  D J L Juan Luis Si Ana visita la página de Juan, el sistema debería mostrar Dani, Luis
Ejercicio: Amigos comunes A D D J L A J D J L mapper Mezcla y ordena D J L A reducer A L D J L J L  D J L  A J L M  A D A D D L  reducer A D A J L M A J A J D J L  A D L M  D J A J L M mapper D A J L M reducer D J  A L D J L  A D J M  A L D L A J L M D M A J L M reducer A L M  D J A J L M A D L M  D J A J A D L M reducer A J M  D L A J L M A D J M  D L D J A D L M mapper J A D L M reducer J L  D M J L A D L M A J L M D J L  D M J M A D L M reducer A D M  J L A D L M A D J M  J L A L A D J M reducer D L  A D L M D J L J M J M D L A D J M mapper L A D J M J L A D J M reducer D J  A D J M  D J L  L M L M L M A D J M D J L D M MapReduce M D J L mapper D J L J M D J L L M
Ejercicio: Similaridad A partir de los logs, encontrar número de canciones en común entre 2 usuarios Inspirado en Amazon (libros similares), Facebook (posibles amigos), etc. Habitualmente se realizan varios pasos mapReduce
Ejemplo: Similaridad A C1 9:41 D C2 9:42 A C2 9:44 Mezcla y ordena A C C1, 1 reducer mapper C1, 1  1  A C A C L C1 A C 10:01 C1 A D C2, 2 reducer A D A D A C3 10:10 C2, 2  2  C2 D  A A D  L A L C2, 1 MapReduce1 A C2 10:15 reducer A L C4, 2 C2 1  C4 2  3 A L A L A mapper C3 D C2 10:20 L L A C4 L C4 10:21 MapReduce2 L C2 10:24 L C4 10:26 A C4 10:27
MapReduce en la práctica Múltiples aplicaciones: Google en 2007, 20petabytes al día, en una media de 100mil trabajos mapreduce/día El algoritmo PageRank puede implementarse mediante MapReduce Casos de éxito:  Traducción automática, Similaridad entre ítems, ordenamiento (Hadoop ordena 500GB/59sg (véase: sortbenchmark.org) Otras compañías: last.fm, facebook, Yahoo!, twitter, etc.
Implementaciones MapReduce Google (interna) Hadoop (open source) CloudMapReduce (basado en servicios de Amazon) Aster Data (SQL) Greenplum (SQL) Disco (Python/Erlang)  Holumbus(Haskell)
Librerías/lenguajes MapReduce Hive (Hadoop): lenguaje de consulta inspirado en SQL Pig (Hadoop): lenguaje específico para definir flujos de datos Cascading: API para especificar flujos de datos distribuidos Flume Java (Google)  Dryad (Microsoft)
Agradecimientos Parte del contenido de esta presentación ha sido tomado de otras presentaciones similares de: Jimmy Lin Jeff Dean Jose Manuel Redondo

Weitere ähnliche Inhalte

Was ist angesagt?

Improving Apache Spark Downscaling
 Improving Apache Spark Downscaling Improving Apache Spark Downscaling
Improving Apache Spark DownscalingDatabricks
 
Dr. Elephant for Monitoring and Tuning Apache Spark Jobs on Hadoop with Carl ...
Dr. Elephant for Monitoring and Tuning Apache Spark Jobs on Hadoop with Carl ...Dr. Elephant for Monitoring and Tuning Apache Spark Jobs on Hadoop with Carl ...
Dr. Elephant for Monitoring and Tuning Apache Spark Jobs on Hadoop with Carl ...Databricks
 
Metodos Busqueda Interna
Metodos Busqueda InternaMetodos Busqueda Interna
Metodos Busqueda Internasawmuk
 
Application Timeline Server - Past, Present and Future
Application Timeline Server - Past, Present and FutureApplication Timeline Server - Past, Present and Future
Application Timeline Server - Past, Present and FutureVARUN SAXENA
 
Design of Hadoop Distributed File System
Design of Hadoop Distributed File SystemDesign of Hadoop Distributed File System
Design of Hadoop Distributed File SystemDr. C.V. Suresh Babu
 
Strata London 2019 Scaling Impala
Strata London 2019 Scaling ImpalaStrata London 2019 Scaling Impala
Strata London 2019 Scaling ImpalaManish Maheshwari
 
Indexing and Hashing
Indexing and HashingIndexing and Hashing
Indexing and Hashingsathish sak
 
Aplicaciòn de las estructuras de datos
Aplicaciòn de las estructuras de datosAplicaciòn de las estructuras de datos
Aplicaciòn de las estructuras de datosK Manuel TN
 
Running Apache Spark on Kubernetes: Best Practices and Pitfalls
Running Apache Spark on Kubernetes: Best Practices and PitfallsRunning Apache Spark on Kubernetes: Best Practices and Pitfalls
Running Apache Spark on Kubernetes: Best Practices and PitfallsDatabricks
 
Building a Real-Time Analytics Application with Apache Pulsar and Apache Pinot
Building a Real-Time Analytics Application with  Apache Pulsar and Apache PinotBuilding a Real-Time Analytics Application with  Apache Pulsar and Apache Pinot
Building a Real-Time Analytics Application with Apache Pulsar and Apache PinotAltinity Ltd
 
COPRIM2013.pdf
COPRIM2013.pdfCOPRIM2013.pdf
COPRIM2013.pdfNghimng8
 
Introduction to Hadoop
Introduction to HadoopIntroduction to Hadoop
Introduction to Hadoopjoelcrabb
 
Elasticsearch From the Bottom Up
Elasticsearch From the Bottom UpElasticsearch From the Bottom Up
Elasticsearch From the Bottom Upfoundsearch
 
Stacks & Queues By Ms. Niti Arora
Stacks & Queues By Ms. Niti AroraStacks & Queues By Ms. Niti Arora
Stacks & Queues By Ms. Niti Arorakulachihansraj
 
Working with Deeply Nested Documents in Apache Solr: Presented by Anshum Gupt...
Working with Deeply Nested Documents in Apache Solr: Presented by Anshum Gupt...Working with Deeply Nested Documents in Apache Solr: Presented by Anshum Gupt...
Working with Deeply Nested Documents in Apache Solr: Presented by Anshum Gupt...Lucidworks
 
Zeus: Uber’s Highly Scalable and Distributed Shuffle as a Service
Zeus: Uber’s Highly Scalable and Distributed Shuffle as a ServiceZeus: Uber’s Highly Scalable and Distributed Shuffle as a Service
Zeus: Uber’s Highly Scalable and Distributed Shuffle as a ServiceDatabricks
 

Was ist angesagt? (20)

Improving Apache Spark Downscaling
 Improving Apache Spark Downscaling Improving Apache Spark Downscaling
Improving Apache Spark Downscaling
 
Dr. Elephant for Monitoring and Tuning Apache Spark Jobs on Hadoop with Carl ...
Dr. Elephant for Monitoring and Tuning Apache Spark Jobs on Hadoop with Carl ...Dr. Elephant for Monitoring and Tuning Apache Spark Jobs on Hadoop with Carl ...
Dr. Elephant for Monitoring and Tuning Apache Spark Jobs on Hadoop with Carl ...
 
Metodos Busqueda Interna
Metodos Busqueda InternaMetodos Busqueda Interna
Metodos Busqueda Interna
 
Application Timeline Server - Past, Present and Future
Application Timeline Server - Past, Present and FutureApplication Timeline Server - Past, Present and Future
Application Timeline Server - Past, Present and Future
 
Design of Hadoop Distributed File System
Design of Hadoop Distributed File SystemDesign of Hadoop Distributed File System
Design of Hadoop Distributed File System
 
Strata London 2019 Scaling Impala
Strata London 2019 Scaling ImpalaStrata London 2019 Scaling Impala
Strata London 2019 Scaling Impala
 
Effective Spark on Multi-Tenant Clusters
Effective Spark on Multi-Tenant ClustersEffective Spark on Multi-Tenant Clusters
Effective Spark on Multi-Tenant Clusters
 
Indexing and Hashing
Indexing and HashingIndexing and Hashing
Indexing and Hashing
 
Aplicaciòn de las estructuras de datos
Aplicaciòn de las estructuras de datosAplicaciòn de las estructuras de datos
Aplicaciòn de las estructuras de datos
 
Data Structure Basics
Data Structure BasicsData Structure Basics
Data Structure Basics
 
Running Apache Spark on Kubernetes: Best Practices and Pitfalls
Running Apache Spark on Kubernetes: Best Practices and PitfallsRunning Apache Spark on Kubernetes: Best Practices and Pitfalls
Running Apache Spark on Kubernetes: Best Practices and Pitfalls
 
Building a Real-Time Analytics Application with Apache Pulsar and Apache Pinot
Building a Real-Time Analytics Application with  Apache Pulsar and Apache PinotBuilding a Real-Time Analytics Application with  Apache Pulsar and Apache Pinot
Building a Real-Time Analytics Application with Apache Pulsar and Apache Pinot
 
COPRIM2013.pdf
COPRIM2013.pdfCOPRIM2013.pdf
COPRIM2013.pdf
 
Introduction to Hadoop
Introduction to HadoopIntroduction to Hadoop
Introduction to Hadoop
 
The Impala Cookbook
The Impala CookbookThe Impala Cookbook
The Impala Cookbook
 
LINKED LISTS
LINKED LISTSLINKED LISTS
LINKED LISTS
 
Elasticsearch From the Bottom Up
Elasticsearch From the Bottom UpElasticsearch From the Bottom Up
Elasticsearch From the Bottom Up
 
Stacks & Queues By Ms. Niti Arora
Stacks & Queues By Ms. Niti AroraStacks & Queues By Ms. Niti Arora
Stacks & Queues By Ms. Niti Arora
 
Working with Deeply Nested Documents in Apache Solr: Presented by Anshum Gupt...
Working with Deeply Nested Documents in Apache Solr: Presented by Anshum Gupt...Working with Deeply Nested Documents in Apache Solr: Presented by Anshum Gupt...
Working with Deeply Nested Documents in Apache Solr: Presented by Anshum Gupt...
 
Zeus: Uber’s Highly Scalable and Distributed Shuffle as a Service
Zeus: Uber’s Highly Scalable and Distributed Shuffle as a ServiceZeus: Uber’s Highly Scalable and Distributed Shuffle as a Service
Zeus: Uber’s Highly Scalable and Distributed Shuffle as a Service
 

Andere mochten auch (20)

Hadoop And Pig And MapReduce
Hadoop And Pig And MapReduceHadoop And Pig And MapReduce
Hadoop And Pig And MapReduce
 
BigData y MapReduce
BigData y MapReduceBigData y MapReduce
BigData y MapReduce
 
Temadeinvestigacion 130402203353-phpapp02
Temadeinvestigacion 130402203353-phpapp02Temadeinvestigacion 130402203353-phpapp02
Temadeinvestigacion 130402203353-phpapp02
 
Aprendizaje de Maquina y Aplicaciones
Aprendizaje de Maquina y AplicacionesAprendizaje de Maquina y Aplicaciones
Aprendizaje de Maquina y Aplicaciones
 
BigTable And Hbase
BigTable And HbaseBigTable And Hbase
BigTable And Hbase
 
Bigtable
BigtableBigtable
Bigtable
 
Bigtable and Dynamo
Bigtable and DynamoBigtable and Dynamo
Bigtable and Dynamo
 
Dynamo and BigTable in light of the CAP theorem
Dynamo and BigTable in light of the CAP theoremDynamo and BigTable in light of the CAP theorem
Dynamo and BigTable in light of the CAP theorem
 
Dynamo and BigTable - Review and Comparison
Dynamo and BigTable - Review and ComparisonDynamo and BigTable - Review and Comparison
Dynamo and BigTable - Review and Comparison
 
Gfs vs hdfs
Gfs vs hdfsGfs vs hdfs
Gfs vs hdfs
 
Cloud computinglabra
Cloud computinglabraCloud computinglabra
Cloud computinglabra
 
NoSQL: la siguiente generación de Base de Datos
NoSQL: la siguiente generación de Base de DatosNoSQL: la siguiente generación de Base de Datos
NoSQL: la siguiente generación de Base de Datos
 
Map reduce (from Google)
Map reduce (from Google)Map reduce (from Google)
Map reduce (from Google)
 
Mallorca MUG: MapReduce y Aggregation Framework
Mallorca MUG: MapReduce y Aggregation FrameworkMallorca MUG: MapReduce y Aggregation Framework
Mallorca MUG: MapReduce y Aggregation Framework
 
MapReduce en Hadoop
MapReduce en HadoopMapReduce en Hadoop
MapReduce en Hadoop
 
Introducción a hadoop
Introducción a hadoopIntroducción a hadoop
Introducción a hadoop
 
HDFS
HDFSHDFS
HDFS
 
The google MapReduce
The google MapReduceThe google MapReduce
The google MapReduce
 
Introducción a Hadoop
Introducción a HadoopIntroducción a Hadoop
Introducción a Hadoop
 
Aula virtual apache_hadoop_v3 1
Aula virtual apache_hadoop_v3 1Aula virtual apache_hadoop_v3 1
Aula virtual apache_hadoop_v3 1
 

Ähnlich wie Cloud Computing y MapReduce

base de datos #1
base de datos #1base de datos #1
base de datos #1sergio804
 
Revelando los secretos de twitter, Festival de Software Libre 2014
Revelando los secretos de twitter, Festival de Software Libre 2014Revelando los secretos de twitter, Festival de Software Libre 2014
Revelando los secretos de twitter, Festival de Software Libre 2014Abel Alejandro Coronado Iruegas
 
Hadoop, Cloud y Spring
Hadoop, Cloud y Spring Hadoop, Cloud y Spring
Hadoop, Cloud y Spring Miguel Pastor
 
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...Joseph Lopez
 
Big data y las apis
Big data y  las apis Big data y  las apis
Big data y las apis CloudAppi
 
Visualizando Datos: la geolocalización como herramienta emergente de análisis...
Visualizando Datos: la geolocalización como herramienta emergente de análisis...Visualizando Datos: la geolocalización como herramienta emergente de análisis...
Visualizando Datos: la geolocalización como herramienta emergente de análisis...GEDEM CED
 
Actividad 6
Actividad 6Actividad 6
Actividad 6JAREK T
 
Visualización de Big Data con Power View
Visualización de Big Data con Power ViewVisualización de Big Data con Power View
Visualización de Big Data con Power ViewEduardo Castro
 
Pablo Doval | Plain Concepts | Open Data
Pablo Doval | Plain Concepts | Open DataPablo Doval | Plain Concepts | Open Data
Pablo Doval | Plain Concepts | Open DataSmash Tech
 
Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas
Desarrollo práctico de aplicaciones Linked Data: metodología y herramientasDesarrollo práctico de aplicaciones Linked Data: metodología y herramientas
Desarrollo práctico de aplicaciones Linked Data: metodología y herramientasGuillermo Álvaro Rey
 
Primeros pasos con Neo4j
Primeros pasos con Neo4jPrimeros pasos con Neo4j
Primeros pasos con Neo4jUbaldo Taladriz
 
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...Joseph Lopez
 
Novedades en SQL Server 2019
Novedades en SQL Server 2019Novedades en SQL Server 2019
Novedades en SQL Server 2019Eduardo Castro
 

Ähnlich wie Cloud Computing y MapReduce (20)

Computación distribuida usando Python
Computación distribuida usando PythonComputación distribuida usando Python
Computación distribuida usando Python
 
base de datos #1
base de datos #1base de datos #1
base de datos #1
 
Revelando los secretos de twitter, Festival de Software Libre 2014
Revelando los secretos de twitter, Festival de Software Libre 2014Revelando los secretos de twitter, Festival de Software Libre 2014
Revelando los secretos de twitter, Festival de Software Libre 2014
 
Hadoop, Cloud y Spring
Hadoop, Cloud y Spring Hadoop, Cloud y Spring
Hadoop, Cloud y Spring
 
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de datos empresariales (EDW) y Windows Azure (SQL Databas...
 
Big data y las apis
Big data y  las apis Big data y  las apis
Big data y las apis
 
Visualizando Datos: la geolocalización como herramienta emergente de análisis...
Visualizando Datos: la geolocalización como herramienta emergente de análisis...Visualizando Datos: la geolocalización como herramienta emergente de análisis...
Visualizando Datos: la geolocalización como herramienta emergente de análisis...
 
Actividad 6
Actividad 6Actividad 6
Actividad 6
 
3. Hadoop
3.  Hadoop3.  Hadoop
3. Hadoop
 
Visualización de Big Data con Power View
Visualización de Big Data con Power ViewVisualización de Big Data con Power View
Visualización de Big Data con Power View
 
Pablo Doval | Plain Concepts | Open Data
Pablo Doval | Plain Concepts | Open DataPablo Doval | Plain Concepts | Open Data
Pablo Doval | Plain Concepts | Open Data
 
Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas
Desarrollo práctico de aplicaciones Linked Data: metodología y herramientasDesarrollo práctico de aplicaciones Linked Data: metodología y herramientas
Desarrollo práctico de aplicaciones Linked Data: metodología y herramientas
 
SMBD 2011
SMBD 2011SMBD 2011
SMBD 2011
 
SMBD 2011
SMBD 2011SMBD 2011
SMBD 2011
 
Primeros pasos con Neo4j
Primeros pasos con Neo4jPrimeros pasos con Neo4j
Primeros pasos con Neo4j
 
Conferencia universidad 2010
Conferencia universidad 2010Conferencia universidad 2010
Conferencia universidad 2010
 
Presentación: manejo y almacenamiento de bases de datos
Presentación: manejo y almacenamiento de bases de datosPresentación: manejo y almacenamiento de bases de datos
Presentación: manejo y almacenamiento de bases de datos
 
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...
Big Data, Almacenes de Datos Empresariales (EDW) y Windows Azure (SQL Databas...
 
WEB 2.0 Google Colaboracion
WEB 2.0 Google ColaboracionWEB 2.0 Google Colaboracion
WEB 2.0 Google Colaboracion
 
Novedades en SQL Server 2019
Novedades en SQL Server 2019Novedades en SQL Server 2019
Novedades en SQL Server 2019
 

Mehr von Jose Emilio Labra Gayo

Introducción a la investigación/doctorado
Introducción a la investigación/doctoradoIntroducción a la investigación/doctorado
Introducción a la investigación/doctoradoJose Emilio Labra Gayo
 
Challenges and applications of RDF shapes
Challenges and applications of RDF shapesChallenges and applications of RDF shapes
Challenges and applications of RDF shapesJose Emilio Labra Gayo
 
Legislative data portals and linked data quality
Legislative data portals and linked data qualityLegislative data portals and linked data quality
Legislative data portals and linked data qualityJose Emilio Labra Gayo
 
Validating RDF data: Challenges and perspectives
Validating RDF data: Challenges and perspectivesValidating RDF data: Challenges and perspectives
Validating RDF data: Challenges and perspectivesJose Emilio Labra Gayo
 
Legislative document content extraction based on Semantic Web technologies
Legislative document content extraction based on Semantic Web technologiesLegislative document content extraction based on Semantic Web technologies
Legislative document content extraction based on Semantic Web technologiesJose Emilio Labra Gayo
 
Como publicar datos: hacia los datos abiertos enlazados
Como publicar datos: hacia los datos abiertos enlazadosComo publicar datos: hacia los datos abiertos enlazados
Como publicar datos: hacia los datos abiertos enlazadosJose Emilio Labra Gayo
 
Arquitectura de la Web y Computación en el Servidor
Arquitectura de la Web y Computación en el ServidorArquitectura de la Web y Computación en el Servidor
Arquitectura de la Web y Computación en el ServidorJose Emilio Labra Gayo
 

Mehr von Jose Emilio Labra Gayo (20)

Publicaciones de investigación
Publicaciones de investigaciónPublicaciones de investigación
Publicaciones de investigación
 
Introducción a la investigación/doctorado
Introducción a la investigación/doctoradoIntroducción a la investigación/doctorado
Introducción a la investigación/doctorado
 
Challenges and applications of RDF shapes
Challenges and applications of RDF shapesChallenges and applications of RDF shapes
Challenges and applications of RDF shapes
 
Legislative data portals and linked data quality
Legislative data portals and linked data qualityLegislative data portals and linked data quality
Legislative data portals and linked data quality
 
Validating RDF data: Challenges and perspectives
Validating RDF data: Challenges and perspectivesValidating RDF data: Challenges and perspectives
Validating RDF data: Challenges and perspectives
 
Wikidata
WikidataWikidata
Wikidata
 
Legislative document content extraction based on Semantic Web technologies
Legislative document content extraction based on Semantic Web technologiesLegislative document content extraction based on Semantic Web technologies
Legislative document content extraction based on Semantic Web technologies
 
ShEx by Example
ShEx by ExampleShEx by Example
ShEx by Example
 
Introduction to SPARQL
Introduction to SPARQLIntroduction to SPARQL
Introduction to SPARQL
 
Introducción a la Web Semántica
Introducción a la Web SemánticaIntroducción a la Web Semántica
Introducción a la Web Semántica
 
RDF Data Model
RDF Data ModelRDF Data Model
RDF Data Model
 
2017 Tendencias en informática
2017 Tendencias en informática2017 Tendencias en informática
2017 Tendencias en informática
 
RDF, linked data and semantic web
RDF, linked data and semantic webRDF, linked data and semantic web
RDF, linked data and semantic web
 
Introduction to SPARQL
Introduction to SPARQLIntroduction to SPARQL
Introduction to SPARQL
 
19 javascript servidor
19 javascript servidor19 javascript servidor
19 javascript servidor
 
Como publicar datos: hacia los datos abiertos enlazados
Como publicar datos: hacia los datos abiertos enlazadosComo publicar datos: hacia los datos abiertos enlazados
Como publicar datos: hacia los datos abiertos enlazados
 
16 Alternativas XML
16 Alternativas XML16 Alternativas XML
16 Alternativas XML
 
XSLT
XSLTXSLT
XSLT
 
XPath
XPathXPath
XPath
 
Arquitectura de la Web y Computación en el Servidor
Arquitectura de la Web y Computación en el ServidorArquitectura de la Web y Computación en el Servidor
Arquitectura de la Web y Computación en el Servidor
 

Kürzlich hochgeladen

La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfcristianrb0324
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdfBetianaJuarez1
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerenciacubillannoly
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptxHugoGutierrez99
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfKarinaCambero3
 
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxLINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxkimontey
 
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Marketing BRANDING
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxhasbleidit
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docxobandopaula444
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDAVIDROBERTOGALLEGOS
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar24roberto21
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdfsharitcalderon04
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armadob7fwtwtfxf
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointValerioIvanDePazLoja
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)JuanStevenTrujilloCh
 

Kürzlich hochgeladen (20)

La electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdfLa electricidad y la electronica.10-7.pdf
La electricidad y la electronica.10-7.pdf
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
_Planificacion Anual NTICX 2024.SEC.21.4.1.docx.pdf
 
Slideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan GerenciaSlideshare y Scribd - Noli Cubillan Gerencia
Slideshare y Scribd - Noli Cubillan Gerencia
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
#Tare10ProgramacionWeb2024aaaaaaaaaaaa.pptx
 
Herramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdfHerramientas que posibilitan la información y la investigación.pdf
Herramientas que posibilitan la información y la investigación.pdf
 
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptxLINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
LINEA DE TIEMPO LITERATURA DIFERENCIADO LITERATURA.pptx
 
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
Agencia Marketing Branding Google Workspace Deployment Services Credential Fe...
 
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docxPLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
PLANEACION DE CLASES TEMA TIPOS DE FAMILIA.docx
 
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docxTALLER DE ANALISIS SOLUCION  PART 2 (1)-1.docx
TALLER DE ANALISIS SOLUCION PART 2 (1)-1.docx
 
David_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptxDavid_Gallegos - tarea de la sesión 11.pptx
David_Gallegos - tarea de la sesión 11.pptx
 
Actividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolarActividades de computación para alumnos de preescolar
Actividades de computación para alumnos de preescolar
 
Análisis de Artefactos Tecnologicos (3) (1).pdf
Análisis de Artefactos Tecnologicos  (3) (1).pdfAnálisis de Artefactos Tecnologicos  (3) (1).pdf
Análisis de Artefactos Tecnologicos (3) (1).pdf
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
Viguetas Pretensadas en concreto armado
Viguetas Pretensadas  en concreto armadoViguetas Pretensadas  en concreto armado
Viguetas Pretensadas en concreto armado
 
Trabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power PointTrabajando con Formasy Smart art en power Point
Trabajando con Formasy Smart art en power Point
 
Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)Análisis de los artefactos (nintendo NES)
Análisis de los artefactos (nintendo NES)
 

Cloud Computing y MapReduce

  • 1. Cloud Computing Jose Emilio Labra Gayo University of Oviedo, Spain http://www.di.uniovi.es/~labra
  • 2. Esquema de la presentación Motivación Cloud Computing MapReduce
  • 3. Motivación La era de los datos Generación volúmenes de datos/día  En 2009, récord de crecimiento (60%) Se estima en 800.000petabytes (1PB = 1millón GB) Fuente: IDC The digital UniverseDecade: Are youready? http://www.emc.com/collateral/demos/microsites/idc-digital-universe/iview.htm
  • 4. Ejemplos de fuentes de datos Éxito de la web: Mayor participación si cabe en la Web 2.0 Abaratamiento de dispositivos Cámaras digitales, Teléfonos móviles, etc. Youtube contiene unos 144 millones de vídeos* Redes sociales Facebook contenía 15 billones de fotos en 2009** * http://beerpla.net/2008/08/14/how-to-find-out-the-number-of-videos-on-youtube/ ** http://www.facebook.com/note.php?note_id=76191543919
  • 5. Otras fuentes de datos Internet de las cosas Cada vez más dispositivos estarán conectados a Internet Aumento de Sensores y generadores de datos Acelerador de partículas LHC producirá 15 petabytes de datos al año http://public.web.cern.ch/public/en/lhc/Computing-en.html Frigorífico con Internet http://www.youtube.com/watch?v=sfEbMV295Kk&feature=player_embedded
  • 6. Grandes Centros de Datos Google, Yahoo!, Amazon, etc. Centro de datos de Yahoo!
  • 7. Cloud Computing Pegatina creada por Brian Fitzpatrick para Google CodeHosting en 2006
  • 8. Cloud Computing Cloud computing = Servicios de grandes compañías (Google, Amazon,…) que pueden ser alquilados por clientes externos Ejemplos de servicios: Recursos computacionales (ciclos CPU) Almacenamiento Entornos de ejecución completos
  • 9. Ventajas Precio Amazon EC2 = Máquinas virtuales a 10¢/hora Amazon S3 = Almacenamiento 15¢/mes/Gb Algunos servicios = gratuitos! Escalabilidad Se paga en función del consumo Acceso a potentes centros de datos Facilidad de uso y mantenimiento
  • 10. Ventajas Independencia dispositivos y localización Acceso desde cualquier navegador en cualquier sitio Eficiencia: Centralización de infraestructuras, ahorro de energía, control compartido de carga Fiabilidad: Réplicas, recuperación de desastres
  • 11. Tipos de Cloud Computing No todas las nubes ofrecen todos los servicios Se podrían clasificar en: SaaS: Software as a Service PaaS: Platform as a Service IaaS: Infraestructure as a Service SaaS PaaS IaaS
  • 12. IaaS: Infraestructura Se ofrecen recursos computacionales Capacidad de computación Almacenamiento Entorno virtualizado de máquinas conectadas por red Ejemplos: Eucalyptus, Amazon EC2, Amazon S3
  • 13. PaaS: Plataforma Se ofrece una solución instalada y configurada como servicio (plataforma) Aplicaciones: Hosting para aplicaciones Web Entornos de desarrollo Facilitan despliegue rápido y barato Ejemplos: Google AppEngine, VMForce, AppScale
  • 14. SaaS: Software Aplicación software como servicio bajo demanda El usuario no tiene que instalar/configurar aplicaciones Reduce coste de adquisición de software Ejemplos: Aplicaciones Google (Gmail, GDocs, etc)
  • 15. Retos de Cloud Computing Legalidad ¿Almacenar datos en otros países? ¿Y si no se cumple el servicio? Seguridad, privacidad ¿Es más seguro tener los datos en nuestra máquina o en un data-center? Dependencia: ¿Nuevos monopolios? ¿Interoperabilidad entre nubes? Sostenibilidad: ¿Consumo energético?
  • 17. MapReduce Pensado para procesar grandes cantidades de datos Programador especifica computación mediante 2 funciones: map y reduce Adaptado a ejecución distribuida en múltiples nodos Control de nodos que fallan, balance de carga, etc
  • 18. MapReduce Desarrollado por Google Publicado en 2004 Implementación interna propietaria Hadoop: implementación open source Versión inicial de Yahoo! Actualmente Proyecto Apache Adopción industrial Facebook, last.fm, etc.
  • 19. Características de MapReduce Computaciones distribuidas Troceado de datos de entrada Tolerancia a fallos de nodos Portabilidad en nodos con hardware/software heterogéneo Procesado por lotes de grandes cantidades de datos Write-once. Read-many
  • 20. Orígenes funcionales Programación funcional: Modelo de programación basado en: Ausencia de efectos laterales Funciones de orden superior Funciones similares a mapy reduce llevan utilizándose mucho tiempo en programación funcional
  • 21. Map en P. funcional Aplica una función a todos los elementos de una lista Lista de entrada función Lista de salida En Haskell: Calcular la longitud de todas las palabras de una lista > maplength [“esto”, “es”, “un”, “ejemplo”] [4,2,2,7] Dar la vuelta a todas las palabras de una lista > map reverse ["esto","es","un","ejemplo"] ["otse","se","nu","olpmeje“]
  • 22. Reduce en P. funcional Transforma una lista en un valor combinando los elementos entre sí Lista de entrada Valor de salida En Haskell (reduce fold) Suma de los elementos de una lista > foldr (+) 0 [1,2,3,4,5] 15 Producto de los elementos de una lista > foldr (*) 1 [1,2,3,4,5] 120
  • 23. MapReduce Inspirado en P. funcional: 2 componentes: mapper y reducer Los datos se trocean para su procesamiento Cada dato asociado a una clave Transforma [(clave1,valor1)] en [(clave2,valor2)] v2 c2 MapReduce v1 c1 Entrada: [(Clave1,Valor1)] v2 c2 Salida: [(Clave2,Valor2)] v1 c1 v2 c2 v1 c1 v2 c2
  • 24. Mapper Para cada (clave1,valor1) devuelve una lista de (clave2,valor2) Tipo: (clave1, valor1)  [(clave2,valor2)] v1 k1 mapper vi1 c1 v2 k2 v3 k1 mapper vi2 c2 v4 k3 v5 k1 v6 k1 mapper vi3 c3 v7 k3
  • 25. Mezcla y ordenación de claves El sistema se encarga de mezclar y ordenar resultados intermedios en función de las claves Mezcla y ordena v1 k1 v1 v3 v5 v6 k1 v2 k2 v3 k1 v4 v2 k3 k2 v5 k1 v6 k1 v4 k3 v7 v7 k3
  • 26. Reducer Para cada clave2, toma la lista de valores asociada y los combina en uno solo Tipo: (clave2, [valor2])  (clave2,valor2) reducer v1 v3 v5 v6 vf1 k1 k1 reducer v2 vf2 k2 k2 reducer vf3 k3 v4 k3 v7
  • 27. Esquema general Mezcla y ordena v1 k1 reducer vf1 k1 mapper v1 v3 v5 v6 k1 vi1 c1 v2 k2 v3 k1 reducer mapper vi1 c1 vf2 k2 v4 v2 k3 k2 v5 k1 v6 reducer vf3 k3 k1 v4 k3 v7 mapper vi1 c1 v7 k3 MapReduce
  • 28. Ejemplo: Cuenta palabras Mezcla y ordena 1 a reducer 4 a mapper 1 1 1 1 a a b d1 1 b 1 a mapper reducer a c a d2 1 b 1 1 c b 1 a 1 2 c a reducer 1 c 1 mapper a c d3 1 c MapReduce // suma la lista de números de cada palabra reducer(p,ns) { sum = 0 for each nin ns { sum += n; } emit (p, sum) } // devuelve cada palabra con un 1 mapper(d,ps) { for eachp inps: emit (p, 1) }
  • 29. Sistema MapReduce El entorno de ejecución se encarga de Planificación: Cada trabajo (job) se divide en tareas (tasks) Co-localización de datos/código Cada nodo computacional contiene sus datos de forma local (no existe un sistema central) Sincronización: Tareas reduce deben esperar final de fase map Gestión de errores y fallos Alta tolerancia a fallos de los nodos computacionales
  • 30. Sistema de ficheros distribuido Google desarrolló sistema distribuido GFS Hadoop creó HDFS Ficheros se dividen en bloques (chunks) 2 tipos de nodos: Namenode (maestro), datanodes (servidores datos) Datanodes almacenan diferentes bloques Replicación de bloques Namenodecontiene metadatos En qué nodo está cada trozo Comunicación directa entre clientes y datanodes
  • 31. Sistema de ficheros distribuido Namenode fichero1: (B1 – N1 N2, B2 – N1 N2 N3) fichero2: (B3 – N2 N3, B4 – N1 N2) fichero3: (B5 – N1 N3) Cliente1 Cliente2 B1 B1 B4 B5 B2 Datanodes B4 B5 B3 B3 B2 B2 Datos publicados por Google (2007) 200+ clusters Muchos clusters de 1000+ máquinas Pools de miles de clientes 4+ PB Tolerancia fallos de HW/SW N1 N2 N3
  • 32. Ejercicio: Índice Inverso Dada una serie de documentos, obtener la lista de palabras asociando a cada palabra el documento en el que aparece. Ordenar los documentos según el mayor número de apariciones Índice inverso lugar doc16, doc21, doc23, doc45 Manchadoc22, doc2, doc4, doc9, doc11 Quijotedoc22, doc1, doc2, doc7 . . . Documento 1 En un lugar de la Mancha ,de cuyo nombre no quiero acordarme no ha mucho tiempo que vivía un hidalgo de los de lanza en astillero, adarga antigua, rocín flaco y galgo corredor. Una olla de algo más…
  • 33. Índice inverso: buscadores Esquema básico de un buscador consulta Web Búsqueda P1 P1 P1 Web crawling Indexado Índice palabra1 doc1, doc23, doc4,… palabra2 doc54,doc23 palabra3 doc1,doc7,d1oc9,doc5... palabra4 doc7,doc9,doc10 … Documentos en caché
  • 34. Índice inverso Mezcla y ordena d1 a d2 a reducer d1 d3 a b mapper d1 d2 d2 d3 d1 a d1 b d2 a a c a d2 d1 b mapper reducer d2 d1 c b d2 a d2 c d3 d3 a reducer d2 c d3 a c mapper d3 d3 c MapReduce // ordena la lista de documentos por // importancia reducer(p,ds) { ds1 = ordena(ds) emit (p, ds1) } // devuelve cada palabra con su // documento mapper(d,ps) { for eachp inps: emit (p, d) }
  • 35. Ejercicio: Canciones populares A partir de los logs de los usuarios de un servidor de música, obtener el número de veces que se escucha cada canción Inspirado en last.fm 2/3/2010 9:41 Ana C1 2/3/2010 9:42 Dani C2 2/3/2010 9:44 Ana C2 2/3/2010 10:01 Luis C1 2/3/2010 10:10 Ana C3 2/3/2010 10:15 Ana C2 2/3/2010 10:20 Dani C2 2/3/2010 10:21 Luis C4 2/3/2010 10:24 Luis C2 2/3/2010 10:26 Luis C4 2/3/2010 10:27 Ana C4 C1 2 oyentes, 2 escuchas C2 3 oyentes, 5 escuchas C3 2 oyentes, 2 escuchas C4 2 oyentes, 3 escuchas Analizador
  • 36. Ejercicio: canciones populares Mezcla y ordena A A C1 C1 9:41 mapper D C2 D 9:42 C2 A C2 A 9:44 C2 reducer 2 2 mapper C1 L L C1 C1 10:01 A C C1 A C3 A reducer 3 10:10 5 C3 C2 C2 D A A D L A C2 10:15 A C2 reducer 1 C3 mapper A C3 D C2 D 10:20 C2 reducer 2 3 C4 L C4 10:21 L L L A C4 C4 L L C2 C2 10:24 mapper L C4 10:26 L C4 MapReduce A C4 10:27 A C4
  • 37. Ejercicio: Amigos comunes Encontrar la lista de amigos comunes Inspirado en Facebook Ana  Dani Juan Luis Dani Ana Juan Luis Mar Juan  Ana Dani Luis Mar Luis  Ana Dani Juan Mar Mar  Dani Juan Luis Ana Dani Mar A  D J L D  A J L M J  A D L M L  A D J M M  D J L Juan Luis Si Ana visita la página de Juan, el sistema debería mostrar Dani, Luis
  • 38. Ejercicio: Amigos comunes A D D J L A J D J L mapper Mezcla y ordena D J L A reducer A L D J L J L D J L A J L M A D A D D L reducer A D A J L M A J A J D J L A D L M D J A J L M mapper D A J L M reducer D J A L D J L A D J M A L D L A J L M D M A J L M reducer A L M D J A J L M A D L M D J A J A D L M reducer A J M D L A J L M A D J M D L D J A D L M mapper J A D L M reducer J L D M J L A D L M A J L M D J L D M J M A D L M reducer A D M J L A D L M A D J M J L A L A D J M reducer D L A D L M D J L J M J M D L A D J M mapper L A D J M J L A D J M reducer D J A D J M D J L L M L M L M A D J M D J L D M MapReduce M D J L mapper D J L J M D J L L M
  • 39. Ejercicio: Similaridad A partir de los logs, encontrar número de canciones en común entre 2 usuarios Inspirado en Amazon (libros similares), Facebook (posibles amigos), etc. Habitualmente se realizan varios pasos mapReduce
  • 40. Ejemplo: Similaridad A C1 9:41 D C2 9:42 A C2 9:44 Mezcla y ordena A C C1, 1 reducer mapper C1, 1 1 A C A C L C1 A C 10:01 C1 A D C2, 2 reducer A D A D A C3 10:10 C2, 2 2 C2 D A A D L A L C2, 1 MapReduce1 A C2 10:15 reducer A L C4, 2 C2 1 C4 2 3 A L A L A mapper C3 D C2 10:20 L L A C4 L C4 10:21 MapReduce2 L C2 10:24 L C4 10:26 A C4 10:27
  • 41. MapReduce en la práctica Múltiples aplicaciones: Google en 2007, 20petabytes al día, en una media de 100mil trabajos mapreduce/día El algoritmo PageRank puede implementarse mediante MapReduce Casos de éxito: Traducción automática, Similaridad entre ítems, ordenamiento (Hadoop ordena 500GB/59sg (véase: sortbenchmark.org) Otras compañías: last.fm, facebook, Yahoo!, twitter, etc.
  • 42. Implementaciones MapReduce Google (interna) Hadoop (open source) CloudMapReduce (basado en servicios de Amazon) Aster Data (SQL) Greenplum (SQL) Disco (Python/Erlang) Holumbus(Haskell)
  • 43. Librerías/lenguajes MapReduce Hive (Hadoop): lenguaje de consulta inspirado en SQL Pig (Hadoop): lenguaje específico para definir flujos de datos Cascading: API para especificar flujos de datos distribuidos Flume Java (Google) Dryad (Microsoft)
  • 44. Agradecimientos Parte del contenido de esta presentación ha sido tomado de otras presentaciones similares de: Jimmy Lin Jeff Dean Jose Manuel Redondo