SlideShare uma empresa Scribd logo
1 de 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
Big data y las apis (big data spain)

Mais conteúdo relacionado

Destaque

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
 

Destaque (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
 

Semelhante a Big data y las apis (big data spain) (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
 

Mais 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
 

Mais 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
 

Último

Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 

Último (12)

Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 

Big data y las apis (big data spain)

  • 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