SlideShare une entreprise Scribd logo
1  sur  47
El mundo Big Data y las APIs
Marco Antonio Sanz
Í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
¿Quienes somos?
Grupo de meetup
http://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/
Patrocinadores
www.cloudappi.net
¿qué nos ofrece?
➢ know - how de apis
➢ ejemplos de arquitecturas
➢ Del internet de las cosas...
¿Cómo se van a conectar?
Internet de las APIs
¿Por qué unir Big Data y las Apis?
¿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…)
¿Qué es Big Data?
¿Qué es Big Data?
➢ Conjunto de tecnologías
que permiten la
acumulación masiva de
datos.
Convirtiendo Big Data en Valor
The Four V’s
http://www.slideshare.net/BernardMarr/140228-big-data-slide-share
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/
LandScape MAP
Bases de datos noSQL
http://files.meetup.
com/1789394/Matt
%20Aslett%20-
%20DB%20landsc
ape.pdf
Arquitecturas
Bases de datos noSQL
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.
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.
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.
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
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.
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.
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.
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.
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.
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
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/
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/
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/
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/
Storm
Procesamiento online
https://storm.apache.org/
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/
Batch Layer
Almacena en HDFS el dataset
maestro que es inmutable y
constantemente crece
Crear 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/
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/
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/
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
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
Ejemplos: Twitter
Arquitectura de Apis
Ejemplos: NetFlix
Arquitectura de Apis
➢ Empresa que
proporciona contenidos
digitales
➢ Cerró su API en Marzo
2013
Ejemplos: NetFlix
Arquitectura de Apis
Ejemplos: QuickBlox
Arquitectura de Apis
➢ Es una solución PaaS
diseñada para simplificar
el desarrollo de
aplicaciones móviles.
Ejemplos: QuickBlox
Arquitectura de Apis
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
Ejemplos: Smartvel
Arquitectura de Apis
➢ Obtiene eventos en
destino
Source: http://www.smartvel.com/
Ejemplos: Mobdala
Arquitectura de Apis
➢ Permite realizar tracking de tu
aplicación y enviar mensajes
geolocalizados
Source: http://www.mobdala.com/
¿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_hybri
d%29
Mashups
Directorios de Apis
source: https://developers.bbva.com/
➢ Directorio de Apis Públicas
○ ProgramableWeb
○ apis.io
○ http://api500.com/ (api rating
agency)
○ Google :-)
Mashups
Principales categorías de Apis
source: http://www.slideshare.net/fullscreen/programmableweb/fastest-growing-web-api-
categories-last-6-months/2
Mashups
➢ http://books.google.es/books?id=HpHcGAkFEjkC&printsec=frontcover&s
ource=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-
tourismmygosunbigdata?qid=52b87c49-1c33-4326-8f5d-
9254ce57b4bd&v=default&b=&from_search=1
➢ http://slides.com/vadail/bigdata#/
Referencias
Ruegos y preguntas
Contacta en:
Email: admin@apiaddicts.org
Web:
http://www.meetup.com/APIAddicts
Siguenos en:
Linkedin:ApiAddicts
Twitter: @apiaddicts
Facebook: APIAddicts
Meetup: APIAddicts
Contacta
El mundo Big Data y las APIs: una introducción a las tecnologías y arquitecturas

Contenu connexe

En vedette

Big Data as PaaS in Enterprises
Big Data as PaaS in EnterprisesBig Data as PaaS in Enterprises
Big Data as PaaS in EnterprisesPankaj Khattar
 
BIG DATA en CLOUD PaaS para Internet de las Cosas (IoT)
BIG DATA en CLOUD PaaS para Internet de las Cosas (IoT)BIG DATA en CLOUD PaaS para Internet de las Cosas (IoT)
BIG DATA en CLOUD PaaS para Internet de las Cosas (IoT)pmluque
 
Freedata: la aplicación del Big Data al ehealth
Freedata: la aplicación del Big Data al ehealthFreedata: la aplicación del Big Data al ehealth
Freedata: la aplicación del Big Data al ehealthAna Lorenzo Morales
 
El mundo Big Data y las APIs
El mundo Big Data y las APIsEl mundo Big Data y las APIs
El mundo Big Data y las APIsBig Data Spain
 
The architecture of data analytics PaaS on AWS
The architecture of data analytics PaaS on AWSThe architecture of data analytics PaaS on AWS
The architecture of data analytics PaaS on AWSTreasure Data, Inc.
 
Internet of Things and Data Analytics for Smart Cities
Internet of Things and Data Analytics for Smart CitiesInternet of Things and Data Analytics for Smart Cities
Internet of Things and Data Analytics for Smart CitiesPayamBarnaghi
 

En vedette (9)

D naiyer resume
D naiyer resumeD naiyer resume
D naiyer resume
 
Big Data as PaaS in Enterprises
Big Data as PaaS in EnterprisesBig Data as PaaS in Enterprises
Big Data as PaaS in Enterprises
 
BIG DATA en CLOUD PaaS para Internet de las Cosas (IoT)
BIG DATA en CLOUD PaaS para Internet de las Cosas (IoT)BIG DATA en CLOUD PaaS para Internet de las Cosas (IoT)
BIG DATA en CLOUD PaaS para Internet de las Cosas (IoT)
 
Freedata: la aplicación del Big Data al ehealth
Freedata: la aplicación del Big Data al ehealthFreedata: la aplicación del Big Data al ehealth
Freedata: la aplicación del Big Data al ehealth
 
El mundo Big Data y las APIs
El mundo Big Data y las APIsEl mundo Big Data y las APIs
El mundo Big Data y las APIs
 
The architecture of data analytics PaaS on AWS
The architecture of data analytics PaaS on AWSThe architecture of data analytics PaaS on AWS
The architecture of data analytics PaaS on AWS
 
Del Dr. Google al e-Paciente
Del Dr. Google al e-PacienteDel Dr. Google al e-Paciente
Del Dr. Google al e-Paciente
 
Building a Data Analytics PaaS for Smart Cities
Building a Data Analytics PaaS for Smart CitiesBuilding a Data Analytics PaaS for Smart Cities
Building a Data Analytics PaaS for Smart Cities
 
Internet of Things and Data Analytics for Smart Cities
Internet of Things and Data Analytics for Smart CitiesInternet of Things and Data Analytics for Smart Cities
Internet of Things and Data Analytics for Smart Cities
 

Similaire à El mundo Big Data y las APIs: una introducción a las tecnologías y arquitecturas

Similaire à El mundo Big Data y las APIs: una introducción a las tecnologías y arquitecturas (20)

Apache cassandra
Apache cassandraApache cassandra
Apache cassandra
 
Base de datos3
Base de datos3Base de datos3
Base de datos3
 
Actividad 4
Actividad 4Actividad 4
Actividad 4
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Nosql
NosqlNosql
Nosql
 
Base de datos no sql
Base de datos no sqlBase de datos no sql
Base de datos no sql
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
No sql la nueva era
No sql la nueva eraNo sql la nueva era
No sql la nueva era
 
Industria 4.0 2017 - Almacenamiento y procesamiento de datos en la nube
Industria 4.0 2017 - Almacenamiento y procesamiento de datos en la nubeIndustria 4.0 2017 - Almacenamiento y procesamiento de datos en la nube
Industria 4.0 2017 - Almacenamiento y procesamiento de datos en la nube
 
Bases de datos
Bases de datos Bases de datos
Bases de datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Principales bases de datos
Principales bases de datosPrincipales bases de datos
Principales bases de datos
 
Base de datos ryjt
Base de datos ryjtBase de datos ryjt
Base de datos ryjt
 
02 base de datos hernandez_luis
02 base de datos hernandez_luis02 base de datos hernandez_luis
02 base de datos hernandez_luis
 
Base de datos
Base de datosBase de datos
Base de datos
 
Bases de Datos
Bases de Datos Bases de Datos
Bases de Datos
 
Motores de bases de datos open source
Motores de bases de datos open sourceMotores de bases de datos open source
Motores de bases de datos open source
 
Base de Datos
Base de DatosBase de Datos
Base de Datos
 
Base de datos
Base de datosBase de datos
Base de datos
 
Principales bases de datos
Principales bases de datosPrincipales bases de datos
Principales bases de datos
 

Plus de CloudAppi

Meme teambuilding
Meme teambuildingMeme teambuilding
Meme teambuildingCloudAppi
 
Api managers
Api managersApi managers
Api managersCloudAppi
 
Cloud appi transformacion digital
Cloud appi   transformacion digitalCloud appi   transformacion digital
Cloud appi transformacion digitalCloudAppi
 
Marco antonio sanz
Marco antonio sanzMarco antonio sanz
Marco antonio sanzCloudAppi
 
Desarrolla tu primera api con spring boot
Desarrolla tu primera api con spring bootDesarrolla tu primera api con spring boot
Desarrolla tu primera api con spring bootCloudAppi
 
Gobierno de apis
Gobierno de apisGobierno de apis
Gobierno de apisCloudAppi
 
Api managers
Api managersApi managers
Api managersCloudAppi
 
El mundo cloud y las apis
El mundo cloud y las apisEl mundo cloud y las apis
El mundo cloud y las apisCloudAppi
 
Las apis como modelo de negocio
Las apis como modelo de negocioLas apis como modelo de negocio
Las apis como modelo de negocioCloudAppi
 
Seguridad en las apis desde un punto de vista de developer
Seguridad en las apis desde un punto de vista de developerSeguridad en las apis desde un punto de vista de developer
Seguridad en las apis desde un punto de vista de developerCloudAppi
 
Taller definición de apis
Taller definición de apisTaller definición de apis
Taller definición de apisCloudAppi
 
Mada metodología ágil de desarrollo de apis
Mada   metodología ágil de desarrollo de apisMada   metodología ágil de desarrollo de apis
Mada metodología ágil de desarrollo de apisCloudAppi
 

Plus de CloudAppi (12)

Meme teambuilding
Meme teambuildingMeme teambuilding
Meme teambuilding
 
Api managers
Api managersApi managers
Api managers
 
Cloud appi transformacion digital
Cloud appi   transformacion digitalCloud appi   transformacion digital
Cloud appi transformacion digital
 
Marco antonio sanz
Marco antonio sanzMarco antonio sanz
Marco antonio sanz
 
Desarrolla tu primera api con spring boot
Desarrolla tu primera api con spring bootDesarrolla tu primera api con spring boot
Desarrolla tu primera api con spring boot
 
Gobierno de apis
Gobierno de apisGobierno de apis
Gobierno de apis
 
Api managers
Api managersApi managers
Api managers
 
El mundo cloud y las apis
El mundo cloud y las apisEl mundo cloud y las apis
El mundo cloud y las apis
 
Las apis como modelo de negocio
Las apis como modelo de negocioLas apis como modelo de negocio
Las apis como modelo de negocio
 
Seguridad en las apis desde un punto de vista de developer
Seguridad en las apis desde un punto de vista de developerSeguridad en las apis desde un punto de vista de developer
Seguridad en las apis desde un punto de vista de developer
 
Taller definición de apis
Taller definición de apisTaller definición de apis
Taller definición de apis
 
Mada metodología ágil de desarrollo de apis
Mada   metodología ágil de desarrollo de apisMada   metodología ágil de desarrollo de apis
Mada metodología ágil de desarrollo de apis
 

Dernier

La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxJOSEFERNANDOARENASCA
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxAlexander López
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.241514949
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELmaryfer27m
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptJavierHerrera662252
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMidwarHenryLOZAFLORE
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..RobertoGumucio2
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaarkananubis
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadMiguelAngelVillanuev48
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxMariaBurgos55
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxaylincamaho
 

Dernier (20)

La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Arenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptxArenas Camacho-Practica tarea Sesión 12.pptx
Arenas Camacho-Practica tarea Sesión 12.pptx
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptxGoogle-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
Google-Meet-como-herramienta-para-realizar-reuniones-virtuales.pptx
 
El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.El uso de las TIC's en la vida cotidiana.
El uso de las TIC's en la vida cotidiana.
 
El uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFELEl uso delas tic en la vida cotidiana MFEL
El uso delas tic en la vida cotidiana MFEL
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.pptTEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
TEMA 2 PROTOCOLO DE EXTRACCION VEHICULAR.ppt
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
Mapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptxMapa-conceptual-del-Origen-del-Universo-3.pptx
Mapa-conceptual-del-Origen-del-Universo-3.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..Plan Sarmiento - Netbook del GCBA 2019..
Plan Sarmiento - Netbook del GCBA 2019..
 
R1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en minaR1600G CAT Variables de cargadores en mina
R1600G CAT Variables de cargadores en mina
 
Presentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidadPresentación inteligencia artificial en la actualidad
Presentación inteligencia artificial en la actualidad
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Segunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptxSegunda ley de la termodinámica TERMODINAMICA.pptx
Segunda ley de la termodinámica TERMODINAMICA.pptx
 
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptxMedidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
Medidas de formas, coeficiente de asimetría y coeficiente de curtosis.pptx
 

El mundo Big Data y las APIs: una introducción a las tecnologías y arquitecturas

  • 1. El mundo Big Data y las APIs Marco Antonio Sanz
  • 2. Í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
  • 3. ¿Quienes somos? Grupo de meetup http://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/
  • 4. Patrocinadores www.cloudappi.net ¿qué nos ofrece? ➢ know - how de apis ➢ ejemplos de arquitecturas
  • 5. ➢ Del internet de las cosas... ¿Cómo se van a conectar? Internet de las APIs ¿Por qué unir Big Data y las Apis?
  • 6. ¿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…)
  • 7. ¿Qué es Big Data? ¿Qué es Big Data? ➢ Conjunto de tecnologías que permiten la acumulación masiva de datos.
  • 8. Convirtiendo Big Data en Valor The Four V’s http://www.slideshare.net/BernardMarr/140228-big-data-slide-share
  • 9. 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/
  • 10. LandScape MAP Bases de datos noSQL http://files.meetup. com/1789394/Matt %20Aslett%20- %20DB%20landsc ape.pdf
  • 12. 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.
  • 13. 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.
  • 14. 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.
  • 15. 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
  • 16. 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.
  • 17. 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.
  • 18. 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.
  • 19. 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.
  • 20. 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.
  • 21. 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
  • 22. 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/
  • 23. 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/
  • 24. 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/
  • 25. 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/
  • 27. 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/
  • 28. Batch Layer Almacena en HDFS el dataset maestro que es inmutable y constantemente crece Crear 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/
  • 29. 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/
  • 30. 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/
  • 31. 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
  • 32. 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
  • 34. Ejemplos: NetFlix Arquitectura de Apis ➢ Empresa que proporciona contenidos digitales ➢ Cerró su API en Marzo 2013
  • 36. Ejemplos: QuickBlox Arquitectura de Apis ➢ Es una solución PaaS diseñada para simplificar el desarrollo de aplicaciones móviles.
  • 38. 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
  • 39. Ejemplos: Smartvel Arquitectura de Apis ➢ Obtiene eventos en destino Source: http://www.smartvel.com/
  • 40. Ejemplos: Mobdala Arquitectura de Apis ➢ Permite realizar tracking de tu aplicación y enviar mensajes geolocalizados Source: http://www.mobdala.com/
  • 41. ¿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_hybri d%29 Mashups
  • 42. Directorios de Apis source: https://developers.bbva.com/ ➢ Directorio de Apis Públicas ○ ProgramableWeb ○ apis.io ○ http://api500.com/ (api rating agency) ○ Google :-) Mashups
  • 43. Principales categorías de Apis source: http://www.slideshare.net/fullscreen/programmableweb/fastest-growing-web-api- categories-last-6-months/2 Mashups
  • 44. ➢ http://books.google.es/books?id=HpHcGAkFEjkC&printsec=frontcover&s ource=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- tourismmygosunbigdata?qid=52b87c49-1c33-4326-8f5d- 9254ce57b4bd&v=default&b=&from_search=1 ➢ http://slides.com/vadail/bigdata#/ Referencias
  • 46. Contacta en: Email: admin@apiaddicts.org Web: http://www.meetup.com/APIAddicts Siguenos en: Linkedin:ApiAddicts Twitter: @apiaddicts Facebook: APIAddicts Meetup: APIAddicts Contacta