Download - Big data y las apis (big data spain)
![Page 1: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/1.jpg)
El mundo Big Data y las APIs
Marco Antonio Sanz
![Page 2: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/2.jpg)
Índice
❏ ¿Quienes somos?❏ ¿Por qué unir Big Data y las Apis?❏ ¿Qué es Big Data?❏ Las 4 Vs❏ Bases de datos noSQL❏ Datawarehouses Big Data❏ Arquitectura Lambda❏ Arquitectura de Apis❏ Ejemplos❏ Mashups
![Page 3: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/3.jpg)
¿Quienes somos?
Grupo de meetuphttp://www.meetup.com/API-Addicts/
Meetups realizados❏ MADA. Metodología ágil de
definición de APIs❏ Taller de definición de APIs❏ Desarrolla tu primera API❏ Seguridad en las APIs❏ Las Apis como modelo de negocio❏ El Mundo Cloud y las APis
Marco Antonio Sanz:http://es.linkedin.com/pub/marco-antonio-sanz-molina-prados/18/335/97/
![Page 4: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/4.jpg)
Patrocinadores
www.cloudappi.net¿qué nos ofrece?➢ know - how de apis➢ ejemplos de arquitecturas
PRÓXIMAMENTE
![Page 5: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/5.jpg)
➢ Del internet de las cosas...
¿Cómo se van a conectar?
Internet de las APIs
¿Por qué unir Big Data y las Apis?
![Page 6: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/6.jpg)
¿Qué se hacía antes del Big Data?
¿Qué es Big Data?
➢ Clusters➢ Optimización de servidores de aplicaciones
(cacheo, …)➢ Optimización de servidores de base de datos
(vistas, vistas materializadas..)➢ Data Warehouses (OBI, Mondrian…)➢ ETLs (OBI, Kettle…)
![Page 7: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/7.jpg)
¿Qué es Big Data?
¿Qué es Big Data?
➢ Conjunto de tecnologías que permiten la acumulación masiva de datos.
![Page 8: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/8.jpg)
Convirtiendo Big Data en Valor
The Four V’s
http://www.slideshare.net/BernardMarr/140228-big-data-slide-share
![Page 9: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/9.jpg)
CAP
● Consistencia fuerte (la C en ACID y CAP). ● Disponibilidad o Availability (la A de CAP
pero no en ACID). ● Tolerancia a fallos (la P en CAP, en inglés
Partition Tolerance).
Bases de datos noSQL
https://eamodeorubio.wordpress.com/2010/05/17/nosql-2-no-necesitas-acid/
![Page 10: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/10.jpg)
LandScape MAP
Bases de datos noSQL
http://files.meetup.com/1789394/Matt%20Aslett%20-%20DB%20landscape.pdf
![Page 11: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/11.jpg)
Arquitecturas
Bases de datos noSQL
![Page 12: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/12.jpg)
Llave / Valor
Bases de datos noSQL
La arquitectura Llave/Valor consta en una llave como “Colonia” que se asocia con un valor “Centro”. Estas estructuras pueden ser utilizadas como colecciones, diccionarios, arreglos asociados o caches. Las búsquedas realizadas en este tipo de estructuras son rápidas ya que funcionan bajo el concepto de tablas hash. Considerando la ausencia de índices, este tipo de estructuras no son útiles para realizar operaciones complejas con los datos, solo soportan sentencias simples de creación, lectura, actualización y eliminación.
![Page 13: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/13.jpg)
Llave / Valor - Cassandra
Bases de datos noSQL
Apache Cassandra es una base de datos NoSQL distribuida y basada en un modelo de almacenamiento de «clave-valor», escrita en Java.
Permite grandes volúmenes de datos en forma distribuida. Por ejemplo, lo usa Twitter para su plataforma.
Su objetivo principal es la escalabilidad lineal y la disponibilidad. La arquitectura distribuida de Cassandra está basada en una serie de nodos iguales que se comunican con un protocolo P2P con lo que la redundancia es máxima.
Cassandra está desarrollada por Apache Software Foundation.
![Page 14: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/14.jpg)
Llave / Valor - Redis
Bases de datos noSQL
Redis es Open Source, con licencia BSD, que permite el almacenamiento clave valor tanto en memoria como en disco.
Las claves pueden contener texto, hashes, listas, conjuntos, bitmaps o hyperlogs.
Permite suscribirse a la información, por lo que n clientes pueden recibir la información al momento.
![Page 15: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/15.jpg)
Orientadas a Documentos
Bases de datos noSQL
La arquitectura basada en documentos utiliza una estructura compleja de datos denominada documento para almacenar los campos de cada registro. Se pueden generar arreglos de registros o anidamientos de documentos. Estas estructuras de datos son del tipo JavaScript Object Notation (JSON), XML o BSON o del tipo binario como PDF
![Page 16: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/16.jpg)
MongoDB
Bases de datos noSQL
Sistema de base de datosNoSQL orientado a documentos, desarrollado bajo el concepto de código abierto.
MongoDB forma parte de la nueva familia de sistemas de base de datos NoSQL. En vez de guardar los datos en tablas como se hace en las base de datos relacionales, MongoDB guarda estructuras de datos en documentos tipo JSON con un esquema dinámico (MongoDB llama ese formato BSON), haciendo que la integración de los datos en ciertas aplicaciones sea más fácil y rápida.
Posee algunas características de las bases de datos tradicionales, como transaccionalidad a nivel de documento, índices…
Además, permite un escalamiento horizontal.
![Page 17: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/17.jpg)
Columnar
Bases de datos noSQL
El modelo de columnar utiliza el esquema de llave/valor para almacenar la información pero introduce un patrón de jerarquías y un semi-esquema para ordenar y almacena los datos, generando las columnas por la que es llamada esta arquitectura. Las filas contenidas en esta base de datos pueden variar, es decir pueden contener un número diferente de campos ya que es una propiedad de los registros llave/valor. Las tablas de estas bases de datos deben ser declaradas, lo cual amarra a este tipo de bases a la presencia de esquemas definidos para trabajar los datos.
![Page 18: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/18.jpg)
Columnar - DynamoDB
Bases de datos noSQL
Amazon DynamoDB es un servicio de base de datos NoSQL rápido y flexible para todas las aplicaciones que requieren latencias de milisegundos de un solo dígito constantes a cualquier escala. Se trata de una base de datos totalmente gestionada compatible con modelos de datos de valor de clave y de documentos. Su modelo de datos flexible y su rendimiento fiable la convierten en una herramienta ideal para móviles, web, juegos, tecnología publicitaria, Internet de las cosas (IoT) y muchas otras aplicaciones.
![Page 19: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/19.jpg)
Grafos
Bases de datos noSQL
Las bases de datos de grafos reconocen entidades en un negocio o dominio, y explícitamente siguen las relaciones entre estas. Las entidades reciben el nombre de nodos y las relaciones el nombre de aristas. Nuevas aristas pueden ser agregadas en cualquier momento, permitiendo relaciones uno a muchos o muchos a muchos de una manera sencilla, evitando el uso de tablas intermedias para la representación de esta unión, como será en el caso en una base de datos relacional. Estas bases de datos se enfocan más en las relaciones de los datos, más que en las características de sus valores.
![Page 20: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/20.jpg)
Grafos - neo4j
Bases de datos noSQL
Neo4j es altamente escalable, robusta base de datos orientada a grafos (full ACID) . Es utilizada por miles de startups, compañías y gobiernos. Sus características principales son las siguiente:
➢ Alto rendimiento para datos altamente conectados.
➢ Alta disponibilidad en Clúster.
➢ Cypher, un lenguaje de queries para grafos.
➢ ETL, fácil importar a través de un CSV
➢ Backups en caliente y monitorización avanzada.
![Page 21: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/21.jpg)
Big Query
➢ Big Query permite que los datos puedan ser consumidos y utilizados utilizando SQL - like queries que utilizan la infraestructura de Google para realizar computación paralela.
DWS Big Data
https://cloud.google.com/bigquery/what-is-bigquery
![Page 22: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/22.jpg)
Amazon Redshift
➢ Amazon Redshift es una solución rápida y totalmente gestionada de almacén de datos a escala de petabytes que permite analizar todos los datos empleando de forma sencilla y rentable las herramientas de inteligencia empresarial de que ya disponga.
DWS Big Data
http://aws.amazon.com/es/redshift/
![Page 23: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/23.jpg)
Hadoop
➢ Es una framework que permite la computación de dataset con gran cantidad de datos usando modelos de programación simple.
➢ Está diseñado para escalar hasta ciento de máquinas.
➢ La arquitectura está diseñada para detectar y manejar fallos en la capa de aplicación.
Procesando los datos
http://hadoop.apache.org/
![Page 24: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/24.jpg)
AWS Elastic Map Reduce
➢ Es un web service que hace más fácil el proceso de ingentes cantidades de datos. Amazon EMR usas Hadoop, para distribuir los datos a través del clúster formado por Amazon EC2.
➢ También puede ejecutar otros frameworks como Spark y Presto.
Procesando batch
http://aws.amazon.com/elasticmapreduce/
![Page 25: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/25.jpg)
Storm
Es una tecnología open source que permite el procesamiento en tiempo real de datos.El funcionamiento es simple, va procesando millones de tuplas por segundo, en una arquitectura escalable, orientada a fallos que garantiza que tus datos van a ser procesados
Procesamiento online
https://storm.apache.org/
![Page 26: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/26.jpg)
Storm
Procesamiento online
https://storm.apache.org/
![Page 27: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/27.jpg)
Descripción
Es un conjunto de principios para una arquitectura de sistemas Big Data en Tiempo Real.
Tres capas:
❏ Batch layer
❏ Serving layer
❏ Speed layer
Arquitectura Lambda
https://unpocodejava.wordpress.com/2013/09/07/arquitectura-lambda-principios-de-arquitectura-para-sistemas-big-data-en-tiempo-real/
![Page 28: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/28.jpg)
Batch Layer
Almacena en HDFS el dataset maestro que es inmutable y constantemente creceCrear vistas arbitrarias desde este
dataset vía MapReduce (Hive, Pig,…).
Arquitectura Lambda
https://unpocodejava.wordpress.com/2013/09/07/arquitectura-lambda-principios-de-arquitectura-para-sistemas-big-data-en-tiempo-real/
![Page 29: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/29.jpg)
Serving Layer
Se encarga de indexar y exponer las vistas para que puedan ser consultadas.Como las Vistas Batch son estáticas esta Capa sólo necesita proveer lecturas y para eso puede usar Impala, Stinger,…
Arquitectura Lambda
https://unpocodejava.wordpress.com/2013/09/07/arquitectura-lambda-principios-de-arquitectura-para-sistemas-big-data-en-tiempo-real/
![Page 30: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/30.jpg)
Speed Layer
Computa Vistas cuando llegan los datos.Esta Capa sirve para compensar la alta latencia de la Capa Batch generando vistas en tiempo real usando pj Storm
Arquitectura Lambda
https://unpocodejava.wordpress.com/2013/09/07/arquitectura-lambda-principios-de-arquitectura-para-sistemas-big-data-en-tiempo-real/
![Page 31: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/31.jpg)
Al desarrollar una API
➢ Selección de la base de datos noSQL según el teorema CAP. Pueden coexistir bases de datos noSQL con SQL.
➢ Utilizar el mundo cloud como base.➢ Utilizar las tecnologías que mejor se ajusten a tu negocio (tener
en cuenta arquitectura Lambda).➢ Usar formato ligeros de datos (por ejemplo, peticiones rest).➢ No utilizar sesión en las peticiones.➢ Al invocar servicios de terceros se deben realizar siempre de
forma asíncrona
Arquitectura de Apis
![Page 32: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/32.jpg)
Ejemplos: Twitter
Arquitectura de Apis
➢ Red social que permite dejar mensajes de 140 caracteres.
source:http://www.slideshare.net/raffikrikorian/qcon-nyc-2012-twitters-real-time-architecture
![Page 33: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/33.jpg)
Ejemplos: Twitter
Arquitectura de Apis
![Page 34: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/34.jpg)
Ejemplos: NetFlix
Arquitectura de Apis
➢ Empresa que proporciona contenidos digitales
➢ Cerró su API en Marzo 2013
![Page 35: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/35.jpg)
Ejemplos: NetFlix
Arquitectura de Apis
![Page 36: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/36.jpg)
Ejemplos: QuickBlox
Arquitectura de Apis
➢ Es una solución PaaS diseñada para simplificar el desarrollo de aplicaciones móviles.
![Page 37: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/37.jpg)
Ejemplos: QuickBlox
Arquitectura de Apis
![Page 38: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/38.jpg)
Ejemplos: Linkedin
Arquitectura de Apis
➢ Obtener distancia entre usuarios
Source: https://engineering.linkedin.com/real-time-distributed-graph/using-set-cover-algorithm-optimize-query-latency-large-scale-distributed
![Page 39: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/39.jpg)
Ejemplos: Smartvel
Arquitectura de Apis
➢ Obtiene eventos en destino
Source: http://www.smartvel.com/
![Page 40: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/40.jpg)
Ejemplos: Mobdala
Arquitectura de Apis
➢ Permite realizar tracking de tu aplicación y enviar mensajes geolocalizados
Source: http://www.mobdala.com/
![Page 41: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/41.jpg)
¿qué son?
➢ Aplicación web que usa contenido de más de una fuente y que generalmente
➢ Su principal característica es combinación, visualización y agregación
source: http://en.wikipedia.org/wiki/Mashup_%28web_application_hybrid%29
Mashups
![Page 42: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/42.jpg)
Directorios de Apis
source: https://developers.bbva.com/
➢ Directorio de Apis Públicas○ ProgramableWeb○ apis.io○ http://api500.com/ (api rating
agency)○ Google :-)
Mashups
![Page 43: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/43.jpg)
Principales categorías de Apis
source: http://www.slideshare.net/fullscreen/programmableweb/fastest-growing-web-api-categories-last-6-months/2
Mashups
![Page 44: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/44.jpg)
➢ http://books.google.es/books?id=HpHcGAkFEjkC&printsec=frontcover&source=gbs_ge_summary_r&cad=0#v=onepage&q&f=false
➢ http://www.slideshare.net/BernardMarr/140228-big-data-slide-share➢ http://www.slideshare.net/IMEXresearch/big-data-overview-9997959?next
_slideshow=1➢ http://www.slideshare.net/dpottecher/20141113-big-tourismmygosunbigda
ta?qid=52b87c49-1c33-4326-8f5d-9254ce57b4bd&v=default&b=&from_search=1
➢ http://slides.com/vadail/bigdata#/
Referencias
![Page 45: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/45.jpg)
Ruegos y preguntas
![Page 46: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/46.jpg)
Contacta en:
Email: [email protected]
Web:
http://www.meetup.com/APIAddicts
Siguenos en:
Linkedin:ApiAddicts
Twitter: @apiaddicts
Facebook: APIAddicts
Meetup: APIAddicts
Contacta
![Page 47: Big data y las apis (big data spain)](https://reader030.vdocuments.us/reader030/viewer/2022032503/55c0bfb7bb61eb09118b469a/html5/thumbnails/47.jpg)