Está en la página 1de 457

[AFO017713] IFCT127PO ARQUITECTURA BIG DATA

[MOD015921] IFCT127PO ARQUITECTURA BIG DATA


[UDI080712] BATCH PROCESSING.

Introducción

Batch processing (Sistema por lotes en español) hace referencia a la ejecución de un programa sin

control por parte del usuario.

Normalmente se usa para realizar tareas que son repetitivas sobre grandes lotes de información.

Es normal que estos programas se ejecuten a través de scripts en los que dentro suele estar

m
indicado que acciones van a ser ejecutadas por dicho script y, normalmente, los recursos que va a

co
necesitar para llevarlo a cabo.

a.
op
ur
oe
ut
it
st
s .in

Existen varios programas que funcionan usando batch processing, por ejemplo:
do
ca

GIMP (GNU Image Manipulation Program)


ifi

Gnuplot
rt

EXEC II
ce

Command.com

GNU Octave

Generalmente, casi en todos los casos, un programa podría ser ejecutado en modo batch, siempre

que se pueda especificar qué pasos existen para su ejecución mediante un script.

No se debe confundir el procesamiento por lotes con los archivos que tengan extensión .bat de los

certificados.institutoeuropa.com
1 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

sistemas batch.

Los archivos .bat se ejecutan de manera secuencial y el usuario no puede hacer nada

(Interaccionar) mientras que este se está ejecutando.

Por otro lado tenemos los sistemas por batch que son una forma de hacer el proceso de la

información en lenguaje llano. Estos sistemas son ejecutados de forma secuencial también pero no

porque el programa en sí se lo exija (Como los archvos .bat), sino porque no conocen otra forma de

m
ejecutarse.

co
Como introducción tenemos varios apartados interesantes que nos serán de ayuda para adentrarnos

a.
en profundidad.

op
Hadoop nace en el momento en que Google necesita urgentemente una solución con la que pueda

ur
continuar procesando datos al ritmo que el mercado le demanda.
oe
Pig es una plataforma creada por Yahoo que nos ayuda a desarrollar algoritmos MapReduce.
ut
it

Apache sqoop es una herramienta que fue diseñada para importar información desde bases de
st

datos estructuradas y sistemas Hadoop en el clúster Hadoop.


.in

Apache Spark es un framework de computación en clúster diseñado para una rápida computación.
s
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
2 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

Objetivos

Dentro de esta unidad vamos a ver varios tipos de herramientas que nos serán de ayuda para

empezar a desarrollarnos dentro del batch processing:

Conocer la definición de la herramienta Hadoop.

Conocer la definición de la herramienta Pig.

Conocer la definición de la herramienta Hive.

m
Conocer la definición de la herramienta Sqoop.

co
Conocer la definición de la herramienta Flume.

a.
Conocer la definición de la herramienta Spark Core.

op
Conocer la definición de la herramienta Spark 2.0.

ur
Conocer las funciones y usos de las herramientas anteriormente mencionadas
oe
dentro de un entorno adaptado a nuestras necesidades.
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
3 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

Mapa Conceptual

[[[Elemento Multimedia]]]

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
4 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

Hadoop.

¿Qué es HADOOP?

Podríamos empezar esta nueva unidad comentando que Hadoop nace en el momento en que Google

necesita urgentemente una solución con la que pueda continuar procesando datos al ritmo que el

mercado le demanda ya que Google en sus inicios creció de forma exponencial. Google decide

buscar una solución y esta solución se basa en un sistema de archivos distribuidos. Más tarde se

m
denominará Hadoop y se basa en un gran número de pequeños ordenadores, cada uno de los cuales

co
se encarga de procesar una parte de la información.

a.
Lo novedoso y la excelencia del sistema es que a pesar de que cada uno de ellos funciona de forma

op
independiente y autónoma, todos actúan en conjunto como si fueran un solo ordenador de

ur
dimensiones increíbles. oe
En 2006, Google publica todos los detalles acerca de su nuevo descubrimiento, compartiendo su
ut

conocimiento y experiencia con todos los usuarios. Esto despierta el interés de la comunidad Open
it

Source que viendo las nuevas oportunidades que surgirán, explotan sus posibilidades desarrollando
st

una implementación a la que denominan Hadoop.


.in

A partir de entonces son muchas las empresas que lo incorporan a sus plataformas, como ya
s
do

veremos y que fomentan y apoyan la investigación de la comunidad de Open Source.


ca

Conceptos previos
ifi

Es necesario conocer de forma muy clara algunos conceptos antes de profundizar en Hadoop.
rt
ce

Ley de Moore: Originado en la década de los 60’s, establece que la velocidad del procesador o

el poder de procesamiento total de las computadoras se duplica cada doce meses.

Nodo: PC o equipo físico que posee, como tal, su propio hardware y software.

certificados.institutoeuropa.com
5 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

Rack: Es un conjunto de 1 a n nodos que se suelen aunar en estructuras metalizas y están

conectados a una misma red.

m
co
a.
op
Clúster: Conjunto de 1 a n racks unidos entre sí por una misma red y que se comportan como

un único ordenador.

ur
oe
ut
it
st
s .in
do
ca
ifi

Hadoop
rt

Según la definición del propio proyecto Hadoop:


ce

“The Apache™ Hadoop® project develops open‐source software for reliable, scalable, distributed

computing.”

Apache Hadoop es por lo tanto un framework de software libre que permite escribir y ejecutar

aplicaciones en sistemas distribuidos para procesar grandes cantidades de datos. Está diseñado para

escalar de servidores individuales a miles de máquinas, cada una con el procesamiento y el

almacenamiento local.

certificados.institutoeuropa.com
6 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

En lugar de confiar en el hardware para ofrecer alta disponibilidad, el framework en sí está diseñado

para detectar y controlar los errores en la capa de aplicación, facilitando un servicio de alta

disponibilidad en la capa superior, haciendo transparente al usuario la posible caída de un nodo.

El framework de Hadoop está escrito en Java y es una evolución del subproyecto Nutch que a su vez

fue un subproyecto de Lucene, todos ellos desarrollados por Doug Cutting, que nombró el proyecto

en honor al elefante de juguete de su hijo.

m
co
a.
op
Lucene es un proyecto Java orientado a la búsqueda e indexación de texto. Aunque ha sido utilizado

ur
para la implementación de motores de búsquedas ya que es capaz de procesar millones de
oe
documentos, es útil para cualquier aplicación que requiera indexación y búsqueda de textos

completos.
ut
it

Nutch es una extensión de Lucene que permite construir un motor de búsquedas web, usando
st

Lucene como su núcleo. Es capaz de procesar miles de millones de páginas web sin llegar a tener
.in

un coste exorbitante. Otra diferencia con Lucene, es que Nutch debe correr sobre un clúster

distribuido. Para ello, se tuvo que crear una capa que permitiera gestionar el procesamiento
s
do

distribuido, la redundancia, el balanceo de carga y recuperación frente a fallos.


ca
ifi
rt
ce

Alrededor de 2004, Google publicó dos papers describiendo Google File System (GFS) y el

certificados.institutoeuropa.com
7 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

framework de MapReduce. Doug Cutting implementó una evolución del framework de Nutch basado

en estas tecnologías y rápidamente superó las capacidades de Nutch pudiendo procesar varios

cientos de miles de páginas web en clusters de docenas de nodos.

Aunque el concepto de programación distribuida está muy extendido, los puntos clave de Hadoop

son por lo tanto:

Accesible: Hadoop se ejecuta en grandes grupos de máquinas en clústeres o en nubes tales

m
como Amazon’s Elastic Compute Cloud (EC2).

co
Robusto: Debido a que está pensado para funcionar con hardware de equipos básicos, Hadoop

a.
está diseñado para trabajar pese a que se sufran frecuentes averías hardware. Gracias a ello,

op
es capaz de manejar la mayoría de estos fallos.

Escalable: Hadoop permite el escalado horizontal para gestionar volúmenes de datos más

ur
grandes mediante la replicación, añadiendo más nodos al clúster.
oe
Simple: Hadoop permite a los usuarios escribir código eficiente en paralelo empleando
ut

conceptos complejos como MapReduce o el sistema distribuido de archivos HDFS diseñado en


it

base al GSF de Google.


st
.in

Profundizando un poco más, Hadoop es un sistema distribuido usando una arquitectura Master-
s

Slave (maestro-esclavo), usado para almacenar su Hadoop Distributed File System (HDFS) y
do

algoritmos de MapReduce para hacer cálculos.


ca

Hadoop corre sobre Linux. Hay varias formas de utilizar Hadoop. Dependiendo de nuestras
ifi

necesidades podemos optar por varios tipos de instalación o modos de funcionamiento:


rt
ce

Un único nodo en local (single node), utilizado por ejemplo para hacer pruebas de concepto

corriendo Hadoop en una misma máquina.

Un clúster pseudo-distribuido para simular un clúster de varios nodos pero corriendo en una

misma máquina es decir en la misma máquina virtual Java.

Montar un clúster entre distintas máquinas (multi node) totalmente distribuido que sería el

modo que utilizaríamos para montar un sistema Big Data en producción.

Hadoop requiere un entorno de programación Java. Destacar que los usuarios de Linux o Mac OSX

certificados.institutoeuropa.com
8 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

u otros entornos Unix son capaces de instalar Hadoop y ejecutarlo en una o más maquinas sin más

necesidad de software que Java. El resto de usuarios necesitan una máquina virtual. Por esta razón

es muy útil conocer y manejar los comandos Linux.

Ecosistema Hadoop

Este ecosistema cambia muy rápido con lo que es bueno revisarlo cada cierto periodo de tiempo.

Aquí se muestran los proyectos más comunes.

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

Monitorización

Como herramientas de monitorización tenemos:

Chukwa (http://chukwa.apache.org/): Es un sistema de captura de datos y framework de análisis

certificados.institutoeuropa.com
9 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

que trabaja con Hadoop para procesar y analizar grandes volúmenes de logs. Incluye herramientas

para mostrar los datos capturados.

La documentación se encuentra en su wiki: http://wiki.apache.org/hadoop/Chukwa

La arquitectura de Chukwa es la que se muestra en la figura siguiente:

m
co
a.
op
ur
oe
ut
it
st

Apache Ambari (https://ambari.apache.org/): Es una herramienta web para la monitorización y


.in

gestión de los clúster de Hadoop. Posee dashboards de mapas de calor para visualizar el estado del
s

clúster y también permite la visualización de aplicaciones como MapReduce, Hive, etc…


do

La documentación y tutoriales en su wiki:


ca

https://cwiki.apache.org/confluence/display/AMBARI/Ambari
ifi
rt

Flume https://flume.apache.org/: En inglés se denomina Flume a un canal de agua artificial para


ce

mover troncos (logs). Es un sistema distribuido para agregar y mover grandes cantidades de

archivos de logs de diferentes orígenes, servidores, a un repositorio central, simplificando el proceso

de recolectar estos datos para almacenarlos en Hadoop y poder analizarlos.

certificados.institutoeuropa.com
10 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

m
co
a.
En el siguiente enlace se puede encontrar un manual de uso:

op
https://flume.apache.org/FlumeUserGuide.html

ur
La arquitectura e integración de Flume, donde se ve como diferentes agentes recogen ficheros log
oe
desde diferentes orígenes, los integran en un repositorio común para después analizarlos con
ut

Hadoop llevándolos primero a su sistema de archivos HDFS, se muestra en la figura siguiente:


it
st
s .in
do
ca
ifi
rt
ce

ZooKeeper https://zookeeper.apache.org/: Proporciona una infraestructura para gestionar sistemas

distribuidos y mantener la sincronización del clúster. Facilita un conjunto de primitivas simples que

pueden usar las aplicaciones distribuidas para implementar servicios de mayor nivel de

sincronización y configuración. Es fácil de programar y usa un modelo de datos del estilo de árbol de

certificados.institutoeuropa.com
11 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

directorios de los sistemas de archivos.

Procesamiento

MapReduce es un modelo de programación para dar soporte a la computación paralela sobre

grandes colecciones de datos en grupos de computadoras y al commodity computing. El nombre del

framework está inspirado en los nombres de dos importantes métodos, macros o funciones en

programación funcional: Map y Reduce. MapReduce ha sido adoptado mundialmente, ya que existe

m
una implementación OpenSource denominada Hadoop.

co
Avro https://avro.apache.org/: La serialización es el proceso mediante el cual se convierte un objeto

a.
a un formato para que pueda ser procesado y almacenado. Como en Hadoop se procesa una gran

op
cantidad de datos la serialización se usa para poder procesarlos y guardarlos de forma eficiente. La

ur
serialización puede ser en formato de texto plano, JSON o binario. De esta forma se pueden leer
oe
datos y almacenarlos de forma fácil desde diferentes lenguajes de programación.
ut

Hive https://hive.apache.org/: Facilita la lectura, escritura y gestión de grandes datasets


it

almacenados en Hadoop usando un lenguaje similar a SQL llamado HiveQL. En el siguiente enlace
st

se puede encontrar un manual de


.in

uso: https://cwiki.apache.org/confluence/display/Hive/GettingStarted
s
do
ca
ifi
rt

Esta imagen refleja el funcionamiento de Hive que funciona como una capa externa y por encima de
ce

Hadoop y desde donde vamos a poder realizar consultas sobre los ficheros de HDFS usando HiveQL.

certificados.institutoeuropa.com
12 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

HCatalog https://cwiki.apache.org/confluence/display/Hive/HCatalog+UsingHCat.

Es un servicio para la gestión de tablas y almacenamiento que proporciona un esquema común que

permite abstraerse de las diferentes estructuras de tablas, de cómo se almacenan y de los datos que

contienen, facilitando las operaciones de lectura y escritura.

m
co
a.
op
ur
oe
Mahout http://mahout.apache.org/: Es un proyecto de aprendizaje automático y minería de datos
ut

para la buscar patrones en grandes datasets.


it
st
s .in
do
ca
ifi
rt

Oozie http://oozie.apache.org/: Es un proyecto orientado a la programación de flujos de trabajo.


ce

Pig https://pig.apache.org/: Desarrollado por Yahoo, permite a los usuarios de Hadoop centrarse

más en el análisis de los datos y menos en la creación de programas MapReduce proporcionando un

lenguaje de alto nivel para el análisis y ejecución de procesos en paralelo. La documentación se

encuentra en http://pig.apache.org/docs/r0.16.0/index.html.

Spark http://spark.apache.org/: Es un motor de computación muy potente con un modelo de

programación muy simple que da soporte a múltiples aplicaciones.

certificados.institutoeuropa.com
13 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

Sqoop http://sqoop.apache.org/: /: Es una herramienta para la transferencia de grandes volúmenes

de datos entre bases de datos relacionales, Hadoop y viceversa.

m
co
a.
op
ur
oe
ut
it

Tez https://tez.apache.org/: Es una evolución del sistema MapReduce, que permite ejecutar varias
st

operaciones Map y/o reduce concatenadas. Estas tareas se pueden modelar en forma de grafo
.in

acíclico.
s
do
ca
ifi
rt
ce

Lucene https://lucene.apache.org/core/: Es un proyecto de Apache bastante popular para realizar

búsquedas sobre textos. Proporciona librerías para la indexación y búsqueda de texto. Ha sido

certificados.institutoeuropa.com
14 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

principalmente utilizado en la implementación de motores de búsqueda.

Bases de datos

m
Cassandra http://cassandra.apache.org/: Base de datos NoSQL distribuida basada en el modelo

co
clave-valor.

a.
HBase https://hbase.apache.org/: se trata de la base de datos de Hadoop. Es una base de datos

op
NoSQL distribuida, orientada a columnas para el almacenamiento de grandes volúmenes de datos.

ur
Es el componente necesario cuando se requiere escrituras/lecturas en tiempo real y acceso aleatorio
oe
para grandes conjuntos de datos.
ut
it
st
s .in
do
ca
ifi
rt
ce

¿Quién usa Hadoop?

Tal y como está publicado en la página de Apache Hadoop

http://wiki.apache.org/hadoop/PoweredBy se muestran a continuación algunas de las empresas que

usan Hadoop.

certificados.institutoeuropa.com
15 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

Módulos en Hadoop

m
Hadoop está inspirado en el proyecto de Google File System (Ghemawat, y otros, 2003) y en el

co
paradigma de programación MapReduce. Hadoop está compuesto de tres piezas fundamentales:

a.
Hadoop Distributed File System (HDFS), Hadoop MapReduce y Hadoop Common en los que

op
entraremos en detalle en los siguientes apartados:

ur
Hadoop Common: Utilidades comunes que dan soporte a otras aplicaciones Hadoop.
oe
Hadoop Distributed File System (HDFS): Sistema distribuido de ficheros que proporciona un
ut

alto rendimiento en el acceso a datos.


it

Hadoop MapReduce: Sistema para el procesamiento en paralelo de grandes volúmenes de


st

datos.
s .in
do
ca

Comenzar Actividad
ifi
rt

Relaciona los elementos de la columna Derecha con la columna Izquierda


ce

Apache Hadoop es 1 Un framework de software libre


que permite escribir y ejecutar
aplicaciones en sistemas
El framework de Hadoop está 2 distribuidos para procesar
escrito en Java y es grandes cantidades de datos.

Lucene es un proyecto Java 3 Una evolución del subproyecto


orientado a Nutch que a su vez fue un
subproyecto de Lucene, todos
ellos desarrollados por Doug
Cutting, que nombró el proyecto

certificados.institutoeuropa.com
16 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

en honor al elefante de juguete de


su hijo.

La búsqueda e indexación de
texto.

Podríamos empezar esta nueva unidad comentando que Hadoop nace en el


momento en que Google necesita urgentemente una solución con la que pueda

m
continuar procesando datos al ritmo que el mercado le demanda ya que Google
en sus inicios creció de forma exponencial.

co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
17 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

Pig.

Pig es una plataforma creada por Yahoo (a alto nivel) que nos ayuda a desarrollar algoritmos

MapReduce utilizando una sintaxis similar a SQL llamada Pig latin. Tiene dos modos de

funcionamiento permitiéndonos ejecutar los algoritmos en el cluster HDFS de Hadoop o en nuestra

maquina local. Utilizando un script se codificarán las sentencias que realizan la carga, escaneo,

búsqueda y filtrado de los datos de entrada y sentencias para el formateo y almacenamiento de los

datos de salida.

m
co
Podremos utilizar un schema para estructurarlos y poder acceder de manera más sencilla.

a.
Se puede ampliar Pig Latin usando UDF (Funciones definidas por el usuario).

op
ur
Estas funciones pueden estar desarrolladas en varios lenguajes de programación (Python, Ruby,

Java, Javascript,...) y luego llamarlas, de forma directa, desde el propio lenguaje.


oe
ut

Inicialmente Pig se desarrolló en 2006 por los investigadores de Yahoo Research para poder lanzar

un map-reduce sobre un gran volumen de datos.


it
st

En 2007, se trasladó a Apache Software Foundation.


s .in
do
ca
ifi
rt
ce

"Filosofía" Pig

Para poder comprender mejor el por qué se creó Pig, se definieron una lista de enunciados que

resumen el proyecto.

Estos enunciados son:

"Pigs eat anything": Haciendo referencia al símil de que un cerdo puede comer

certificados.institutoeuropa.com
18 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

cualquier cosa, Pig puede trabajar con cualquier tipo de datos, ya sea no

estructurado, estructurado ó semi-estructurado.

"Pigs live anywhere": En su creación, Pig fue implementado en Hadoop pero esto

no significa que solamente esté orientado a esta plataforma. Su intención es que

Pig sea utilizado como un lenguaje para el procesamiento paralelo.

"Pigs are domestic animals": Al igual que los "animales domésticos", Pig está

pensado para que los propios usuarios puedan controlar y modificar el

m
funcionamiento (conducta en el caso de los animales domésticos) de los

co
programas. Como indicamos en el apartado anterior, Pig puede crecer y aumentar

su funcionalidad mediante funciones que definan los propios usuarios (UDF). Esto

a.
hace que Pig pueda extenderse mediante UDFs para que realice un procesamiento

op
personalizado.

ur
"Pigs fly": El objetivo de Pig es procesar datos de forma muy rápida. No
oe
pretendemos mejorar las características sino el rendimiento para que realmente
ut

Pig pueda "volar".


it
st

¿Quién está usando Pig actualmente?


.in

Por supuesto, al ser el creador de dicha plataforma, Yahoo! fue el primero en utilizarla para sus
s
do

procesos de búsqueda en la web así como para incorporarlo en Hadoop.


ca

Realmente, más del 50% de los procesos que se ejecutan en Hadoop se basan en scripts escritos en
ifi

Pig Latin.
rt

A partir del 2009, Pig se empezó a usar para el procesamiento de datos en otras compañias, tales
ce

como:

LinkedIn: Esta plataforma usa Hadoop y Pig en el componente "Gente que podrías conocer"

para recomendar a los usuarios posibles conocidos, empleos o páginas que puedan ser de su

interés.

Twitter: Esta red social usa Pig para procesar logs de datos de los tweets enviados.

AOL y WhitePages: Estas páginas utilizan Pig para, en sus búsquedas de información, filtrar

certificados.institutoeuropa.com
19 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

los registros.

Pig Latin

Pig Latin es un lenguaje de programación que usa flujos de datos de forma paralela. Esto

permite a los programadores definir como deben ser tratados (Lectura, Procesamiento y

Almacenamiento) los datos que provienen de una o más entradas.

m
La sintaxis es muy parecida a SQL pero, al ser un lenguaje orientado a la transformación de datos

co
también es parecido a los optimizadores de consultas.

a.
Habitualmente utilizando MapReduce en Java, los programas pueden ser de más de 100 líneas de

op
código, mientras que utilizando Pig Latin, los scripts normalmente no suelen pasar de unas 10 líneas

ur
de código. oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
20 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

El método de funcionamiento de Pig Latin es el de ejecutar sentencias tomando los datos de entrada

("bag") que hacen referencia a un conjunto de tuplas (filas), procesando dichas sentencias con

dichas tuplas y emitiendo otro "bag" como salida.

Una "tupla" es un conjunto de campos, donde cada uno hace referencia a cualquier tipo de dato. Pig

Latin no utiliza condicionales tales como "if" ni tampoco ciclos tales como "for" ya que este

lenguaje está enfocado en el flujo de datos y no en controlar dicho flujo como otros lenguajes de

m
programación.

co
Pig Latin usa operadores relacionales para poder realizar varias operaciones sobre los datos que

a.
se analizan.

op
Aunque anteriormente hemos dicho que Pig Latin no utiliza ciclos "for", sí que existe el operador

ur
"FOREACH" que tiene una naturaleza similar ya que su función es la de iterar sobre las tuplas y
oe
transformarlas en dichas iteraciones.
ut

En la siguiente tabla se puede observar algunos de los operadores relacionales que son utilizados en
it

Pig Latin:
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
21 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt

¿Qué se puede resolver con Pig?


ce

Anteriormente comentamos el uso que algunas empresas (LinkedIn, Twitter, AOL,...) le daban a Pig.

Además de estos usos, existen muchos datos que se pueden procesar y aún no se ha hecho y esto

puede permitir realizar modelos de predicción del comportamiento.

Por ejemplo, Pig se podría usar para ver todos los movimientos de un usuario en una página web y

poder dividir en varios tipos a los usuarios. Así, se podría categorizar a dichos tipos de usuarios y

para cada uno mostrar anuncios o artículos que estén más relacionados con sus tipos de búsqueda.

certificados.institutoeuropa.com
22 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

Pig permite el análisis de gran volumen de información (Big Data), con Apache Pig se puede

procesar y almacenar dichos datos en una base de datos y posteriormente ejecutar consultas

(queries) sobre ellos. Esto hace que Pig tenga una similitud con una herramienta ETL (Extract

Transform Load).

Pig permite la paralelización utilizando Hadoop haciendo que los scripts sean más simples.

Esto no significa que Pig sea un reemplazo de una ETL ya que no tiene funcionalidades específicas

m
como sí lo hace una herramienta ETL.

co
Ejemplo de lenguaje Pig Latin para programa de cuenta de caracteres:

a.
op
ur
oe
ut
it
st
s .in
do
ca

Este ejemplo de un archivo cogerá las palabras de un archivo de texto y nos contará las palabras.
ifi
rt
ce

Comenzar Actividad

Relaciona los elementos de la columna Derecha con la columna Izquierda

Pig Latin usa 1 Operadores relacionales para


poder realizar varias operaciones
sobre los datos que se analizan.
Pig Latin es un lenguaje de 2
programación que usa
Flujos de datos de forma paralela.

certificados.institutoeuropa.com
23 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

nicialmente Pig se desarrolló en 3 Poder lanzar un map-reduce


2006 por los investigadores de sobre un gran volumen de datos.
Yahoo Research para En 2007, se trasladó a Apache
Software Foundation.

Pig es una plataforma creada por Yahoo (a alto nivel) que nos ayuda a desarrollar
algoritmos MapReduce utilizando una sintaxis similar a SQL llamada Pig latin.

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
24 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

Hive.

Apache Hive es un framework que fue originalmente creado por Facebook que sirve para trabajar

con el HDFS de Hadoop y nos facilita trabajar con los datos. A través de sentencias SQL podemos

lanzar consultas que serán traducidas a trabajos MapReduce.

m
co
a.
op
ur
oe
ut
it

Facebook fue la encargada de desarrollar Hive y actualmente es utilizada por Apache Hive y
st

desarrollada por empresas tales como Netflix y FINRA (Financial Industry Regulatory Authority).
.in

Amazon incluye una derivación Apache Hive en sus servicios Amazon Web Services.
s
do

Hive no es una base de datos, aunque tengamos que crearnos un schema, crear una tabla e
ca

introducir datos. Por esto se conoce como el componente datawarehouse de Hadoop.


ifi

Apache Hive permite analizar conjuntos de datos grandes que utilicen almacenamiento bajo HDFS
rt

de Hadoop y en sistemas que sean compatibles tales como Amazon S3.


ce

Tiene un lenguaje basado en SQL que se llama HiveQL y permite leer y convertir consultas en

MapReduce y otras plataformas que pueden ejecutarse bajo YARN.

Para que las consultas sean más rápidas, Hive utiliza índices de bitmaps.

Hive incluye otras características tales como:

Indexación para la mejora de la velocidad en las consultas.

certificados.institutoeuropa.com
25 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

Varios tipos de almacenamiento de texto (Ej: ORC, RCFile,...).

Almacenamiento en BD Relacionales.

Operaciones para poder ser ejecutadas en datos comprimidos (Ej: BWT,

DEFLATE,...).

UDF (Funciones definidas por el usuario) para poder tratar textos y otros tipos de

datos y poder adaptarlo a nuestra funcionalidad.

Consultas con estructura parecida a SQL que se convierten, de forma automática,

m
a MapReduce, Tez ó tareas Spark.

co
a.
Inicialmente, Hive guarda sus metadatos en una base de datos apache Derby pero se puede

op
configurar para que estos metadatos puedan ser almacenados en otros bases de datos relacionales

ur
como pueden ser: Postgres, MySQL, Oracle, o MS SQL.
oe
Su principal inconveniente es que necesita procesar la consulta SQL y traducirla a Java para crear el
ut

trabajo MapReduce.
it

El programa presenta el siguiente aspecto:


st
s .in
do
ca
ifi
rt
ce

Desde el botón upload podemos subir archivos que utilizaremos como fuentes de datos:

certificados.institutoeuropa.com
26 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

Para procesar los datos utilizaremos el editor que tiene integrado:

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi

Crearemos la base de datos y la tabla que almacenara los datos desde aquí.
rt
ce

certificados.institutoeuropa.com
27 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

m
co
a.
op
ur
oe
ut

Supongamos que hemos creado una tabla como esta. Los campos de la tabla deben de ser campos
it

que tengamos en nuestro archivo de datos


st

Ya solo nos queda introducir los datos en la tabla.


.in

load data inpath '/user/usuario/gastos.csv' overwrite into table presupuestos;


s
do

Ahora si realizamos una consulta:


ca

select descripcion_centro, descripcion_seccion, descripcion_capitulo, descripcion_economico,


ifi

importe
rt
ce

from presupuestos

order by importe

certificados.institutoeuropa.com
28 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

Podemos visualizar los datos como más nos convenga y necesitemos.

Conclusión

Hive nos proporciona una herramienta para traducir queries del lenguaje tradicional SQL, que es ya

conocido por la industria, a los nuevos frameworks NoSQL en el ecosistema Hadoop. Hive es una

herramienta fácil y rápida de programar pero conlleva un sobrecoste en la ejecución en comparación

m
de la programación directa en frameworks NoSQL.

co
Si se utiliza un volumen de información muy extenso en un clúster de Hadoop y no se tienen

a.
nociones o fundamentos para programar MapReduce, Hive es perfecta para poder extraer la

op
información que se desee.

ur
Por ejemplo: oe
Si tenemos muchos archivos .log en un servidor y queremos extraer información en ellos sería
ut

difícil poder extraer información de forma fácil y rápida. Sin embargo, utilizando Hive, sería sencillo
it

crear una tabla extrayendo los datos de los ficheros y filtrando la información por ejemplo por líneas
st

que contengan fallos o errores.


s .in
do

A través de sentencias SQL podemos lanzar consultas que serán traducidas a


trabajos:
ca

Apache Hive.
ifi
rt

MapReduce.
ce

certificados.institutoeuropa.com
29 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

Sqoop.

Sqoop es un programa que se ejecuta bajo línea de comandos y sirve para transferir datos entre

Hadoop y BD relacionales.

El nombre de esta aplicación surge de unir las palabras sql y hadoop. Pasó a ser un proyecto Apache

de nivel superior en 2012. Tiene una amplia documentación tanto para desarrolladores como para

usuarios.

m
co
Como ejemplo, Microsoft usa un conector que está basado en Sqoop para ayudar al traspaso de

información entre SQL Server y Hadoop.

a.
op
La API de Sqoop permite conectar con otras BD mediante el desarrollo de conectores y así poder

ur
adaptar y usar los lenguajes de consultas de otro proveedor de BD específico.
oe
¿Cómo funciona Sqoop?
ut

Sqoop trabaja como una capa intermedia entre las BD relacionales y Haddop tal y como se muestra
it

en la siguiente imagen.
st
s .in
do
ca
ifi
rt
ce

Apache Sqoop es una herramienta que fue diseñada para importar información desde bases de

datos estructuradas y sistemas Hadoop en el clúster Hadoop. Podemos utilizar Sqoop también para

extraer datos Hadoop y exportarlos a bases de datos relacionales.

certificados.institutoeuropa.com
30 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

m
Supongamos que tenemos una tabla empleados en MySQL:

co
a.
op
ur
oe
ut
it
st
.in

Para importar esta tabla usaremos el siguiente comando


s
do

sqoop import --connect jdbc:mysql://localhost/employees --username usuario --table employees


ca

Una vez ejecutado el comando el trabajo de mapa de datos se ejecutara:


ifi
rt
ce

Una vez ejecutado tendremos nuestra tabla importada en el HDFS de hadoop listo para ser usado.

certificados.institutoeuropa.com
31 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

Conclusión

Como hemos podido ver, Sqoop es una herramienta muy útil para trasladar una base de datos ya

existente al entorno Hadoop y viceversa.

Nos permite, mediante los comandos pertinentes, importar datos de nuestra BD relacional,

analizarlos y gestionarlos mediante otras herramientas como pueden ser Pig o Hive sobre Hadoop y

devolver el resultado de nuevo a nuestras BD relacionales.

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
32 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

Flume.

Flume es un servicio distribuido y fiable para recoger, agregar y mover grandes cantidades de

datos de log. Tiene una arquitectura simple y flexible de flujo de datos. Es robusto y tolerante a

fallos con mecanismo de confiabilidad ajustables y muchos mecanismos de conmutación por error y

recuperación. Utiliza un modelo de datos extensible que permite la aplicación analítica en línea. Esta

principalmente diseñado para copiar datos de varios servidores a HDFS.

m
co
a.
op
ur
oe
Para usar Flume una vez lo tengamos instalado configuraremos de dónde obtendremos los datos:
ut
it
st
s .in
do

Vamos a transferir los datos de twitter. Una vez listado los componentes, tendremos que

describirlos:
ca
ifi
rt
ce

Los access token y los consumerkey las obtendremos de Enlace a app .

Ahora deberemos describir los “sink” que será donde almacenemos los datos:

certificados.institutoeuropa.com
33 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

Así configuraremos los sink para HDFS.

Deberemos describir el canal por donde se transferirá los datos entre la fuente de datos y los

“sink”:

m
Una vez configurado como hemos visto necesitaremos un accessToken que podemos crearlo desde

co
aps.twitter.com una vez creada nuestra aplicación rellenaremos los datos que nos faltaban y

a.
podremos empezar a recoger datos.

op
El archivo final twitter.conf sería algo así:

ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

Ejecutaremos Flume:

Y empezara a mostrarnos los tweets recogidos:

certificados.institutoeuropa.com
34 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

m
co
a.
op
ur
oe
ut

Estos tweets estarán en nuestro HDFS de hadoop


it
st

Conceptos (1/2)
.in

Flume maneja los siguientes conceptos:


s
do
ca

Evento
ifi

Payload de bytes que Flume representa como unidad de datos y puede ser transportado
rt

desde el origen hacia un punto de destino final.


ce

Flujo

Movimiento entre punto de origen y destino final de los eventos.

Cliente

Implementación que trabaja en el origen de los eventos y realiza la entrega a un agente

Flume. Ej: Log4J appender.

certificados.institutoeuropa.com
35 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

Agente

Proceso que tiene los componentes Flume como Fuentes (Source), Canales (Channels) y

Sumideros (Sink). Es capaz de obtener, guardar y reenviar eventos al siguiente destino.

Conceptos (2/2)

m
Fuente (Source)

co
a.
Implementación que es capaz de consumir eventos que se le entregan a través de un

op
mecanismo. La fuente, al recibir un evento, lo entrega a 1 o más canales.

ur
Canal (Channel) oe
Es donde, temporalmente, un evento es almacenado. Estos eventos son entregados a los
ut

canales por las fuentes que operan con el agente. Los eventos que están en los canales
it

permanecen hasta que son eliminados por un sumidero (Sink).


st
.in

Sumidero (Sink)
s

Implementación que es capaz de eliminar eventos de un canal y enviarlos al siguiente agente


do

del flujo o hasta el destino final. Si el sumidero envía el evento hasta el destino final se
ca

conoce como sumidero terminal.


ifi
rt

La relación de estos conceptos puede verse reflejada en la siguiente imagen:


ce

certificados.institutoeuropa.com
36 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
37 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

Spark Core.

Apache Spark es un framework de computación en cluster diseñado para una rápida computación.

Fue creada sobre Hadoop MapReduce y amplia el modelo MapReduce para usar de manera más

eficiente más tipos de cálculos que incluyen consultas interactivas y procesamiento de flujo.

m
co
a.
op
ur
oe
Fue desarrollada por la Universidad de California. Posteriormente, el código base fue donado a la

Apache Software Foundation que, desde entonces, se encarga de mantener dicho código. Permite
ut

una interfaz para programación de clusters con paralelismo de datos y tolerancia a fallos.
it
st

La base de la arquitectura para Apache Spark está en el Resilient Distributed DataSet (RDD) que
.in

es un multiset de ítems de datos, en modo solo lectura, distribuidos en un clúster de máquinas con
s

un entorno tolerante a fallos.


do

Como veremos en el apartado del tema siguiente (Spark 2.0), actualmente se recomienda para el
ca

desarrollo la API DataSet, aunque la API RDD no está descatalogada.


ifi
rt

Los RDDs de Spark son un conjunto de trabajo (Working Set) para los programas distribuidos que
ce

permiten la restricción de la memoria compartida distribuida.

Apache Spark necesita un cluster manager y un sistema de almacenamiento distribuido.

Para gestionar el clúster, existen las siguientes opciones:

Spark Standalone (Nativo).

Apache Mesos.

Hadoop YARN.

certificados.institutoeuropa.com
38 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

Por otro lado, para el almacenamiento distribuido, existen varias interfaces disponibles:

Hadoop Distributed File System (HDFS).

Cassandra.

Amazon S3.

MapR File System (MapR-FS).

m
OpenStack Swift.

co
Kudu.

a.
op
Ventajas Spark

ur
oe
Las mayores ventajas de Spark serían:
ut

Procesamiento de los resultados parciales en memoria.


it

Código libre (Open Source).


st

Shell interactiva.
.in

Tolerancia a fallos.
s

Extendible para streaming mediante módulos, Machine Learning.


do

Multi-lenguaje.
ca

Mucho más rápido que Hadoop MapReduce (Hasta 100 veces).


ifi
rt
ce

certificados.institutoeuropa.com
39 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

m
co
a.
op
ur
oe
Componentes Spark
ut
it

Spark está basado en un núcleo o componente principal (Core) y sobre este Core hay varios
st

componentes que extienden su funcionalidad tales como:


s .in

Spark SQL: Los datos están estructurados y podemos acceder a ellos e integrar Spark con
do

Hive, JDBC, ODBC y herramientas de BI.


ca

Spark Streaming: Soporta el procesamiento de un sistema de empaquetamiento de

pequeños lotes casi a tiempo real.


ifi

Spark GraphX: API para la computación de grafos de forma paralela.


rt

Spark MLlib: Biblioteca donde están alojados algoritmos clásicos de machine learning
ce

que están listos para ser ejecutados sobre Spark.

certificados.institutoeuropa.com
40 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

Abstracción RDD

Un RDD (Resilient Distributed Dataset) es una abstracción de Spark que hace referencia a una

colección de elementos en memoria a través del cluster en particiones. Se pueden llevar a cabo

operaciones en paralelo sobre un RDD.

Cada partición hace referencia a un subconjunto de los datos y se asigna a cada nodo para que,

paralelamente, pueda utilizar estos datos y operar con ellos.

m
co
a.
op
ur
oe
ut
it
st

Vamos a crear un contador de palabras con Spark.


.in

Supongamos que tenemos un archivo de texto con un texto escrito en el.


s
do

Abriremos la consola de spark utilizando el comando spark-shell:


ca
ifi
rt
ce

Primero tenemos que leer el archivo de entrada. El siguiente comando es utilizado para leer un

archivo de una localización dada.

certificados.institutoeuropa.com
41 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

Nuestro objetivo es contar las palabras de un archivo. Crearemos un mapa plano separando cada

linea en palabras flatMap(line ⇒ line.split(“”) después relleremos cada palabra como una clave

con el valor 1 usando la función map. Finalmente reduciremos esas claves añadiendo valores de

claves similares. El siguiente comando es usado para ejecutar la lógica de cuenta de palabras:

scala> val counts = inputfile.flatMap(line => line.split(" ")).map(word => (word,

1)).reduceByKey(_+_);

m
Después de ejecutar el comando no tendremos ninguna salida ya que esto no es una acción sino

co
una transformación.

a.
Ahora aplicaremos la acción para almacenar la transformación en un directorio llamado output:

op
scala> counts.saveAsTextFile("output”)

ur
oe
Para ver la salida nos iremos a ese directorio y veremos que nos ha creado 3 archivos.
ut

Si realizamos un cat de algún archivo veremos la cuenta de palabras:


it
st
s .in
do
ca
ifi
rt

Conclusion
ce

Spark, desde sus inicios, fue diseñado y desarrollado para poner solución a muchos problemas que

Hadoop representaba. Es rápido y eficaz.

Cada vez es más utilizado y el número de contribuidores también crece.

Existen bastantes proyectos reales en los que se ha utilizado y aplicado Spark con éxito y se ha

manifestado que ofrece una gran ventaja competitiva. Se ha convertido en la gran "novedad" en el

universo del Big Data.

certificados.institutoeuropa.com
42 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

m
co
a.
op
ur
Comenzar Actividad oe
Relaciona los elementos de la columna Derecha con la columna Izquierda
ut

La base de la arquitectura para 1 El Resilient Distributed DataSet


it

Apache Spark está en (RDD).


st
.in

Los RDDs de Spark son un 2 Los programas distribuidos que


conjunto de trabajo (Working permiten la restricción de la
s

Set) para memoria compartida distribuida.


do
ca

Spark, desde sus inicios, fue 3 Muchos problemas que Hadoop


diseñado y desarrollado para representaba. Es rápido y eficaz.
ifi

poner solución a
rt
ce

Apache Spark es un framework de computación en cluster diseñado para una


rápida computación. Fue creada sobre Hadoop MapReduce y amplia el modelo
MapReduce para usar de manera más eficiente más tipos de cálculos que
incluyen consultas interactivas y procesamiento de flujo.

certificados.institutoeuropa.com
43 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

Spark 2.0.

Apache Spark 2.0 trajo varios cambios a Apache Spark. La mayor actualización fue la usabilidad de

la API, soporte para SQL 2003, mejora de rendimientos y streaming estructurado. Esta versión

incluyo unos 2500 parches de 300 contribuidores.

m
co
a.
op
ur
oe
Las principales novedades de Apache Spark 2.0 son:
ut

Unificaron los dataframe y los dataset.


it
st

Una nueva configuración api para SparkSession.


.in

Más simple.

Añadieron un módulo para usar datos CSV.


s
do

Mejoraron la administración de memoria en los procesos.


ca
ifi

Estos cambios solo modificaron el funcionamiento interno del programa y dieron soporte a más
rt

tipos de datos, a la hora de trabajar con el programa se trabaja de la misma forma.


ce

Mejora de la velocidad

Una de las ventajas esenciales de Apache Spark 2.0 frente a sus versiones anteriores reside en la

velocidad, ya que, en esta nueva versión se utiliza una memoria caché integrada y se ha avanzado

en la generación de código en tiempo de ejecución.

La estimación de mejora de la velocidad de Apache Spark 2.0 frente a Apache Spark 1.0 y sus

versiones sucesivas es de entre 5 y 10 veces mayor.

certificados.institutoeuropa.com
44 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

Las APIs se unifican en una única API

La comunidad de desarrolladores reclamaban a los administradores que dieran un salto y

permitieran, además de procesar los datos en tiempo real, que se pudiera combinar este

procesamiento con otro tipo de análisis de información.

En esta versión 2.0 de Spark, escuchando a los desarrolladores, está disponible una API que permite

a los programadores el desarrollo de aplicaciones que mezclen componentes en tiempo real,

interactivos y por lotes.

m
co
Para poder trabajar con esta API de Spark 2.0 es necesario que se configure un almacén de datos

a.
con funciones ETL.

op
Gracias a ellos, se podrá analizar los sitios web mediante consultas interactivas de una sesión

ur
determinada. oe
En esta versión, quedan unificadas en una única biblioteca las APIs DataFrame y Datasets.
ut
it

Spark como compilador


st

Spark 2.0 es 10 veces más rápido que Spark 1.6, en gran parte porque los desarrolladores han hecho
.in

una limpieza bastante grande de tareas que son prescindibles.


s
do

Según los análisis realizados, se estima que la mayoría de los ciclos de un motor de datos se suele
ca

gastar en trabajos que no sirven para nada. Optimizar estos ciclos de CPU es un paso muy

importante para la mejora de la velocidad.


ifi
rt

Spark 2.0 está basado en la segunda generación del motor de datos Tungsteno, que se acerca
ce

mucho a un compilador. Aprovecha los registros para la escritura de datos de forma intermedia y

eliminan llamar a funciones virtuales.

_______________ es un framework de computación en cluster diseñado para una


rápida computación. Fue creada sobre Hadoop MapReduce y amplia el modelo
MapReduce para usar de manera más eficiente más tipos de cálculos que
incluyen consultas interactivas y procesamiento de flujo.

Flume

certificados.institutoeuropa.com
45 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

Apache Spark

Apache Spark 2.0

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
46 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

Recuerda

[[[Elemento Multimedia]]]

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
47 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

Autoevaluación

Apache Hadoop…

Apache Hadoop es un framework de software libre que permite escribir y ejecutar


aplicaciones en sistemas distribuidos para procesar grandes cantidades de datos.

m
Apache Hadoop es un framework de pago que permite escribir y ejecutar aplicaciones

co
en sistemas distribuidos para procesar grandes cantidades de datos.

a.
op
Apache Hadoop es una aplicación de software libre que permite escribir y ejecutar
aplicaciones en sistemas distribuidos para procesar grandes cantidades de datos.

ur
oe
Lucene…
ut
it

Es un proyecto Java orientado a la búsqueda e indexación de texto.


st
.in

Es un proyecto Python orientado a la búsqueda e indexación de texto.


s
do

Es un proyecto Java orientado a la creación de datos.


ca
ifi
rt

Nutch…
ce

Es una aplicación que permite mejorar nuestras búsquedas.

Es una extensión de Lucene que permite buscar e indexar texto.

Es una extensión de Lucene que permite construir un motor de búsquedas web,


usando Lucene como su núcleo.

certificados.institutoeuropa.com
48 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080712] BATCH PROCESSING.

Indica si la siguiente afirmación es verdadera o falsa: “Hadoop se ejecuta en


grandes grupos de máquinas en clústeres o en nubes tales como Amazon’s
Elastic Compute Cloud (EC2)”.

Verdadero.

Falso.

m
co
Indica si la siguiente afirmación es verdadera o falsa: “Hadoop está inspirado en

a.
el proyecto de Lucene”.

op
ur
Verdadero.
oe
Falso.
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
49 / 49
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080713] STREAMING PROCESSING.

Introducción

El Streaming Processing es un paradigma de computación que permite a algunas aplicaciones

fácilmente explotar una forma limitada de procesamiento paralelo. Algunas aplicaciones pueden

utilizar múltiples unidades computacionales, como la unidad de punto flotante en el procesamiento

de gráficos sin necesidad de administrar la localización, la sincronización o la comunicación entre

estas unidades.

m
Apache pulsar es un sistema de mensajería de publicación de nivel empresarial desarrollado

co
originalmente en Yahoo y ahora se está desarrollando bajo la fundación Apache. En Yahoo, Pulsar ha

a.
estado en producción durante más de tres años.

op
ur
oe
ut
it
st
s .in
do

Este paradigma hace más simple el software y el hardware paralelo, ya que restringe la cantidad de
ca

cálculo paralelo a realizar.


ifi
rt

El funcionamiento general es, dado un conjunto de datos (secuencia), sobre ellos se aplican
ce

operaciones (funciones) a cada elemento de la secuencia. Normalmente, estas funciones son

canalizadas y se intenta reutilizar, de manera óptima, la memoria local del chip para minimizar

perdida de ancho de banda.

El Hardware puede utilizar el marcador para empezar un acceso directo a memoria (DMA) cuando

se conocen las dependencias. Eliminar la administración manual de DMA hace que el software sea

menos complejo.

En los años 80, fue explorado el Streaming Processing dentro de la programación de flujo de datos.

certificados.institutoeuropa.com
1 / 32
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080713] STREAMING PROCESSING.

Como ejemplo está el lenguaje SISAL.

El Streaming Processing es un compromiso que está impulsado por un modelo que se centra en

datos y funciona perfectamente para aplicaciones GPU o DSP (Procesamiento de imagen, señal

digital,...).

Por otro lado, no funciona tan bien en aplicaciones que procesen datos con una forma de acceso

más aleatoria (Ej: Bases de datos).

m
co
a.
op
ur
oe
Utilizar el Streaming Processing es, especialmente indicado y adecuado para aplicaciones que
ut

tengan las siguientes 3 características:


it
st

Paralelismo de datos: Si se pueden procesar, de un flujo de entrada, varios


.in

registros a la vez, sin esperar que haya que obtener resultados de los registros
s

anteriores.
do

Intensidad de cálculo: Número de operaciones aritméticas por E/S elevado.


ca

Actualmente supera, de forma amplia, el 50:1 en muchas aplicaciones que


ifi

procesan señales.
rt

Data Locality: Hace referencia a localidad temporal y se utiliza, normalmente,


ce

para aplicaciones que procesen señales y donde los datos son producidos una vez,

son leídos una o dos veces y posteriormente no son vueltos a ser leídos.

Dentro de las transmisiones, como ejemplo de registros incluyen:

Procesamiento de imágenes: Cada pixel puede ser un registro.

Procesamiento de señales inalambricas: Cada secuencia de muestras que son

recibidas de una antena puede ser un registro.

certificados.institutoeuropa.com
2 / 32
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080713] STREAMING PROCESSING.

Gráficos: En el ejemplo de un triángulo, cada registro podría ser la información de

vértice, normal y color.

Codificador de video: Cada registro podría ser un macrobloque de 256 píxeles.

Por cada registro, el flujo es: Leer la entrada, ejecutar operaciones (funciones) sobre ella y escribir

la salida. Se pueden tener varias entradas y varias salidas, pero no está permitido que un registro de

memoria sea legible y escribible al mismo tiempo.

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
3 / 32
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080713] STREAMING PROCESSING.

Objetivos

En esta unidad veremos cómo es el proceso de Streaming y algunas tecnologías muy útiles ligadas

a este.

Podemos destacar:

Conocer Spark Streaming, Kafka, Pulsar y Apache Apex.

Aprender cómo se lleva a cabo la implementación de las anteriores herramientas en un sistema

m
real-time.

co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
4 / 32
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080713] STREAMING PROCESSING.

Mapa Conceptual

[[[Elemento Multimedia]]]

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
5 / 32
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080713] STREAMING PROCESSING.

Fundamentos de Streaming Processing.

Inicialmente, los ordenadores empezaron a utilizar un paradigma de ejecución secuencial. Las CPU

estaban basadas en SISD, es decir, solamente podían realizar una operación al mismo tiempo.

A la vez que crecieron las necesidades informáticas de la sociedad, el número de datos que había

que gestionar creció muy rápidamente. Por ello, hubo que buscar una forma alternativa de ejecutar

las operaciones y por ello surgió SIMD que es un paradigma de programación de ejecución paralela

m
que permitió la aplicación de una instrucción a varios registros de forma simultánea.

co
Streaming Processing es un paradigma de programación paralela ya que permite el procesamiento

a.
de datos de forma simultánea.

op
ur
oe
ut
it
st
s .in
do
ca

Este paradigma hace más simple el software y el hardware paralelo, ya que restringe la cantidad de
ifi

cálculo paralelo a realizar.


rt

El funcionamiento general es, dado un conjunto de datos (secuencia), sobre ellos se aplican
ce

operaciones (funciones) a cada elemento de la secuencia. Normalmente, estas funciones son

canalizadas y se intenta reutilizar, de manera óptima, la memoria local del chip para minimizar

perdida de ancho de banda.

El Hardware puede utilizar el marcador para empezar un acceso directo a memoria (DMA) cuando

se conocen las dependencias. Eliminar la administración manual de DMA hace que el software sea

menos complejo.

En los años 80, fue explorado el Streaming Processing dentro de la programación de flujo de datos.

certificados.institutoeuropa.com
6 / 32
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080713] STREAMING PROCESSING.

Como ejemplo está el lenguaje SISAL.

El Streaming Processing es un paradigma de computación que permite a algunas aplicaciones

fácilmente explotar una forma limitada de procesamiento paralelo. Algunas aplicaciones pueden

utilizar múltiples unidades computacionales, como la unidad de punto flotante en el procesamiento

de gráficos sin necesidad de administrar la localización, la sincronización o la comunicación entre

estas unidades.

m
El Stream Processing es el procesamiento de los datos sobre la marcha conforme son producidos o

co
recibidos.

a.
La mayoría de datos nacen como streaming continuo.

op
Antes del Stream Processing, los datos son a menudo almacenados en una base de datos, un

ur
archivo u otra forma de almacenamiento masivo. Las aplicaciones consultaran los datos o procesara
oe
los datos según necesite.
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
7 / 32
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080713] STREAMING PROCESSING.

Spark Streaming.

Como ya vimos en el punto anterior Apache Spark es un framework de procesamiento de datos de

Hadoop. Nos vamos a centrar en este punto en Spark Streaming que es la herramienta que nos

permitirá realizar el proceso de Streaming Processing.

Una clave de Spark es que permite el procesamiento continuo y esto se logra a través del

componente Spark Streaming.

m
co
Spark Streaming puede coger datos de un gran rango de fuentes (Incluso flujos que provengan de

Apache Flume, Amazon Kinesis, Apache Kafka o Twitter), así como también de dispositivos y

a.
sensores mediante sockets TCP.

op
ur
También es posible recoger datos que estén en sistemas de archivos (Amazon S3, HDFS).
oe
ut
it
st
s .in
do
ca
ifi

Principalmente, lo que Spark Streaming realiza es coger un flujo de datos continuo y transformarlo
rt

en un flujo discreto (Dstream).


ce

De forma interna, Spark Streaming guarda estos datos como una secuencia de RDDs. Un Rdd

es un conjunto de datos particionados e inmutables ya que es la unidad de información que,

tradicionalmente, el Spark Core consume.

Al ejecutar el Spark Core mandándole información mediante Spark Streaming, éste no se entera de

que está procesando un flujo de datos, sino que ejecuta de forma normal dicho procesamiento ya que

certificados.institutoeuropa.com
8 / 32
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080713] STREAMING PROCESSING.

el trabajo de coordinar y crear los RDDs está asignado a Spark Streaming.

Modelos de procesamiento

Spark Streaming puede soportar varios modelos que se corresponden con las semánticas que se

utilizan para procesar los flujos de datos. Estos flujos pueden ser procesador por alguno de los

siguientes modelos:

m
co
"Exactly Once"

a.
El procesamiento de cada elemento se realiza una sola vez.

op
"At most Once"

ur
oe
El procesamiento de cada elemento se realiza como máximo una vez aunque es posible que

no llegue a ser procesado.


ut
it

"At Least Once"


st
.in

El procesamiento de cada elemento se realiza como mínimo una vez. Esto hace que sea

menos probable perder datos pero también aumenta el riesgo de duplicarlos.


s
do
ca

No todos los tipos de fuentes soportan todos los modelos, hay que verificar dicha relación y verificar
ifi

que puede ser soportada.


rt
ce

Comenzar Actividad

Relaciona los elementos de la columna Derecha con la columna Izquierda

Exactly once. 1 El procesamiento de cada


elemento se realiza como mínimo
una vez. Esto hace que sea menos
At most once. 2 probable perder datos pero

certificados.institutoeuropa.com
9 / 32
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080713] STREAMING PROCESSING.

también aumenta el riesgo de


At least once. 3
duplicarlos.

El procesamiento de cada
elemento se realiza como máximo
una vez aunque es posible que no
llegue a ser procesado.

El procesamiento de cada
elemento se realiza una sola vez.

m
co
a.
Spark Streaming puede soportar varios modelos que se corresponden con las
semánticas que se utilizan para procesar los flujos de datos. Estos flujos pueden

op
ser procesador por alguno de los anteriores modelos.

ur
oe
ut

El modelo más sencillo de realizar, desde un punto de vista de procesamiento, es "at most once". Es
it

así ya que se acepta que, de forma ocasional, pueda perderse algún dato ya que lo importante es que
st

el flujo continúe. Por Ejemplo: En un stream de video, ocasionalmente se pierden paquetes y baja la
.in

calidad, pero lo importante es que el vídeo continúe y que no haya que empezar desde el inicio.
s
do

Bajo el modelo "at least once", existe la garantía de que, aunque falle algún nodo, no se perderán

datos ya que cuando el nodo esté recuperado se procesarán todos los datos para que no se vaya
ca

ninguno. Si tomáramos como ejemplo el streaming de vídeo anterior, bajo este modelo lo que
ifi

sucedería es que, al ejecutar todos los datos con buena calidad, se podría repetir algún pedazo
rt

anterior que ya hemos visto.


ce

Habitualmente, lo normal es escoger el modelo "exactly once" pero hay que tener cuidado ya que es

el que más recursos consume y puede ocasionarnos algún problema de desempeño ya que requiere

de mucho procesamiento adicional para asegurar que no se pierda información.

Vamos a crear un programa que cuente el número de palabras de un texto recibido de un servidor:

certificados.institutoeuropa.com
10 / 32
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080713] STREAMING PROCESSING.

m
co
a.
op
ur
Una vez ejecutadas estas líneas en Spark deberemos de iniciar la computación.
oe
ut
it
st
.in

Programa completo:
s
do
ca
ifi
rt
ce

Podemos utilizar la herramienta netcat como servidor de datos usando el siguiente comando:

certificados.institutoeuropa.com
11 / 32
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080713] STREAMING PROCESSING.

Nc –lk 9999

Entonces en una terminal podremos ejecutar el programa.

./programa localhost 9999

En la terminal en la que tengamos abierto netcat escribiremos una línea de texto y la enviaremos. En

la terminal donde hemos ejecutado el programa nos saldrá algo así:

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
12 / 32
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080713] STREAMING PROCESSING.

Kafka.

Apache Kafka es una plataforma de streaming distribuido capaz de manejar una enorme cantidad

de eventos al día. Inicialmente concebida como una cola de mensajería, Kafka está basada en la

abstracción de un registro de log distribuido.

Como plataforma de steaming, Apache Kafka provee una baja latencia, tolerancia a fallos y es capaz

de procesar streams de eventos.

m
co
Apache Kafka es un sistema, particionado y replicado, de almacenamiento distribuido de

a.
tipo publicador/subscriptor.

op
ur
Estas características, además de la rapidez con la que ejecuta lecturas/escrituras hacen de Apache
oe
Kafka una herramienta perfecta para streams de información a gran velocidad y que deben
ut

gestionarse por una o varias aplicaciones.


it

LinkedIn fue la encargada de desarrollar, originalmente, Apache Kafka. Es un proyecto creado a


st

principios de 2011 como software libre.


.in

Posteriormente, a finales de 2014, varios desarrolladores del proyecto inicial fundaron una nueva
s
do

empresa que se llamó Confluent y que se enfocó en Kafka.


ca

Kafka ha sido y es utilizado por grandes empresas como Spotify, Netflix, Cisco Sistemas, Paypal,
ifi

Uber,...
rt
ce

certificados.institutoeuropa.com
13 / 32
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080713] STREAMING PROCESSING.

Apache Kafka tiene las siguientes características:

Su funcionamiento es como un servicio de mensajería, categorizando en topics los

mensajes.

Los procesos son denominados brokers y los subscriptores consumen los topics.

Para almacenar el estado de los brokers usan un protocolo que se base en Apache

Zookeeper y TCP.

m
Se puede programar en varios lenguajes: C++, Java, Python, Ruby,...

co
Tolerante a fallos y escalable.

a.
Está escrito en Scala.

op
Fue creado y desarrollador por LinkedIn.

ur
Se puede utilizar para procesar streams, trazas operacionales, servicios de

mensajería (Ej: RabbitMQ),...


oe
ut

Rendimiento de Apache Kafka


it
st

Gracias a la capacidad de Apache Kafka de escalar de forma masiva y a que es usado en estructuras
.in

a nivel de aplicaciones empresariales, seguir el rendimiento de Apache Kafka se ha convertido, cada


s

vez, en un tema más importante.


do

Para realizar el seguimiento del rendimiento de Kafka, actualmente hay varios sitios de código
ca

abierto (Ej: Burrow de LinkedIn) o de pago (Ej: Datadog) para ello.


ifi

Para empezar con Apache Kafka una vez lo tengamos descargado y descomprimido deberemos
rt
ce

ejecutar zookeeper que viene con la distribución por defecto.

bin/zookeeper-server-start.sh config/zookeeper.properties.

Se iniciará zookeeper con las propiedades de ese archive.

En otra consola iniciaremos Kafka.

bin/kafka-server-start.sh config/server.properties

certificados.institutoeuropa.com
14 / 32
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080713] STREAMING PROCESSING.

En esta configuración podremos configurar los puertos de escucha y el directorio de

almacenamiento.

Por defecto Zookeeper escucha en el puerto 2181 y almacena los datos /tmp/zookeeper. Kafka

escucha en el puerto 9092.

Kafka dispone de una API para construir consumidores y productores de mensaje. El productor

que vamos a crear indicará el servidor donde se está ejecutando Kafka y por donde escribimos los

m
mensajes:

co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

El consumidor:

certificados.institutoeuropa.com
15 / 32
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080713] STREAMING PROCESSING.

m
co
a.
op
ur
oe
ut
it
st
.in

Creamos el consumer indicando el host y el puerto donde está arrancado el broker. También se
s

configuraran parámetros para indicar un timeout, un identificador para el consumidor y el tamaño


do

del buffer:
ca
ifi
rt
ce

Levantamos el productor con el mensaje enviado para el topic “test” lo que va saliendo por el log

del consumer es el mensaje que nos llega por estar suscritos al topic.

certificados.institutoeuropa.com
16 / 32
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080713] STREAMING PROCESSING.

Comenzar Actividad

Relaciona los elementos de la columna Derecha con la columna Izquierda

Apache Kafka es un sistema, 1 Replicado, de almacenamiento


particionado y distribuido de tipo
publicador/subscriptor.

Kafka dispone de una API para 2


construir consumidores y Productores de mensaje.

m
co
a.
Apache Kafka es una plataforma de streaming distribuido capaz de manejar una

op
enorme cantidad de eventos al día. Inicialmente concebida como una cola de
mensajería, Kafka está basada en la abstracción de un registro de log distribuido.

ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
17 / 32
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080713] STREAMING PROCESSING.

Pulsar y Apache Apex.

Apache pulsar es un sistema de mensajería de publicación de nivel empresarial desarrollado

originalmente en Yahoo y ahora se está desarrollando bajo la fundación Apache. En Yahoo, Pulsar ha

estado en producción durante mas de tres años.

m
co
a.
Apache Pulsar es una solución multi-tenant, de alto rendimiento para servicios de mensajería

op
servidor-servidor.

ur
Las principales características de Apache Pulsar son:
oe
ut

Muy baja latencia.


it

Escalabilidad a más de 1 millón de temas sin problema alguno.


st

Soporte nativo para varios clusters.


.in

API simple con enlaces de C++, Java y Python.

Varios modos para la suscripción para temas.


s
do

Marco de cómputo liviano sin servidor.

Entrega, de forma garantizada, de mensajes con almacenamiento persistente.


ca

Marco de conector sin servidor.


ifi

Almacenamiento en niveles.
rt
ce

Funciones de Apache Pulsar (Pulsar Functions)

Las funciones de Apache Pulsar son pequeños procesos que:

Consumen mensajes de uno o más temas de Pulsar.

Aplican una lógica que proporciona el usuario al procesamiento de cada mensaje.

Publican en otro tema los resultados del cálculo.

certificados.institutoeuropa.com
18 / 32
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080713] STREAMING PROCESSING.

En la siguiente imagen se puede ver un ejemplo de función Pulsar escrita en lenguaje Java:

Estas funciones son ejecutadas siempre que es publicado un mensaje en el tema de entrada.

m
Metas

co
El objetivo de las funciones Pulsar es crear, de una forma fácil, una lógica de procesamiento a

a.
cualquier nivel sin implementar un sistema vecino (Ej: Apache Storm).

op
Pulsar Functions es, en esencia, una plataforma de cómputo que queda a su disposición como

ur
parte de su sistema de mensajería Pulsar.
oe
ut

Este objetivo está vinculado a otra serie de objetivos como son:


it
st

Solución fácil a los problemas.

Productividad del desarrollador.


.in

Simplicidad operativa.
s
do
ca
ifi
rt
ce

Modelo de programación

El modelo de programación central que Pulsar Functions utiliza es muy simple.

certificados.institutoeuropa.com
19 / 32
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080713] STREAMING PROCESSING.

Las funciones reciben información (mensajes) de uno o más temas de entrada y cada vez que se

recibe algún mensaje la función hace múltiples cosas sobre dichos mensajes como:

Aplicar algún tipo de lógica de procesamiento a la entrada y salida en:

Tema de salida en Pulsar

Apache BookKeeper

Escribir registros en un tema

m
Incrementar un contador

co
a.
op
ur
oe
ut
it
st
s .in
do

Ejemplo de contador de palabras


ca

Vamos a poner un ejemplo en el cual vamos a implementar un clásico contador de palabras usando
ifi

las funciones Pulsar (Pulsar Functions).


rt

El esquema que seguiremos será algo parecido a la siguiente imagen:


ce

certificados.institutoeuropa.com
20 / 32
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080713] STREAMING PROCESSING.

Si escribiéramos esta función Pulsar en lenguaje Java utilizando el SDK que proporciona Pulsar

Functions, el código quedaría de la siguiente manera:

m
co
a.
op
Posteriormente implementarlo en su clúster Pulsar usando la línea de comandos así:

ur
oe
ut
it
st
.in

Apache Apex es una plataforma nativa de Hadoop que unifica el “stream processing” y el “batch
s

processing”. Esta plataforma procesa big data sobre la marcha de una manera que es escalable, con
do

gran rendimiento, tolerable a fallos, seguro, distribuido y fácilmente operable.


ca
ifi
rt
ce

Apache Apex fue desarrollada por la empresa DataTorrent bajo Apache License 2.0.

Existen 2 partes diferenciadas de Apache Apex:

certificados.institutoeuropa.com
21 / 32
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080713] STREAMING PROCESSING.

Apex Core: Plataforma para la creación de aplicaciones distribuidas en Hadoop.

Apex Malhar: Biblioteca de funciones lógicas y conectores que permite un

desarrollo de aplicaciones rápido.

Apache Apex: Arquitectura diferente

Apache Apex fue posible gracias a que se introdujo YARN que trajo la opción de explorar cómo

m
podrían realizar "muchas cosas" los recursos distribuidos que manejan big data.

co
a.
Apache Apex es el primer motor nativo de YARN. Permite el manejo de gran volumen de datos por

op
lotes.

ur
Está preparado para generar el mayor valor posible a las empresas que trabajan con entornos donde
oe
se manejan gran cantidad de datos, de ahí que sea la solución de referencia para llevar los proyectos

de Big Data al éxito.


ut
it

La programación de la API de Apache Apex es sencilla ya que se puede utilizar Java o Scala. Esta API
st

hace posible que los usuarios puedan conectar cualquier función para procesar los eventos.
.in

Reutilización de código
s
do

No es necesaria una gran capacitación para que los desarrolladores puedan crear aplicaciones en
ca

Apache Apex. Además no supone un cambio a gran escala en su lógica comercial.


ifi

Apex permite módulos reutilizables y utilizar la misma lógica de negocios para el lote y la
rt

transmisión.
ce

La arquitectura que utiliza Apex puede controlar la lectura/escritura en buses de mensajes, bases

de datos, sistemas de archivos u otras fuentes lo que permite una integración perfecta.

certificados.institutoeuropa.com
22 / 32
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080713] STREAMING PROCESSING.

m
co
a.
Operabilidad

op
Apex está diseñado para mejorar la operatividad y no preocuparse por los fallos o la pérdida de

ur
información ya que Apex asegura este respaldo. oe
Con Apex la tolerancia a fallos es nativa de Hadoop y no hay que usar un sistema adicional para
ut

mantenerla.
it

Las aplicaciones pueden recuperarse desde el último estado persistente en HDFS.


st
.in

Apex tiene construcciones de datos en movimiento que hacen posible que el flujo de datos esté
s

en millones de eventos/segundo usando un solo núcleo. Es una plataforma que se puede aprovechar
do

de manera fácil y es muy escalable ya que está basada en los estándares de seguridad de Hadoop.
ca

Integración y facilidad de uso


ifi

Por defecto, esta plataforma viene con soporte para servicios web y métricas. Esto hace que su
rt

utilización e integración sea fácil con los componentes actuales de la tubería de datos (pipeline).
ce

Los equipos de desarrollo pueden usar los sistemas y paneles existentes y monitorear los datos en

acción con cambios ínfimos en la plataforma.

Con diferentes conectores y la posibilidad de agregar más, Apex es fácilmente integrable con un

flujo de datos existente.

Una vez instalado podremos acceder desde el navegador.

certificados.institutoeuropa.com
23 / 32
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080713] STREAMING PROCESSING.

m
co
a.
op
ur
Esta página nos dará un vistazo completo del estado de todo el sistema como el uso del procesador y
oe
de la memoria, las aplicaciones, el rendimiento, problemas… etc.
ut

Para lanzar una aplicación nos iremos a la pestaña de desarrollador.


it
st

Desde aquí podremos lanzar paquete de aplicación y administrar las tuplas de los esquemas para
.in

los datos de dentro de Apex.


s

Apex nos provee unas cuantas aplicaciones ya creadas anteriormente que podemos ver aquí:
do
ca
ifi
rt
ce

Vamos a usar la aplicación WordCount Demo para ver como funciona. Le daremos a lanzar

certificados.institutoeuropa.com
24 / 32
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080713] STREAMING PROCESSING.

aplicación y veremos un mensaje de que la aplicación ha sido correctamente lanzada:

Si clicamos al enlace del id de la aplicación nos llevara a la siguiente ventana:

m
co
a.
op
ur
oe
ut

Esta pagina estará llena de varias estadísticas e información.


it
st
s .in
do
ca
ifi
rt
ce

Si clicamos en algún operador lógico, inspeccionaremos sus registros, incluso podremos registrar

datos. Vamos a elegir el operador de consola. Clicaremos en el operador de consola y veremos

información detallada sobre el operador:

certificados.institutoeuropa.com
25 / 32
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080713] STREAMING PROCESSING.

m
co
a.
op
ur
Seleccionaremos una de las particiones y le daremos clic a “record sample”.
oe
Después de unos pocos segundos veremos como las tuplas se llenan, clicaremos en una tupla para
ut

ver su contenido. Como podemos observar del contenido, la aplicación ha realizado una cuenta de
it

caracteres de datos basados en ventanas:


st
s .in
do
ca
ifi
rt
ce

Podemos detener esta aplicación clicando en el botón “shutdown” o “kill” de la página principal de

la aplicación.

De esta manera hemos arrancado una aplicación basada en Apache Apex.

certificados.institutoeuropa.com
26 / 32
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080713] STREAMING PROCESSING.

Comenzar Actividad

Relaciona los elementos de la columna Derecha con la columna Izquierda

Apache Pulsar es una solución 1 El “stream processing” y el “batch


multi-tenant, de alto processing”.
rendimiento para

Servicios de mensajería servidor-


Una de las características de 2 servidor

m
Apache Pulsar es:

co
Dispone de varios modos para
suscripción para temas.

a.
Apache Apex es una plataforma 3
nativa de Hadoop que unifica

op
ur
oe
Apache pulsar es un sistema de mensajería de publicación de nivel empresarial
desarrollado originalmente en Yahoo y ahora se está desarrollando bajo la
ut

fundación Apache.
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
27 / 32
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080713] STREAMING PROCESSING.

Implementación de un sistema real-time.

Como hemos podido ver a lo largo del curso podemos utilizar varias herramientas para procesar

nuestros datos en tiempo real gracias a herramientas como Spark y Apache Apex.

Un sistema real-time o en tiempo real es un sistema informático que interacciona con su entorno

físico y responde a los estímulos recibidos en un plazo de tiempo determinado. No basta que las

acciones ejecutadas por este sistema sean correctas, sino que tienen que ejecutarse en un tiempo

m
determinado, por lo general se habla de real-time cuando el sistema debe responder en un período

co
inferior a 100ms.

a.
Apache Spark como hemos podido observar en el curso recibía los datos de un servidor y acto

op
seguido los procesaba y nos mostraba la salida recibida. De esta manera estaremos recibiendo y

ur
procesando datos en tiempo real. oe
Las características principales de estos sistemas de tiempo real son:
ut
it

Depende del ambiente.


st

La respuesta depende tanto de la respuesta lógica adecuada como del momento en


.in

el que esta respuesta es entregada.


s

Define el término "Respuesta en tiempo".


do

Normalmente están incrustados en sistemas embebidos (Uso específico).


ca

Los recursos son limitados.

Procesamiento de señales.
ifi
rt
ce

Algunos ejemplos de sistemas en tiempo real (real-time) podrían ser:

Existen 2 tipos de sistemas de tiempo real:

Sistemas de tiempo real duros: Si la respuesta se da "fuera de tiempo" se crea un efecto

certificados.institutoeuropa.com
28 / 32
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080713] STREAMING PROCESSING.

negativo en el sistema.

Sistemas de tiempo real suaves: Si la respuesta se da "fuera de tiempo" solo degrada al

servicio ó causa un efecto nulo en el sistema.

Problemas de un sistema de tiempo real

Un sistema de tiempo real puede presentar los siguientes problemas de diseño:

m
Alta confiabilidad.

co
Tolerancia a fallos.

a.
Naturaleza concurrente.

op
Caracterización de tareas real-time.

ur
Administración de los recursos.

Predictibilidad.
oe
Gran interacción con el ambiente.
ut

Alto desempeño.
it
st
.in

Como ejemplo de sistema real-time podríamos poner el de un robot que tiene que coger una pieza

de una banda. Si el robot no llega a tiempo, no podrá coger la pieza ya que ésta no estará en el sitio
s
do

donde debía ser recogida.


ca

Por otro lado, si el robot llega con antelación a que la pieza lo haga, ésta aún no estará allí y el
ifi

robot podría bloquear su paso.


rt
ce

Un sistema real -time o en tiempo real es un sistema informático que


interacciona con su entorno físico y responde a los estímulos recibidos en un
plazo de tiempo determinado.

Verdadero.

Falso.

certificados.institutoeuropa.com
29 / 32
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080713] STREAMING PROCESSING.

Recuerda

[[[Elemento Multimedia]]]

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
30 / 32
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080713] STREAMING PROCESSING.

Autoevaluación

El Streaming Processing…

El Streaming Processing es un paradigma de computación que permite a algunas


aplicaciones fácilmente explotar una forma limitada de procesamiento paralelo.

m
El Streaming Processing es una aplicación de computación que permite a algunas

co
aplicaciones fácilmente explotar una forma limitada de procesamiento paralelo.

a.
op
El Streaming Processing es un framework de computación que permite a algunas
aplicaciones fácilmente explotar una forma limitada de procesamiento paralelo.

ur
oe
Spark Streaming…
ut
it

Es la herramienta de Spark Core que nos permitirá realizar el proceso de Streaming


st

Processing.
s .in

Es un programa que nos permitirá realizar el proceso de Streaming Processing.


do
ca

Es la un framework que nos permitirá realizar el proceso de Streaming Processing.


ifi
rt

Kafka…
ce

Apache Kafka es sistema de administración de logs.

Apache Kafka es un programa para la realización de streaming de video.

Apache Kafka es una plataforma de streaming distribuido capaz de manejar trillones


de eventos al día.

certificados.institutoeuropa.com
31 / 32
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080713] STREAMING PROCESSING.

Indica si la siguiente afirmación es verdadera o falsa: “Apache pulsar es un


sistema de mensajería de publicación de nivel empresarial desarrollado
originalmente en Yahoo y ahora se está desarrollando bajo la fundación Apache”.

Verdadero.

Falso.

m
co
Indica si la siguiente afirmación es verdadera o falsa: “Apache Apex es una

a.
plataforma nativa de Hadoop que unifica el “stream processing” y el “batch
processing”.

op
ur
Verdadero.
oe
ut

Falso.
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
32 / 32
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

Introducción

NoSQL (también llamado No solo SQL) es una gran clase de sistemas gestores de bases de datos

que son diferentes del modelo clásico SGBDR (Sistema de Gestión de Bases de Datos Relacionales)

ya que, principalmente, entre otros aspectos, no utilizan el lenguaje SQL como lenguaje principal de

consultas.

Los datos no necesitan estructuras fijas como tablas ni garantizan la atomicidad, consistencia,

m
aislamiento y durabilidad (ACID).

co
A menudo las bases de datos NoSQL son clasificadas según cómo almacenen los datos (Ej: Bases

a.
de datos de datos en grafos).

op
ur
oe
ut
it
st
s .in
do

En 1998, Carlo Strozzi usó la palabra NoSQL para hacer referencia a su base de datos.
ca

Esta base de datos era de código libre (open-source) y no usaba una interfaz SQL pero sí el modelo
ifi

relacional.
rt
ce

El término NoSQL fue reintroducido por Eric Evans, empleado de Rackspace, cuando Johan

Oskarsson, de Last.fm, quería organizar un evento para hablar sobre BBDD open-source. Se

intentaba recoger las bases de datos no relacionales y distribuidas que no garantizaban ACID que

era un atributo indispensable en las SGBDR clásicas.

certificados.institutoeuropa.com
1 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

m
co
El mayor crecimiento de las bases de datos NoSQL fue con las principales redes sociales existentes

a.
como Facebook, Twitter, Google, Amazon.

op
ur
oe
ut
it
st
s .in
do

Estas empresas se dieron cuenta que, debido a la gran cantidad de información que debían de
ca

procesar y proporcionar, era más importante el rendimiento y sus propiedades de tiempo real que
ifi

la coherencia (Propiedad que los SGBDR dedican gran cantidad de tiempo).


rt

En este sentido, frecuentemente, las bases de datos NoSQL optimizan las operaciones de
ce

recuperación y agregación. Estas bases de datos tienen una gran ganancia en escalabilidad y

rendimiento cuando se trata con algunos modelos de datos.

certificados.institutoeuropa.com
2 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

Objetivos

La presente unidad está orientada a alcanzar los siguientes objetivos:

Conocer la gestión de la información especializada de las diferentes bases de datos que se van

a señalar a lo largo de las unidades.

Conocer las bases de datos Hbase, Cassandra, MongoDB, Neo4J, Redis y Berkeley DB más

m
detalladamente.

co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
3 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

Mapa Conceptual

[[[Elemento Multimedia]]]

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
4 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

Hbase.

Antes de comenzar con el sistemas NOSQL Hbase, vamos a hacer un breve repaso a la arquitectura

de las bases de datos NoSQL.

Arquitectura de las bases de datos NoSQL

De forma típica, las bases de datos relacionales no han mostrado gran eficiencia en aplicaciones

que usen datos de forma intensiva, en la presentación de páginas en sitios que haya mucho tráfico o

m
en sitio de streaming audiovisual.

co
a.
Las implementaciones de SGBDR han sido enfocadas para cantidades pequeñas pero frecuentes de

op
lecturas/escrituras o para un conjunto grande de operaciones donde haya pocos accesos de

escritura.

ur
oe
Las bases de datos NoSQL pueden trabajar con gran cantidad de lecturas/escrituras.
ut

Las arquitecturas de bases de datos NoSQL aportan pocas garantías de consistencia. La mayoría
it

de sistemas NoSQL usan una arquitectura distribuida en la cual mantienen los datos en varios
st

servidores de forma redundante usando, normalmente una tabla hash distribuida, lo que permite la
.in

tolerancia a fallos en un servidor.


s

Las principales características de NoSQL son:


do
ca

CARACTERISTICAS DE LAS BASES DE DATOS NoSQL


1 El lenguaje de consultas no tiene por qué ser SQL.
ifi

2 Tratamiento de datos heterogéneos.


rt

3 Propiedades ACID no están garantizadas.


ce

4 Mayor coherencia entre los datos de programas y bases de datos.


5 Diseñadas para ser escalables generalmente de forma horizontal.
6 Generalmente son distribuidas.
7 Frecuentemente son de código abierto.

Características de las bases de datos NoSQL

El lenguaje estándar no tiene por qué ser SQL: hay varios tipos de bases de datos NoSQL y

cada una con su lenguaje de consultas específico. En algunos casos el lenguaje es SQL pero

certificados.institutoeuropa.com
5 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

que incluye extensiones específicas para NoSQL. Esto facilita el acceso a estas bases de datos a

gente que sepa utilizar SQL.

El esquema de datos es flexible o no tienen un esquema predefinido: eso quiere decir

que se pueden añadir datos sin definir previamente el tipo de los mismos, como se hace en el

modelo relacional donde primero se define qué tipo de datos se van a guardar. Este hecho

facilita y mucho el tratar datos heterogéneos, son base de datos muy flexibles pero, por otro

lado, dificulta su programación haciendo que la gestión de los tipos de datos se haga

m
directamente en el código de los programas que acceden a la base de datos. Uno de los riesgos

co
de que el esquema quede implícito es que se compromete la independencia de los datos, uno de

los pilares sobre los que se sostiene el desarrollo de las bases de datos relacionales.

a.
Las propiedades ACID (ver apartado Teorema CAP mas adelante) de las transacciones

op
(Atomicidad, Consistencia, Aislamiento y Durabilidad) no siempre están garantizadas como

ur
ocurre en las bases de datos relacionales pero se hace con el objetivo de mejorar el
oe
rendimiento y aumentar la disponibilidad.
ut

Reducen problemas de falta de concordancia entre las estructuras de datos usadas en los

programas y las bases de datos. Es decir, el formato en que se guarda la información en las
it
st

bases de datos es cercano al formato utilizado en los programas que acceden a ella.
.in

Están diseñadas para crecer, es decir que sean escalables, generalmente de forma

horizontal (escalabilidad horizontal), mediante la fragmentación de los datos y la existencia de


s
do

copias idénticas de los datos en múltiples servidores. Se pueden ejecutar en máquinas con

pocos recursos y costes reducidos ya que no requieren mucha computación con lo que para
ca

aumentar el rendimiento se añaden más máquinas de bajo coste, es decir más nodos.
ifi

Son generalmente distribuidas.


rt

Son de código abierto y tienen unas grandes comunidades de desarrollo detrás.


ce

Por otro lado, las características de las aplicaciones que usan bases de datos NoSQL suelen ser las

siguientes:

CARACTERISTICAS DE LAS APLICACIONES QUE USAN BASES DE DATOS NoSQL


1 Trabajan con datos cuyo origen y formato es variable.
2 Trabajan con datos muy relacionados.
3 Necesidad de una mayor capacidad analítica.
4 Mayor volumen de datos.

certificados.institutoeuropa.com
6 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

5 Mayor disponibilidad y flexibilidad.


6 Trabajan en tiempo real.

El esquema de los datos es variable y es muy costoso de gestionar con bases de datos

relacionales. Como ejemplo, las aplicaciones que gestionan datos con múltiples orígenes y

formatos, un comparador de precios online.

Los datos están muy relacionados por ejemplo en Facebook.

Actualmente los sistemas de DataWarehousing necesitan una capacidad analítica más

m
potente ya que se utilizan más datos, los de la competencia, por ejemplo o los provenientes de

co
las redes sociales, por lo que difícilmente se puede implementar en una base de datos

relacional.

a.
Trabajan con grandes volúmenes de datos por ejemplo, las redes sociales.

op
Necesitan garantizar la disponibilidad y flexibilidad ya que por ejemplo, una tienda online fuera

ur
de línea o que tarda demasiado en atender a un cliente no realizará la venta. Estas situaciones
oe
son muy peligrosas y hay que evitarlas debido a la gran competencia existente en Internet.
ut

Tienen la necesidad de que los datos se procesen en tiempo casi real. Por ejemplo, en

aplicaciones de bolsa, los brókeres deben tener información fiable e inmediata, que les
it
st

permita tomar las decisiones al momento.


.in

Como se deduce, las Bases de datos NoSQL ofrecen otras opciones para unos escenarios de
s
do

aplicaciones específicos, es decir no todos los escenarios actuales pueden ser resueltos con una

solución basada en una base de datos relacional.


ca
ifi

Más correctamente debieran ser llamadas como NoREL (Not Only Relational) pero el término
rt

NoSQL está ya ampliamente aceptado.


ce

La gran fuerza de las bases de datos NoSQL reside en su diversidad, en el gran abanico de

soluciones que ofrecen. Cada una ofrece diferentes soluciones según el problema sea el coste, el

escalamiento, el rendimiento, el modelado de los datos etc…

certificados.institutoeuropa.com
7 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

m
co
a.
Bases de datos NoSQL vs Bases de datos relacionales

op
Las bases de datos relacionales se diferencian de las bases de datos NoSQL principalmente en los

ur
siguientes puntos: oe
No hay un modelo de datos único: El modelo relacional ofrece una visión uniforme de los
ut

datos, la relación, mientras que las bases de datos NoSQL engloban a muchos modelos de
it

datos. La existencia de diferentes modelos de datos causa la existencia de diferentes familias


st

de bases de datos NoSQL.


.in

En el modelo relacional es necesario definir, a priori, un esquema conceptual que indique


s

qué datos hay, cómo se estructuran los atributos que poseen y cómo se relacionan. Eso no es
do

necesario en la mayoría de modelos NoSQL. Tienen otros sistemas de almacenamiento como


ca

grafos, sistemas clave-valor etc... Las implicaciones de ello es que los modelos NoSQL no
ifi

disponen de independencia de datos y existe la dificultad de definir restricciones de integridad


rt

en la base de datos. Es decir, como ya hemos visto el usuario o programa que maneja la base
ce

de datos es el encargado de interpretar y gestionar los datos. Por otro lado, la ventaja es que el

proceso de datos heterogéneos es más simple en las bases de datos NoSQL.

No suelen permitir operaciones JOIN (búsqueda de datos entre varias tablas) ya que al

manejar tan grandes volúmenes de datos el coste puede ser muy alto.

No utilizan el lenguaje SQL en general. Por ejemplo Cassandra utiliza CQL, MongoDB utiliza un

lenguaje más parecido a un ORM o Big Table utiliza GQL.

Las bases de datos relacionales están entre nosotros desde hace muchos años, lo que ha

facilitado la creación de estándares, por ejemplo, el lenguaje SQL. Esto aún no ha sido así para

certificados.institutoeuropa.com
8 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

las bases de datos NoSQL.

Aunque estas diferencias son ciertas para la mayoría de bases NoSQL, hay multitud de bases de

datos y cada una de ellas tiene funcionalidades distintas. Por tanto, se debería tomar lo dicho hasta

ahora simplemente como una guía general, que puede ser más o menos cierta dependiendo del

producto NoSQL a considerar.

Tipos de bases de datos NoSQL: Teorema de CAP

m
co
Como ya hemos visto, una de las características de las bases de datos NoSQL es que generalmente

a.
son distribuidas. Esta característica nos lleva a introducir dos conceptos fundamentales para

op
entender mejor tanto el funcionamiento como el ser capaces en un momento dado de para un

entorno o para las necesidades de una aplicación, elegir el sistema de bases de datos NoSQL más

ur
adecuado. El primer concepto es como se pueden distribuir las bases de datos, es decir que
oe
estrategias son las que se aplican de forma más común y el segundo concepto nos lleva al Teorema
ut

de CAP que nos explica la razón de los tipos de bases NoSQL que hay actualmente.
it
st
s .in
do
ca
ifi
rt
ce

Las bases de datos distribuidas son el resultado de combinar el concepto de base de datos y el

concepto de redes de ordenadores.

Una base de datos distribuida no es más que un conjunto de múltiples bases de datos (lógicamente

interrelacionadas) que están distribuidas en varios ordenadores. Estas bases de datos están

gestionadas por un software específico que hace la distribución de los datos transparente a los

usuarios. Es decir, los usuarios creen trabajar con una base de datos que es única, es decir se

certificados.institutoeuropa.com
9 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

comporta como si fuese centralizada.

El uso de sistemas distribuidos es útil por diversos motivos. En primer lugar, el procesamiento

distribuido se ajusta a la estructura de muchas organizaciones que por ejemplo se encuentran

geográficamente dispersas como aplicaciones de e-commerce. Un escenario típico, en el caso de

España, se relaciona con la Ley Orgánica de Protección de datos. Dicha ley obliga a que todas las

compañías incluidas las extranjeras, que operen en España almacenen los datos relativos a los

usuarios de España en servidores que físicamente estén en España. En segundo lugar, un sistema

m
distribuido permite mejorar el rendimiento, la disponibilidad y la capacidad de crecimiento. El

co
rendimiento mejora debido al reparto de tareas entre los nodos. Por otro lado, si una situación de

a.
fallo causa que algún nodo no esté operativo, ello no significa que globalmente el sistema no lo esté.

op
Una plataforma de e-commerce por ejemplo, Amazon no puede estar caída durante horas, dado que

ur
eso implicaría una pérdida importantísima de ingresos y prestigio.
oe
Estrategias
ut

Hay varias estrategias para implementar la distribución en una base de datos.


it
st

La fragmentación se basa en la idea de que las aplicaciones (y por lo tanto los usuarios), en
.in

general, no necesitan acceder a toda la base de datos, sino que están interesados en acceder a
s

subconjuntos de la misma. Por lo tanto, el objetivo de la fragmentación es encontrar la unidad de


do

acceso a los datos más apropiada para cada dominio de aplicación. Dicha unidad de se denomina
ca

fragmento y se convierte en la unidad de distribución entre los diferentes nodos que forman la base

de datos distribuida. Existen tres tipos de fragmentación:


ifi
rt

La fragmentación horizontal (por filas) toma conjuntos de datos relacionados como unidad de
ce

distribución. Por ejemplo se podrían dividir los datos de oficinas en dos fragmentos, aquellos que

cumplan la condición superficie menor que 1500 y aquellos con superficie mayor o igual a 1500.

certificados.institutoeuropa.com
10 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

La fragmentación vertical (por columnas) consiste en usar grupos de atributos de los objetos y los

datos asociados a ellos como unidad de distribución. Por ejemplo dividir la relación Oficinas en

(código, nombre, dirección) y en (código, superficie).

m
co
a.
op
La fragmentación híbrida combina la fragmentación horizontal y vertical.

ur
oe
ut
it
st
s .in

La segunda estrategia de distribución es la replicación. Esta consiste en almacenar todos o una


do

parte de los fragmentos en más de un nodo. Esto permite maximizar la disponibilidad de los datos
ca

pero es necesario garantizar la consistencia de las réplicas. La consistencia se refiere a que todas las
ifi

réplicas de unos mismos datos deben contener los mismos valores. La gestión de la consistencia de
rt

las réplicas se puede implementar de manera:


ce

Síncrona o asíncrona, es decir los cambio se propagan al momento o en diferido.

A través de una réplica destacada o primaria: se hacen los cambios en la primaria y luego

se propagan al resto (replicación master-slave o maestro-esclavo), o sin replica destacada en

cuyo caso todas las réplicas son iguales (replicación P2P).

En consecuencia a la hora de implementar la distribución en una base de datos podemos optar por

usar:

certificados.institutoeuropa.com
11 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

Únicamente fragmentación, entonces la base de datos se divide en fragmentos que se

distribuyen entre los diferentes nodos, pero ningún fragmento estará replicado.

No fragmentar la base de datos pero sí replicarla.

Utilizar una combinación de ambas estrategias. Esta última acostumbra a ser la elección

habitual en el caso de una base de datos distribuida.

FRAGMENTACIÓN REPLICACIÓN

m
+ Permite acceder a los datos donde se necesiten + Permite acceder a los datos donde se
necesiten

co
+ Incrementa la concurrencia y facilita el + Incrementa la disponibilidad de los datos

a.
paralelismo
- El rendimiento empeora cuando hay que + Mejora la eficiencia de las operaciones de

op
recuperar varios fragmentos de diferentes nodos consulta
- El control de los datos se puede complicar - La inserción y actualización de datos es menos

ur
eficiente
oe
- Todas las réplicas de un mismo objetos deben
ser idénticas
ut

Teorema de CAP
it
st

Cuando se acomete el desarrollo de un sistema distribuido es necesario tener en cuenta el teorema


.in

CAP. El profesor Eric Brewer introdujo el teorema CAP en una charla invitada de un congreso de

computación distribuida. Brewer comentó que las propiedades de un sistema distribuido son la
s
do

Consistencia, la Disponibilidad y la tolerancia a Particiones (acrónimo CAP).


ca

El teorema trata de las tres características que son deseables que un sistema distribuido pueda
ifi

verificar. Estas características son:


rt
ce

Consistency

Cualquier lectura recibe como respuesta la escritura más reciente o un error.

Availability

Cualquier petición recibe una respuesta no errónea, pero sin la garantía de que contenga la

escritura más reciente.

certificados.institutoeuropa.com
12 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

Partition Tolerance

El sistema sigue funcionando incluso si ocurre una "partición" entre dos nodos (los dos

siguen funcionando pero son incapaces de mantener comunicaciones).

Desafortunadamente, en un sistema distribuido sólo dos de estas propiedades pueden ser

garantizadas de forma simultánea. Es decir, el teorema CAP establece que es imposible garantizar

las tres a la vez en un sistema distribuido.

m
co
Dado que las bases de datos NoSQL están pensadas para trabajar en entornos altamente

a.
distribuidos, una exigencia es la capacidad de que el sistema, en conjunto, sea capaz de operar en

op
presencia de particiones. Por lo tanto, deben cumplir la propiedad P. Es imprescindible garantizar la

tolerancia a particiones. En consecuencia, la decisión se restringe a decidir que se desea priorizar, si

ur
la disponibilidad (la propiedad A) o la consistencia de los datos (la propiedad C).
oe
ut

Si se elige AP el sistema siempre está disponible, aunque temporalmente puede mostrar datos
it

inconsistentes en presencia de particiones. Un ejemplo de este tipo de bases de datos sería


st

Cassandra o Riak.
.in

Por el contrario, si se elige CP el sistema siempre contiene una visión consistente de los datos,

aunque no esté totalmente disponible en presencia de particiones. Un ejemplo de este tipo es


s
do

MongoDB o Hbase.
ca

Comentar que las bases de datos distribuidas relacionales son sistemas CA. Esto significa que la
ifi

calidad del servicio se puede ver comprometida cuando el sistema se particiona (es la P del
rt

teorema CAP).
ce

La última característica a examinar de las bases de datos NoSQL se relaciona con la gestión de

transacciones. Como ya hemos visto las bases de datos relacionales se basan en el modelo ACID.

Una transacción incluye un conjunto de sentencias SQL que verifica las propiedades de atomicidad,

consistencia, aislamiento y la durabilidad (ACID):

certificados.institutoeuropa.com
13 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

Atomicidad (A tomicity)

Una transacción u operación consiste en una serie de pasos que o bien se ejecutan todos o

ninguno.

Consistencia (C onsistency)

La operación o transacción llevara a la base de datos de un estado válido a otro estado

válido.

m
co
Aislamiento (I solation)

a.
Aislamiento (I solation). En un SGBD ocurren gran cantidad de transacciones

op
concurrentemente. El aislamiento asegura que estas no entran en conflicto las unas con las

ur
otras, las transacciones obtendrán el mismo resultado que obtendrían si se ejecutaran
oe
secuencialmente una por una.
ut

Durabilidad (D urability)
it
st

Durabilidad (D urability ) una vez realizada la transacción, persiste aun habiendo un crash en
.in

la aplicación o una perdida de electricidad no intencionada.


s
do

Soportar un modelo de transacciones ACID en bases de datos que almacenan grandes volúmenes
ca

de datos, que están distribuidas y con replicación de datos es complejo y puede causar problemas
ifi

de rendimiento.
rt

Además, y relacionado con el teorema CAP, las bases de datos NoSQL de tipo AP (es decir, las que
ce

priorizan la disponibilidad de los datos sobre su consistencia) se basan en el modelo BASE. Este

modelo trabaja con una noción de consistencia que se conoce como “consistencia final en el tiempo”

y que se relaciona con la existencia de réplicas. En este modelo se espera que, pasado un cierto

tiempo sin cambios en unas mismas réplicas, todas las réplicas converjan a unos mismos valores.

En el caso de conflictos que no puedan resolverse, se acepta que se puedan perder algunos datos.

Una de las características atribuidas a las bases de datos NoSQL es su versatilidad. Por ejemplo,

MongoDB utiliza una variante de la replicación master-slave, maestro-esclavo, y que se denomina

certificados.institutoeuropa.com
14 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

replica sets. Todas las escrituras sobre una réplica se realizan sobre la copia primaria y se propagan

de forma asíncrona y eficiente (según sus especificaciones) al resto de réplicas (las secundarias). Las

lecturas también se realizan sobre la copia primaria. En caso de fallo del master, se elige otro de

forma dinámica. A pesar de ello, MongoDB también permite que las aplicaciones puedan efectuar

lecturas sobre las copias secundarias. En este caso no se garantiza que las operaciones de lectura

devuelvan el valor más recientemente confirmado. En consecuencia estaría exhibiendo un

comportamiento similar a un sistema AP.

m
Sistemas de bases de datos NoSQL

co
a.
Bajo el nombre NoSQL conviven principalmente 2 familias de modelos de datos: los modelos de

op
agregación y el modelo en grafo. Los modelos de agregación, a su vez, incluye tres modelos de

datos: el clave-valor, el orientado a columnas y el orientado a documentos.

ur
oe
Comenzaremos hablando del modelo clave-valor, para el que el agregado es una caja negra. Este

modelo es el menos expresivo de todos los modelos de agregación. Después avanzaremos en el


ut

modelo de agregación documental, donde los agregados son definidos mediante documentos,
it

generalmente en formato XML, JSON o similar. Finalmente trataremos con el modelo agregado de
st

columnas. Este modelo organiza los datos en primera instancia por filas y luego en columnas,
.in

permitiendo obtener una visión de los datos en forma de matriz, donde la clave permite identificar
s

los agregados y las características o propiedades del agregado se representan mediante columnas
do

y/o agrupaciones de columnas.


ca

[[[Elemento Multimedia]]]
ifi

Modelos de agregación
rt
ce

En estos modelos de agregación lo primero que hay que hacer es el diseño del agregado y esto esta

guiado por las necesidades del usuario y los requerimientos de la aplicación. Es decir, hay que

recoger cuál es la información relevante para el usuario y unirla en un objeto llamado agregado

donde estará toda esa información clave para el usuario.

Modelo clave-valor

El modelo clave-valor es el modelo más simple dentro de los modelos de agregación, dado que el

agregado constituye un par (clave, valor) es decir almacena los datos, valores identificados a través

certificados.institutoeuropa.com
15 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

de una clave. De esta forma el tipo de dato no es importante tan solo la clave y el valor que tiene

asociado. El sistema gestor de la base de datos desconoce la estructura interna asociada al agregado

lo que no significa necesariamente que el agregado no tenga estructura, sino que esta solo será

comprendida por los programas que manipulan los agregados. La clave de cada clase de agregado

puede tener un significado dentro del dominio que se va a modelar. Este sería el caso, por ejemplo,

de claves como nombres de usuario, direcciones de email, coordenadas cartesianas para el

almacenamiento de datos de geolocalización etc.

m
co
a.
op
ur
oe
ut
it
st
s .in
do

Estas bases de datos son muy eficientes para realizar lecturas y escrituras y son muy fácilmente
ca

escalables a partir de su clave. Estas bases de datos son perfectas para entornos altamente
ifi

distribuidos y aplicaciones que necesiten escalar horizontalmente. El límite está en el modelo de

datos tan simple que proporcionan, que dificulta realizar consultas complejas sobre la base de datos.
rt
ce

Algunos ejemplos son Cassandra, Hbase o BigTable.

Modelo documental

El modelo documental es una extensión del modelo clave-valor, donde el agregado recibe el nombre

de documento y tiene una estructura interna que es conocida por el sistema gestor de la base de

datos. Aunque los documentos puedan tener una estructura interna no es necesario definirla de

antemano, sino que será implícita y dependerá de cómo están estructurados los datos en los

documentos.

certificados.institutoeuropa.com
16 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

En consecuencia, distintos documentos que representen el mismo concepto del mundo real (por

ejemplo, los datos de dos personas) pueden tener estructuras totalmente distintas o variaciones de

la misma estructura. Esta estructura interna simplifica el desarrollo de aplicaciones, pero reduce la

flexibilidad del modelo clave-valor. La estructuración interna puede ser aprovechada por el sistema

gestor de la base de datos. Así, por ejemplo, los documentos se podrán recuperar mediante su clave

o mediante el valor que toman sus atributos. También es posible acceder a partes del documento y

crear índices que ayuden a recuperar eficientemente los documentos almacenados en la base de

m
datos. Los documentos se pueden agrupar en colecciones.

co
a.
op
ur
oe
ut
it
st
s .in
do

Ejemplos de este tipo de bases de datos son MongoDB o Raven DB


ca

Modelo de columnas
ifi

Las bases de datos NoSQL que siguen el modelo de agregación orientada a columnas organizan los
rt

datos por filas que se guardan en tablas. Conceptualmente, podemos ver este modelo como un
ce

modelo bidimensional (una matriz), donde cada fila de la tabla representa un agregado y es

accesible a partir de una clave. Hasta ahora no hay ninguna novedad respecto a los modelos de

agregación vistos anteriormente. No obstante, en este modelo, los datos de los agregados (es decir,

cada una de las filas) se organizan en columnas. Un agregado en este caso es un conjunto de

columnas, donde cada columna está formada por una tripleta compuesta por el nombre de la

columna, el valor de la columna y una marca de tiempo que indica cuándo se añadió la columna en la

base de datos. Un conjunto de columnas puede agruparse en una nueva estructura, llamada

certificados.institutoeuropa.com
17 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

normalmente familia de columnas.

Una familia de columnas tiene un nombre y una semántica muy definida. Habitualmente, dentro

de una agregación, una familia de columnas representa un concepto de la agregación. Por ejemplo,

entendiendo un estudiante como un agregado (fila), tres de sus familias de columnas podrían ser,

respectivamente, sus atributos personales, su domicilio y los estudios previos realizados por el

estudiante. En un modelo de agregación de columnas se puede acceder a una fila (o agregado)

concreto a partir de su clave. Pero también es posible obtener información sobre una familia de

m
columnas para todos los agregados. Esto permite realizar búsquedas que pueden ser muy útiles en

co
según qué problemas.

a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

Modelos de grafo

Estos modelos permiten representar los datos utilizando estructuras de grafos. Un grafo es una

representación abstracta de un conjunto de objetos. Los objetos de los grafos se representan

mediante vértices (también llamados nodos) y aristas.

certificados.institutoeuropa.com
18 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

Los nodos permiten representar objetos de la vida real y las aristas representan la relación entre

ellos. Los nodos serian el equivalente a las relaciones en el modelo relacional. Las aristas

m
representan relaciones entre objetos del mundo real y serían el equivalente a las claves foráneas en

co
el modelo relacional.

a.
op
Los tipos, propiedades y algoritmos sobre grafos se estudian en una rama de las matemáticas

denominada matemática discreta. El modelo en grafo es útil cuando los datos a almacenar tienen

ur
multitud de relaciones y cuando la importancia recae más en las relaciones entre los datos que en
oe
los datos en sí. En consecuencia, este tipo de bases de datos tiende a almacenar pocos datos de los
ut

objetos del mundo real pero muchos datos sobre sus interrelaciones, a diferencia de lo que
it

acostumbra a suceder en bases de datos relacionales, donde hay mucha información de los datos y
st

pocas interrelaciones entre ellos representadas por claves foráneas.


s .in
do
ca
ifi
rt
ce

Hay distintos tipos de grafos en función de las características del grafo y de sus elementos. Los

modelos NoSQL en grafo no siguen todos los mismos modelos de grafo, no obstante el modelo más

utilizado es un modelo de grafo dirigido con propiedades de etiquetado. Bajo esta suposición, los

modelos en grafo están compuestos de nodos, aristas, etiquetas y propiedades. Los nodos y las

certificados.institutoeuropa.com
19 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

aristas se pueden etiquetar, se puede asignar una cadena de texto a los mismos para facilitar su

lectura y proveer mayor semántica.

Es común que distintas relaciones compartan la misma etiqueta, ya que la etiqueta en las aristas se

utiliza para identificar el tipo de relación al que pertenecen. También es posible definir propiedades,

tanto a nivel de nodo como a nivel de arista. Las propiedades son parejas que se asignan a un

elemento del modelo. La clave es una cadena de caracteres, mientras que el valor puede responder a

un conjunto de tipos de datos predefinidos. Los modelos en grafo no son tan fácilmente escalables

m
como los modelos de agregación, ya que los datos están altamente relacionados, lo que implica que

co
distribuir los datos en diferentes ordenadores puede suponer eliminar relaciones entre los datos. Por

a.
este hecho, la distribución de datos en estos modelos es compleja. Un ejemplo de base de datos de

op
grafos es Neo4j.

ur
A continuación en esta gráfica se pueden ver características de algunas de las bases de datos
oe
NoSQL.
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
20 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

Ventajas de los Sistemas NoSQL

Las principales ventajas de utlizar sistemas NoSQL son:

certificados.institutoeuropa.com
21 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

Respuesta a necesidad de escalabilidad horizontal.

Manejo de cantidades de datos muy grandes.

Sin cuellos de botella.

Sencillez en el escalamiento.

Diferentes bases de datos NoSQL para diferentes proyectos.

Son ejecutados en clusters de equipos baratos.

m
Desventajas de los Sistemas NoSQL

co
Las principales desventajas de usar sistemas NoSQL son:

a.
op
Soporte distinto al ser código open-source.

ur
Posible falta de madurez para algunas empresas. oe
Limitación en la inteligencia de negocios.

Falta de experiencia de los desarrolladores/administradores.


ut

Problemas de compatibilidad.
it
st
.in

Tipos de bases de datos NoSQL y ejemplos


s
do

Como se comentó anteriormente, las bases de datos NoSQL habitualmente son definidas según el
tipo de datos con los cuales van a funcionar.
ca

En este sentido, en la siguiente imagen se pueden comprobar los diferentes tipos de bases de datos
NoSQL existentes y ejemplos de bases de datos de cada tipo:
ifi
rt
ce

Apache HBase es una base de datos distribuido no relacional de código abierto escrita en Java.

Apache Cassandra es una base de datos NoSQL distribuida y basada en un modelo de

almacenamiento de clave-valor, de código abierto escrita en Java.

certificados.institutoeuropa.com
22 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

¿Qué es MongoDB? Fué creada en 2007 por la empresa 10gen, ahora MongoDB Inc. El nombre de

MongoDB proviene de “humongous” que significa enorme en inglés. MongoDB es una base de datos

NoSQL de software libre, escalable y de alto rendimiento desarrollada en C++.

m
co
a.
Apache HBase es una base de datos distribuida no relacional de código abierto escrita en Java. Su

op
desarrollo forma del proyecto Hadoop y se ejecuta sobre el HDFS de Hadoop, de esta manera nos

proporciona capacidades de estilo BigTable para Hadoop. Nos proporciona un sistema tolerante a

ur
fallos capaz de almacenar grandes cantidades de datos dispersos.
oe
ut
it
st
s .in
do
ca
ifi
rt

Hbase incluye operaciones de compresión en memoria y filtro de Bloom en cada columna. Las tablas
ce

de HBase pueden servir como entrada o salida para tareas MapReduce realizadas en Hadoop.

Podremos acceder a través de la API de en Java, con los API de conexión Avro y Thrift o como un

servicio REST. Hbase es un almacén de datos orientado a columnas de tipo clave- valor basado en

Hadoop y HDFS. Hbase no reemplaza las bases de datos SQL clásicas, aunque el proyecto Apache

Phonix proporciona una capa de SQL para Hbase.

Hbase se utiliza en sitios web orientados a datos principalmente.

Diferenciándose de las bases de datos relacionales tradicionales, Apache HBase da soporte a scripts

certificados.institutoeuropa.com
23 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

en Java que emplean un motor de cálculo parecido a MapReduce y no a consultas SQL.

Haciendo referencia al teorema de CAP, Apache HBase es un sistema CP (consistencia y tolerancia

a particiones).

m
co
a.
op
ur
oe
Un poco de historia
ut

Apache HBase comenzó como proyecto de la empresa Powerset para dar solución al procesamiento
it

masivo de datos en las búsquedas con lenguaje natural.


st
.in

En la actualidad, Apache HBase es un proyecto Apache de nivel superior.


s
do

A finales de 2010, Facebook eligió Apache HBase para desarrollar su nueva plataforma de

mensajería.
ca
ifi
rt
ce

Características y beneficios de Apache HBase

certificados.institutoeuropa.com
24 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

Desempeño rápido a escala

Está diseñado para, a la vez que realiza sus funciones, escala cientos de nodos. Usa Amazon

S3 o HDFS como almacén de datos tolerante a fallos.

Ejecuta en tablas de HBase cargas de trabajo de análisis

Gracias a la perfecta integración en Apache Hadoop, puede ejecutar fácilmente cargas de

trabajo de análisis de forma masiva paralelamente a los datos guardados en tablas de HBase.

m
co
Flexibilidad de modelo de datos

a.
Es un almacén de columnas anchas que permiten definir columnas arbitrarias para cada fila

op
con el fin de poder hacer filtros. Además pone un sello de tiempo en cada celda para poder

ur
acceder al historial de los datos. oe
Integración de Amazon EMR
ut

Se puede desarrollar un clúster de Amazon EMR totalmente configurado en muy poco


it
st

tiempo.
.in

Almacenamiento de Amazon S3 para HBase


s
do

Amazon EMR da la posibilidad de utilizar Amazon S3 para almacenar datos para Apache
ca

HBase mediante sistema de archivos EMR.


ifi
rt

¿Por qué usar esta tecnología y que problema resuelve?


ce

Apache HBase es una base de datos NoSQL que cada vez está viendo un mayor uso debido al uso

actual del big data.

Su programación en Java es muy simple y permite escalar HBase muy fácilmente. Es muy

resistente y tolerante a fallos y puede utilizar gran variedad de tipos de datos por lo que es muy útil

para escenarios comerciales variados.

Al ser una tabla orientada a columnas, hace muy fácil la búsqueda de datos correctos entre millones

certificados.institutoeuropa.com
25 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

de campos de datos.

HBase es perfecto para el procesamiento analítico de datos. También es perfecto para manejar

grandes cantidades de lecturas/escrituras. Esta capacidad de esta tecnología puede escalar

incluso a millones/segundo.

Facebook utiliza esta tecnología para aplicaciones de mensajería en tiempo real y Pinterest para

tareas que lanzan hasta 5 millones de operaciones/segundo.

m
co
El esquema de los datos es variable y es muy costoso de gestionar con bases de

a.
datos relacionales. Como ejemplo, las aplicaciones que gestionan datos con
múltiples orígenes y formatos, un comparador de precios online.

op
Verdadero.

ur
oe
Falso.
ut
it
st

Una de las características atribuidas a las bases de datos NoSQL es:


.in

Su originalidad.
s
do

Su versatilidad.
ca
ifi
rt
ce

certificados.institutoeuropa.com
26 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

Cassandra.

Apache Cassandra es una base de datos NoSQL distribuida y basada en un modelo de

almacenamiento de clave-valor, de código abierto, escrita en Java. Permite grandes cantidades de

datos en forma distribuida. Su objetivo principal es la disponibilidad y la escalabilidad lineal. La

arquitectura distribuida de Apache Cassandra está basada en una serie de nodos iguales que se

comunican utilizando un protocolo P2P maximizando así la redundancia.

m
co
a.
op
ur
oe
Cassandra nos ofrece un soporte robusto para varios centros de datos, utilizando la replicación
ut

asíncrona sin necesidad de un servidor maestro.


it

El modelo de datos de Apache Cassandra consiste en particionar filas, reorganizándolas en tablas.


st

Las claves primarias de cada tabla tienen un componente inicial que es la clave para esta partición.
.in

Dentro de la partición, las filas son agrupadas por las columnas restantes de la clave.
s
do

Las tablas de Cassandra se pueden crear, eliminar y modificar en tiempo de ejecución sin bloquear
ca

actualización o consultas de las tablas.


ifi

Completa la frase con los conceptos correspondientes.


Apache [[Cassandra]] es una base de datos [[NoSQL]] distribuida y basada en un modelo de
rt

almacenamiento de [[clave-valor]], de código abierto escrita en [[Java]]. Permite grandes cantidades


ce

de datos en forma distribuida. Su objetivo principal es la disponibilidad y la escalabilidad [[lineal]].


La arquitectura distribuida de [[Apache]] Cassandra está basada en una serie de nodos iguales que
se comunican utilizando un protocolo [[P2P]] maximizand1o así la redundancia.

Cassandra nos ofrece un soporte robusto para varios centros de datos, utilizando la
replicación asíncrona sin necesidad de un servidor maestro.

Historia

Originalmente, Cassandra fue desarrollado por Facebook para potenciar la funcionalidad de

certificados.institutoeuropa.com
27 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

búsqueda en el inbox.

En 2008 pasó a ser un proyecto de código libre (open-source) para pasar, a principios de 2010, a

formar parte de un proyecto de alto nivel de la fundación Apache.

Actualmente, Cassandra es mantenido y desarrollado por la compañía Datastax.

El nombre de esta base de datos NoSQL está inspirado en la sacerdotisa de la mitología Griega

Cassandra, que tenía el don de la profecía y fue la encargada de prever el engaño del caballo de

m
Troya.

co
a.
op
ur
oe
Arquitectura y características
ut

Cassandra proporciona disponibilidad y tolerancia a particiones. El nivel de consistencia puede


it

configurarse.
st
.in

Al ser una base de datos NoSQL, es distribuida, por lo que la información se


s

reparte en los nodos del cluster. A su vez ofrece una alta disponibilidad haciendo
do

que, aunque un nodo se caiga, el servicio no se degrade.


ca

Tiene un escalamiento lineal, por lo que el rendimiento crece conforme

añadimos nodos.
ifi

También tiene un escalamiento horizontal, por lo que podemos escalar el


rt
ce

sistema añadiendo nodos con hardware de bajo coste.

Tiene una arquitectura peer-to-peer, lo que hace que se eliminen los puntos de

fallo único y no utiliza patrones maestro-esclavo.

Cualquier nodo puede ejercer como coordinador de una consulta y es el driver el que decide cual

nodo es el coordinador.

Los nodos están repartidos de forma equitativa en el rango de tokens -263 a 263.

certificados.institutoeuropa.com
28 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

m
co
a.
op
ur
oe
ut
it
st

Fuente: datastax.com
s .in

Lenguaje CQL
do

CQL (Cassandra Query Language) es el lenguaje para el acceso a los datos en Cassandra y es un
ca

derivado de SQL.
ifi
rt

Para interactuar con Cassandra mediante CQL utilizamos la shell de CQL llamada cqlshell. También
ce

se puede usar con herramientas gráficas como DevCenter.

certificados.institutoeuropa.com
29 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

m
co
a.
Probemos Cassandra en una máquina virtual

op
Vamos a probar Cassandra DataStax mediante una máquina virtual "out-of-the-box" con la última

ur
versión de Cassandra y podemos añadirla a VirtualBox o VMWare.
oe
Para poder probarlo deberemos de descargar el archivo "Cassandra OVA" e importarlo a nuestro
ut

sistema de visualización. Para poder acceder a la máquina virtual es necesario configurar el acceso
it

en red.
st

Cuando hayamos instalado la máquina virtual, al arrancar tendremos la dirección IP por la que
.in

podemos acceder a la interfaz web que trae consigo.


s
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
30 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

m
co
a.
op
ur
oe
ut

Fuente: geekytheory.com
it

Para este ejemplo, la IP que tenemos asignada es 192.168.159.160, por lo que, voy al navegador y
st

acceso a la URL: http://192.168.159.160


s .in
do
ca
ifi
rt
ce

Fuente: geekytheory.com

certificados.institutoeuropa.com
31 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

En la imagen podemos ver una consola con el superusuario de la máquina y otra consola con la

interfaz cqlsh.

En la interfaz cqlsh podemos probar las sentencias que deseemos para administrar y usar la base

de datos.

Vamos a comenzar creando el keyspace, que hace referencia al lugar donde se guardan todos los

datos de nuestra aplicación.

m
co
a.
Ahora vamos a ejecutar la siguiente consulta:

op
ur
oe
Y el resultado sería:
ut
it
st
.in

Vamos a indicar que queremos usar el keyspace geeky:


s
do
ca
ifi

Fuente: geekytheory.com
rt

Ahora vamos a crear la tabla de usuarios.


ce

Si queremos obtener más información sobre esta tabla usuarios que acabamos de crear, habría

que ejecutar:

certificados.institutoeuropa.com
32 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

Si queremos insertar varios usuarios:

m
co
a.
op
ur
Si ahora ejecutamos:
oe
ut
it

Nos aparecerá el siguiente resultado:


st
s .in
do
ca
ifi
rt
ce

Fuente: geekytheory.com

Si queremos obtener una entrada en concreto, pondremos la siguiente consulta:

certificados.institutoeuropa.com
33 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

Ahora vamos a probar el comando UPDATE.

m
Cassandra no lee nunca antes de escribir, por lo que al hacer UPDATE o INSERT, se

co
sobrescribirá las columnas de una entrada y no importará los datos que previamente hubiera

a.
almacenados.

op
ur
oe
Ejecutamos la siguiente consulta:
ut
it
st
s .in
do
ca

Si queremos borrar una entrada usamos:


ifi
rt
ce

Para comprobar que la consulta anterior se ha ejecutado correctamente y el usuario ha sido borrado

volvemos a consultar la tabla:

Fuente: geekytheory.com

certificados.institutoeuropa.com
34 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

Conclusión

Cassandra es una solución ideal para muchos casos del mundo Big Data.

De forma ideal habría que tener claro, desde un principio, el uso y el tipo de consultas que

vamos a hacer para que el diseño de la base de datos sea lo más coherente posible.

m
De esta manera, podremos manejar un volumen de datos muy grande y aprovechar las ventajas

co
de esta base de datos NoSQL.

a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
35 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

MongoDB.

¿Qué es MongoDB?

Creada en 2007 por la empresa 10gen, ahora MongoDB Inc. El nombre de MongoDB proviene de

“humongous” que significa enorme en inglés. MongoDB es una base de datos NoSQL de software

libre, escalable y de alto rendimiento desarrollada en C++ y disponible en multitud de sistemas

operativos Linux, Windows, Solaris etc…. Si recordamos el teorema CAP de la unidad anterior,

m
MongoDB es una base de datos NoSQL CP, es decir contiene una visión consistente de los datos

co
frente a la disponibilidad de las particiones. Es una de las bases de datos NoSQL más populares.

a.
Como características importantes cabe destacar:

op
ur
Almacenamiento orientado a documentos BSON, un formato binario de documentos JSON.
oe
Replicación maestro-esclavo y alta disponibilidad.

Soporte de índices.
ut

Consultas, también basadas en documentos.


it

APIs y drivers para muchos lenguajes de programación.


st

Escalabilidad horizontal.
.in

GridFS, que permite almacenar ficheros de cualquier tamaño sin necesidad de complicar el
s
do

entorno.

No hay transacciones por lo que es más rápida y escalable.


ca
ifi

GridFS dentro de MongoDB especifica el almacenamiento y recuperación de ficheros que exceden


rt

los 16 MB. Con GridFS en lugar de almacenar un fichero en un único documento se divide este
ce

fichero en partes y cada uno de estos se almacena en un documento separado.

Es importante destacar que es una base de datos orientada a documentos, es decir almacena la

información en documentos BSON, formato binario de JSON lo que aporta dinamismo y flexibilidad.

MongoDB almacena cada registro en un documento.

certificados.institutoeuropa.com
36 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

m
co
a.
Otra característica importante es que los documentos de una misma colección, este concepto es

op
similar a una tabla de una base de datos relacional, no tienen por qué tener el mismo formato o

esquema. Por ejemplo podemos tener un documento en MongoDB tal que

ur
oe
{Nombre: "Enrique",
ut

Apellidos: "López Díaz",


it
st

Edad: 32,
.in

Aficiones: ["running", "natación", "ciclismo"],


s
do

Amigos: [
ca

{Nombre: “Ana", Edad: 29},


ifi

{Nombre: "Juan", Edad: 32}


rt
ce

Y en la misma colección podríamos tener este documento

{Nombre: "Luis",

Estudios: "Ciencias Físicas",

certificados.institutoeuropa.com
37 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

Amigos: 12

Esta situación no es posible en una misma tabla de una base de datos relacional

2. Funcionamiento y usos de MongoDB

MongoDB sigue un modelo de datos de agregación orientado a documentos. Las consultas se hacen

m
pasando como parámetros documentos JSON, por ejemplo:

co
db.Clientes.find({Nombre:"Ana"});

a.
op
Devolverá todos los documentos cuyo nombre sea Ana.

ur
MongoDB viene de serie con una consola muy potente en la que podemos ejecutar los comandos
oe
pero necesitamos abrir un terminal para cada sesión iniciada en MongoDB y podemos perder los

resultados fácilmente. Para evitar esto existen herramientas con las que podemos administrar de
ut

forma gráfica y fácil MongoDB. Además la interfaz de MongoDB no es nada atractiva. Una de estas
it

herramientas, fácil de instalar y usar es RoboMongo que toma la Shell de MongoDB y la integra en
st

un entorno gráfico con toda su funcionalidad y añadiendo más facilidades como:


s .in

Múltiples conexiones a bases de datos separadas por pestañas.


do

Resaltado de sintaxis y autocompletado de código.


ca
ifi

¿Dónde es útil usar MongoDB? Cualquier aplicación que necesite almacenar datos semi
rt

estructurados. Es muy útil en entornos que necesiten escalabilidad ya que es relativamente fácil
ce

configurar sus opciones de escalabilidad. También en aplicaciones que almacenan grandes

cantidades de datos complejos, por ejemplo aplicaciones como un blog que tiene post, comentarios

etc... O aplicaciones de analítica.

3. Primeros pasos con MongoDB: Instalación y Shell de comandos

MongoDB versión 5.0.2. hay que descargarlo de:

https://descargar.freedownloadmanager.org/Windows-PC/MongoDB/GRATIS-5.0.2.html

certificados.institutoeuropa.com
38 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

La recomendación desde aquí es bajar una versión anterior a la actual por estabilidad de la

versión, así que bajaremos la versión 3.0.12. No es necesario registrarse aunque pueda parecer que

sí. Hacemos doble clic en el programa mongodb-win32-x86_64-2008plus-ssl-3.0.12-signed.msi (para

Windows) y seguimos las instrucciones para la instalación. Veámoslo paso a paso:

m
co
a.
op
ur
oe
ut

Aceptamos las condiciones y seleccionamos instalación completa


it
st
s .in
do
ca
ifi
rt
ce

Haciendo clic en “Complete” se nos muestra la siguiente pantalla donde haremos clic en “Install”

certificados.institutoeuropa.com
39 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

m
co
a.
op
Y el programa inicia la instalación.

ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
40 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

Finalizada la instalación.

m
co
a.
op
ur
Una vez tenemos instalado MongoDB vamos a descargar Robomongo, la interfaz gráfica que vamos a
oe
usar para manejar MongoDB por ser bastante más amigable. Descargamos la última versión de
ut

https://robomongo.org/download
it
st
s .in
do
ca
ifi
rt
ce

Se descargará el programa Robo 3T 1.4.3 (para Windows) y haciendo doble clic:

certificados.institutoeuropa.com
41 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

m
co
a.
Aceptamos las condiciones.

op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
42 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

Indicamos el directorio de instalación y hacemos clic en “Siguiente” en la pantalla anterior y se nos

muestra.

m
co
a.
op
ur
oe
ut

Donde seleccionamos la carpeta para los accesos directos y hacemos clic en “Instalar”.
it
st
s .in
do
ca
ifi
rt
ce

Hasta que finaliza la instalación.

certificados.institutoeuropa.com
43 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

m
co
a.
op
Una vez completada la instalación vamos a configurarlo para que todo funcione correctamente.

ur
Verificamos que se ha creado el directorio C:\data\db Si no está, lo creamos. Vamos ahora a iniciar
oe
MongoDB que es una aplicación que escucha por el puerto 27017. Para ello:
ut

Abrimos una sesión de Símbolo de Sistema, cmd y nos movemos al directorio de instalación de
it
st

MongoDB que en vez de esta ruta podría ser en C:\Program Files\mongodb\bin.


s .in
do
ca

En este directorio hay varios programas y ficheros y entre ellos, dos son los que interesan.
ifi

Ejecutaremos en primer lugar mongod.exe.


rt
ce

certificados.institutoeuropa.com
44 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

m
co
a.
op
ur
oe
ut
it
st

Como se ve, el programa mongod.exe se queda a la espera de conexiones por el puerto 27017.
.in

Una forma de verificar que MongoDB está funcionando es abrir una sesión de un explorador e
s
do

intentar acceder al puerto 27017, localhost:27017 y debe mostrarse.


ca
ifi
rt
ce

Pero debemos tener ejecutándose, como se ha indicado antes el programa mongod.exe

Como vemos está funcionando correctamente. Una vez está funcionando correctamente MongoDB

tenemos 2 opciones para trabajar:

certificados.institutoeuropa.com
45 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

Con la interfaz de Robo 3T. Arrancamos Robo 3T haciendo clic en el icono de acceso directo o

en el directorio de instalación en el programa \Robo 3T 1.4.3\robo3t.exe

m
co
a.
op
ur
oe
ut
it

Y hacemos clic en File/Connect y se mostrara la ventana anterior. Hacemos clic en Create.


st
s .in
do
ca
ifi
rt
ce

Automáticamente aparecen completados los parámetros a excepción del nombre de la conexión. Lo

completamos con lo que queramos y hacemos clic en Test para verificar que está correcto.

certificados.institutoeuropa.com
46 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

m
co
a.
op
ur
Como está todo correcto hacemos clic en Save. oe
ut
it
st
s .in
do
ca
ifi
rt
ce

Y ya podemos empezar a crear la primera base de datos en MongoDB.

2. O también Directamente usando la consola que proporciona MongoDB. Para ello en el

directorio bin del directorio de instalación de MongoDB \mongodb\bin hay que ejecutar el

programa mongo.exe.

certificados.institutoeuropa.com
47 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

Y se mostrara la consola de mongoDB.

m
co
a.
op
ur
oe
ut
it
st
s .in
do

En la siguiente imagen se muestra la equivalencia de conceptos entre un modelo relacional y

MongoDB.
ca
ifi
rt
ce

Comentar solo que al insertar documentos en una colección, MongoDB crea de forma automática un

campo clave primaria _id. Esta clave, por defecto numérica la podemos indicar al crear el documento

porque nos sea más útil así o dejar que la propia base de datos la cree.

Dentro de RoboMongo vamos a crear una base de datos. Con el botón derecho del ratón en la

certificados.institutoeuropa.com
48 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

conexión, hacemos clic en Create Database.

m
co
a.
op
ur
oe
ut
it

Le asignamos un nombre y hacemos clic con el botón derecho en la nueva base de datos para crear
st

una colección de documentos.


s .in
do
ca
ifi
rt
ce

Y ya tenemos la primera Colección creada. Ahora insertaremos documentos. Si hacemos clic en

Insert Document.

certificados.institutoeuropa.com
49 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

m
Y se mostrara la ventana para añadir un nuevo documento.

co
a.
op
ur
oe
ut
it
st
s .in
do
ca

Creamos un documento JSON siguiendo el formato que vimos en la unidad anterior. Imaginemos
ifi

que queremos añadir películas con los campos título, fecha estreno, sinopsis, director, productora,
rt

protagonistas etc...
ce

certificados.institutoeuropa.com
50 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

m
co
a.
op
Hemos creado un subdocumento, protagonista dentro del documento principal película. Hacemos

ur
clic en Validate y nos muestra “JSON is valid!”. Si hay algún error nos indica la descripción del
oe
error y la línea donde se produce. Probar por ejemplo a eliminar una coma. Si lo insertáramos
ut

directamente en la consola de MongoDB podríamos crear una variable registro como:


it
st

registro ={ descripcion: "Mando xBox negro",precio: 10, tags: ["consolas", "xbox",


.in

"entretenimiento"], vendedor: {email: "pperez@gmail.com", psw: "pperez"}, localizacion:

{longitude: 37.743671, latitude: -2.552276}, estado: "disponible", contraofertas: [ {email:


s
do

"llopez@gmail.com", psw: "llopez", oferta: 8}, {email: "ggomez@gmail.com", psw: "ggomez", oferta:

7, } ] }
ca
ifi

Y a continuación realizar el insert:


rt

db.items.insert (registro)
ce

Donde ítems es el nombre de la colección y donde db es la base de datos que la seleccionamos como:

use Pruebas

Podemos añadir el campo de la clave primaria que queramos indicar porque nos convenga con lo

que el nuevo documento seria, con una clave de tipo texto:

registro ={ _id:”producto1”, descripcion: "Mando xBox negro”, precio: 10, tags: ["consolas", "xbox",

certificados.institutoeuropa.com
51 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

"entretenimiento"], ……}

db.items.insert (registro)

O con una clave numérica

registro ={ _id:1, descripcion: "Mando xBox negro”, precio: 10, tags: ["consolas", "xbox",

"entretenimiento"], ……}

m
db.items.insert (registro)

co
Veámoslo en la consola de MongoDB:

a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

Comprobamos que es mucho más amigable Robomongo que la consola de MongoDB.

También lo podemos hacer desde la consola de Robomongo, abriendo una consola.

certificados.institutoeuropa.com
52 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

m
co
a.
op
ur
oe
O haciendo doble clic en la colección donde queremos añadir el documento nuevo. Escribimos la
ut

sentencia como si fuera la consola de MongoDB y hacemos clic en play, botón flecha verde superior.
it
st
s .in
do
ca
ifi
rt
ce

Otra manera de añadir documentos a una colección es mediante el comando “save”.

db.items.save({descripcion:"PRUEBA",precio:50})

O seleccionando la clave que indiquemos:

db.items.save({_id:120,descripcion:"PRUEBA",precio:50})

Si no indicamos la clave primaria, MongoDB no sabe exactamente que registro actualizar por lo que

certificados.institutoeuropa.com
53 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

en este caso,

db.items.save({descripcion:"PRUEBA",precio:50})

Insertará un registro nuevo siempre. En el segundo caso que si indicamos la clave primaria, lo

actualizara si existe o lo insertará si la clave no existe. Veámoslo:

m
co
a.
op
El comando save devuelve un mensaje indicando que ha actualizado un nuevo registro es decir ha

ur
sido añadido.
oe
La diferencia entre realizar un insert o un save es que con un insert siempre debemos insertar un
ut

nuevo documento ya que si insertamos uno cuya clave primaria ya exista se producirá este error.
it
st
s .in
do
ca

En cambio si lo hacemos con el comando save.


ifi
rt
ce

No nos devuelve ningún error pero nos indica que ha actualizado un registro existente. Esta es la

diferencia con el comando insert.

Usaremos uno u otro dependiendo de las restricciones de la aplicación.

certificados.institutoeuropa.com
54 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

Para eliminar un documento, la sintaxis para eliminar documentos de la colección items.

db.items.remove({})

Por ejemplo

m
co
a.
op
La sintaxis para eliminar una colección, en este caso la colección items:

ur
db.items.drop() oe
La sintaxis para eliminar una base de datos, por ejemplo la actual:
ut

db.dropDatabase()
it
st

Actualizar un registro en Robomongo es muy fácil. Con el botón derecho del ratón hacemos clic en
.in

el documento que queremos modificar, se abre en modo edición, modificamos el campo que
s

deseemos, validamos y si está todo OK, salvamos el nuevo registro


do

Si lo hiciéramos en la consola de Mongo DB:


ca
ifi
rt
ce

La sintaxis general es:

db.collection.update( < query >, <update>, <param>)

Por ejemplo:

db.items.update( {descripcion: "Mando xBox negro"}, {$set:{ estado: "vendido", precio:300} })

certificados.institutoeuropa.com
55 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

Donde db es la base de datos actual e ítems es la colección donde está el documento a actualizar.

Buscamos el registro a actualizar, por la clave primaria por ejemplo y actualizamos el campo estado

m
y precio tal y como indica la instrucción $set. En este parámetro $set también podemos indicar

co
tanto los campos que queremos modificar como campos nuevos que queramos añadir. Sin distinción,

a.
si existe lo actualizará y si no existe lo creará.

op
Un parámetro interesante del comando update es “upsert”. Por defecto es false pero si lo ponemos

ur
a true lo que hace es que si el registro a actualizar o existe lo inserta con los datos que le pasemos:
oe
ut
it
st
.in

Otro parámetro útil del comando update es “multi” Por defecto es false pero si lo ponemos a true
s

actualizara todos los documentos que se obtengan de la query. Por defecto es decir false, solo
do

actualizara uno, el que tenga menos id.


ca
ifi
rt
ce

Otros parámetros:

PARÁMETRO DESCRIPCIÓN EJEMPLO

certificados.institutoeuropa.com
56 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

$inc Incrementa en una $inc:{age:1}


cantidad numérica
especificada el valor
del campo en
cuestión.
$rename Renombrar campos $rename:{‘age’:’edad’}
del documento.
$set Permite especificar $set:{esAmigo:true, age:25}
los campos que van
a ser modificados.
$unset Eliminar campos del $unset:{esAmigo:’’}

m
documento.

co
$pop Elimina el primero o $pop:{secciones:1} para el último o $pop:{secciones:-1}
último valor. para el primero

a.
$pull Elimina los valores $pull:{secciones:`jQuery’}
de un array que

op
cumplan con el filtro
indicado.

ur
$pullAll Elimina los valores $pullAll:{secciones:[‘Haskell’.’Go’]}
oe
especificados.
$push Agrega un elemento. $push:{secciones:{$each:[‘Haskell’,’Go’,’ActionScript’]}}
ut

$addToSet Agrega elementos $addToSet{secciones:`jQuery}


solo si estos no
it

existen ya.
st
.in

El parámetro $pop de la sentencia update nos permite...


s

Eliminar el primero o último valor.


do
ca

Especificar los campos que van a ser modificados.


ifi

Eliminar valore específicos.


rt
ce

Los índices en MongoDB se crean como índices B-Tree o Arbol-B es decir, que si se crea un índice

sin especificar de qué tipo es, la base de datos lo creara de tipo B-Tree. La estructura de un índice B-

Tree tiene la forma de un árbol invertido. Generalmente los índices B-Tree tienen uno o más

niveles. Cada rama de un nivel contiene información sobre otras ramas del nivel inmediatamente

inferior. La estructura B-Tree se diferencia de otras estructuras tipo árbol en que cada nodo puede

tener muchos hijos. Una imagen aclarara el concepto:

certificados.institutoeuropa.com
57 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

m
co
a.
op
MongoDB genera los índices en forma de árbol invertido B-Tree, es decir los datos los guarda en

ur
forma de árbol según los índices creados lo que incrementa considerablemente la velocidad de
oe
búsqueda y también la velocidad a la hora de devolver los resultados y además es capaz de recorrer
ut

los índices en ambos sentidos, de arriba abajo y de abajo hacia arriba.


it

Para mejorar la eficiencia de los índices se recomienda que tengan una cardinalidad alta.
st

Expliquemos primero que es la cardinalidad en este contexto. Para ello imaginemos un diccionario
.in

de palabras, es fácil encontrar una palabra porque cada palabra es única y están además en orden
s

alfabético. Pero ahora imaginemos que el diccionario esta agrupado por las primera letra de cada
do

palabra, de a habrá centenas y de m también y para buscar hueco tendríamos que buscar la h,
ca

sencillo al estar agrupado por la primera letra pero leeríamos cada palabra de la letra h para poder
ifi

encontrar hueco. No es óptimo si no bastante laborioso.


rt

Exactamente en esto consiste la cardinalidad, cuantos más valores únicos tengan los campos o
ce

atributos que conforman el índice más óptimo y eficiente será. Si uno de los datos que guardamos es

la edad, puede que no sea un campo adecuado para un índice ya que habrá muchos de 29, 43 o 38

años pero si creamos un campo en los documentos que sea rango de edad, de 20 a 30, de 30 a 40

etc.. Este campo si sería óptimo para un índice.

Los índices se definen a nivel de colección. Por defecto, para cada colección, siempre se crea un

índice único sobre su clave primaria, es decir, sobre el campo _id. Como ya hemos visto, esto evita

que se puedan dar de alta en una colección dos documentos con el mismo identificador.

certificados.institutoeuropa.com
58 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

Los índices en MongoDB pueden clasificarse según el número de campos indexados en:

m
co
a.
op
ur
Estos pueden ser únicos y sparse. Será único si con ese índice se identifica de forma unívoca un
oe
documento y será sparse si los documentos que indexa tienen al menos un campo del índice; si no

tienen ningún campo del índice no será indexado el documento. Si tenemos una colección de
ut

documentos que tiene los campos (descripción corta, descripción larga, edad, dirección, ciudad,
it

país) y creamos un índice por descripción corta y país los documentos que contengan al menos uno
st

de esos dos campos serán indexados con el índice, pero aquellos que no contengan ni descripción
.in

corta ni país no serán indexados.


s
do

Ya hemos visto que MongoDB utiliza índices para optimizar el acceso a datos, se definen a nivel de
ca

colección y por defecto siempre se crea un índice como clave primaria “_id” que podemos crear

nosotros o MongoDB. En los casos anteriores cuando añadíamos un documento se crea


ifi

automáticamente el campo _id


rt
ce

La sintaxis para crear un índice es:

certificados.institutoeuropa.com
59 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

Creación de un índice sobre el campo descripción en la colección ítems:

db.items.ensureIndex({"descripcion":1})

Creación de un índice compuesto formado por los campos descripción y estado:

db.items.ensureIndex({"descripcion":1,"estado":1})

Veámoslo en la consola de RoboMongo:

m
co
a.
op
ur
oe
Y una vez ejecutado con clic en el botón fecha verde superior:
ut
it
st
s .in
do
ca
ifi

Vemos que se ha creado otro índice en la colección ítems.


rt
ce

Una consideración importante acerca de los índices es que no porque tengamos índices todas las

consultas van a ir más rápido. Las más eficientes serán aquellas donde los campos consultados y

devueltos estén incluidos en el índice, es lo que se denomina una consulta totalmente cubierta. Por

ejemplo, en el índice anterior, (descripción, estado) si en la consulta buscamos por los campos

descripción y estado preguntamos entre otros por descripción y búsqueda, estaríamos ante una

consulta totalmente cubierta.

Para preguntar por los índices de una colección en este caso Items, basta con:

certificados.institutoeuropa.com
60 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

db.Items.getIndexes()

Si queremos eliminar un índice lo haremos con:

db.items.dropIndex({edad:1}) que elimina el índice sobre el campo edad.

O para eliminar todos los índices de una colección:

db.items.dropIndexes()

m
Otra consideración importante acerca de los índices es cómo podemos crear índices en

co
subdocumentos o documentos incrustados. Por ejemplo, imaginemos este documento:

a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi

Este documento contiene dos documentos incrustados, info y domicilio y cada uno con su
rt

información. ¿Cómo haríamos para crear un índice sobre el campo Ciudad? De esta forma:
ce

db.coleccion.ensureIndex ({“domicilio.Ciudad”:1})

Donde colección es el nombre de la colección y es exactamente de la misma forma pero

anteponiendo al campo el nombre del documento incrustado al que pertenece. Si fuera compuesto:

db.coleccion.ensureIndex({“empresa”: 1, “domicilio.CP”:1})

O:

certificados.institutoeuropa.com
61 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

db.coleccion.ensureIndex({“info.nombre”: 1, “domicilio.Comunidad”:1})

La última consideración acerca de la creación de índices será la creación de índices en arrays.

Supongamos el siguiente documento

m
co
a.
op
ur
Tiene un documento incrustado info y un array donde se guarda la información de los deportes que
oe
practica. ¿Cómo creamos un índice sobre el campo deportes? De la siguiente forma, como si fuera un
ut

campo que no fuera un array:


it
st

db.coleccion.ensureIndex({“deportes”:1})
s .in
do
ca
ifi
rt
ce

Solo tiene una restricción la creación de un índice con campos tipo array y es que en un índice solo

uno de los campos puede ser un array. Si creamos un índice donde dos o más de los campos son de

tipo array se producirá un error.

Un plan de ejecución es una utilidad que proporcionan las bases de datos para conocer y analizar si

los índices están funcionando correctamente. Estos presentan una descripción con los pasos que

realiza el motor de base de datos para realizar la consulta usando ese índice. Es algo muy útil ya que

certificados.institutoeuropa.com
62 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

no solo permite saber cómo de eficiente es una consulta, un índice sino que permite conocer cómo

podemos incrementar la velocidad de las mismas algo muy importante a la hora de diseñar e

implementar una solución.

MongoDB proporciona un operador, explain que realiza el análisis:

db.coleccion.find().explain

Donde db es la base de datos actual y colección es la colección donde queremos analizar los índices.

m
co
Veamos un ejemplo, el resultado de aplicar explain a dos consultas, la primera sin índice y la

a.
segunda con índice:

op
ur
oe
ut
it
st
s .in
do
ca

Y la consulta con índice que devolvería:


ifi
rt
ce

certificados.institutoeuropa.com
63 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

m
co
a.
op
ur
oe
ut

Vemos diferencias en el documento JSON que devuelve. El campo stage


it
st

En la consulta sin índice: stage = COLLSCAN: ha recorrido toda la colección de documentos.


.in

En la consulta con índice: stage= IXSCAN: ha recorrido por un índice, y en index_name vemos
s

que es indice_precio_estado.
do
ca

Y sobre todo en la primera imagen no ofrece ninguna información acerca de índices ni similar
ifi

mientras que en la segunda imagen vemos información acerca de cómo está estructurado y definido
rt

el índice.
ce

Los parámetros que se pueden usar con el comando explain principalmente son:

queryPlanner: Es el modo de ejecución por defecto. MongoDB ejecuta el planificador de consultas y

devuelve la información sobre el plan ganador. Por ejemplo:

db.items.find({precio:300, estado:"vendido"}).explain()

executionStats: MongoDB ejecuta la consulta, ejecuta el plan ganador y devuelve la información

tanto del planificador de consultas como de la ejecución del plan elegido. Por ejemplo:

certificados.institutoeuropa.com
64 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

db.items.find({precio:300, estado:"vendido"}).explain("executionStats")

allPlansExecution: También se muestra la información referente a los planes de ejecución

descartados. Por ejemplo:

db.items.find({precio:300, estado:"vendido"}).explain("allPlansExecution")

Un apunte en este apartado es que de vez en cuando es conveniente reconstruir los índices, como

refrescarlos, sobre todo si ha habido muchas modificaciones y esta operación se realiza con:

m
co
db.coleccion.reIndex()

a.
Como conclusión comentar que MongoDB ofrece una potente estructura de índices y que si son

op
usados de la manera correcta, como hemos visto, optimizan mucho el rendimiento de MongoDB y

ur
este hecho es fundamental de cara al éxito de una aplicación que use MongoDB.
oe
Ventajas e inconvenientes de la creación de índices
ut

Ventajas
it
st

● Mejora la velocidad de las consultas (SELECTs)


.in

● En entornos con gran cantidad de lecturas, debido al punto anterior, reduce la carga (CPU) del sistema
s
do

Inconvenientes
ca

● Reduce la velocidad de las inserciones, actualizaciones y borrados (INSERT, UPDATE, DELETE)


ifi
rt

● Los índices ocupan espacio en disco, y lo que es más importante, en memoria principal (RAM), si se disponen de
ce

demasiados índices y estos no caben en memoria el rendimiento bajará drásticamente.

Consulta de datos en MongoDB

La sintaxis para consultar datos es:

db.getCollection('peliculas').find({duracion: 105})

Donde ‘películas’ es el nombre de la colección y entre {} en find es el campo y valor por el que

queremos encontrar el documento. Lo vemos en el ejemplo que muestra la imagen siguiente:

certificados.institutoeuropa.com
65 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

m
co
Otra sintaxis que produce el mismo resultado es:

a.
db.peliculas.find({duracion: 105})

op
ur
Si quisiéramos obtener las películas con una duración menor que 120 la sintaxis sería
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

Señalar también que están disponibles funciones de agregación como count(), distinct() o

group(). Por ejemplo:

db.items.find({estado:"vendido"}).count()

Y nos devuelve cuantos documento cumplen la condición estado=vendido.

certificados.institutoeuropa.com
66 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

db.items.distinct("descripcion")

Y nos devolverá las descripciones distintas que hay en la colección.

m
co
a.
op
ur
oe
ut

Comenzar Actividad
it

Relaciona los elementos de la columna Derecha con la columna Izquierda


st
.in

executionStats 1 MongoDB ejecuta la consulta,


ejecuta el plan ganador y
s

devuelve la información tanto del


do

queryPlanner 2 planificador de consultas como de


la ejecución del plan elegido.
ca

Es el modo de ejecución por


ifi

defecto. MongoDB ejecuta el


rt

planificador de consultas y
devuelve la información sobre el
ce

plan ganador.

allPlansExecution: También se muestra la información referente a los planes de


ejecución descartados.

certificados.institutoeuropa.com
67 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

Neo4J.

Neo4j es un software libre de Base de datos orientadas a grafos. Neo4j es descrito como un motor

de persistencia embebido, basado en disco, implementado en java, completamente transaccional,

que almacena datos estructurados en grafos en lugar de tablas.

m
co
a.
op
ur
oe
ut

Una base de datos orientada a grafos nos ayudan a encontrar relaciones y dar sentido al puzle
it
st

completo.
.in

Neo4j usa cinco tipos de grafos para representar los datos:


s
do
ca

Grafos no dirigidos
ifi

Los nodos y las relaciones son intercambiables, su relación se puede interpretar en cualquier
rt

dirección.
ce

Grafos dirigidos

Los nodos y las relaciones no son bidireccionales. En twitter por ejemplo son así, un usuario

puede seguir perfiles sin que ellos le sigan a él.

Grafos con peso

En este tipo de grafos las relaciones entre los nodos tienen un valor numérico.

certificados.institutoeuropa.com
68 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

Grafos con etiquetas

Estos grafos llevan incorporadas etiquetas que pueden definir los vértices y sus relaciones.

Grafos de propiedad

Es una unión entre los grafos con pesos y los grafos con etiquetas donde podemos asignar

también propiedades a los nodos y a las relaciones.

m
co
Neo4j utiliza grafos de propiedad para sacar mayor valor de los datos de cualquier empresa de una

forma flexible, ágil y escalable.

a.
op
Esta sería el aspecto de una base de datos Neo4J:

ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
69 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

Estas bases de datos tienen mejor rendimientos que las relacionales y las NoSQL.

Rendimiento

El rendimiento de las bases de datos orientadas a grafos, como es el caso de Neo4j, es mejor que

las relacionales (SQL) y las no relacionales (NoSQL).

Esto es debido a que, aunque crezcan muchísimo las consultas, el rendimiento no desciende en

Neo4j, mientras que en las otras sí.

m
co
Estas bases de datos orientadas a grafos funcionan actualizando el nodo y sus relaciones y no todo el

a.
grafo al completo permitiendo optimizar mucho el proceso.

op
Shutl, plataforma que coordina las entregas entre compradores, tiendas y mensajerías en Ebay Now

ur
utiliza Neo4j y Volker Pacher, desarrollador en Ebay, explica con datos el cambio que supuso pasar
oe
de MySQL a Neo4j: "Nuestra solución Neo4j es literalmente mil veces más rápida que la solución

anterior MySQL, con búsquedas que requieren entre 10 y 100 veces menos código".
ut
it

Agilidad
st
.in

La agilidad en la gestión de datos es una de las muchas ventajas que tiene Neo4j. Si quisiéramos

poner al límite las capacidades de Neo4j, habría que superar un volumen de nodos superior a 34.000
s
do

millones, 34.000 millones de relaciones entre dichos nodos, 68000 millones de propiedades y 32000

tipos de relaciones.
ca
ifi

Escalabilidad y flexibilidad
rt

Las bases de datos orientadas a grafos (BDOG) aportan mucha escalabilidad y flexibilidad ya que
ce

si crecen las necesidades, es posible añadir más nodos y relaciones a un grafo y esto precisamente

es lo que buscan los desarrolladores de las empresas cuando trabajan con gran volumen de datos.

Posibles casos de uso de Neo4j

Algunos de los posibles casos de uso de Neo4j serían los siguientes:

certificados.institutoeuropa.com
70 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

Recomendaciones a tiempo real y redes sociales

Neo4j permite unir a los productos y servicios ofrecidos con las personas tomando como

referencia la información personal, la actividad en la red reciente, perfiles en redes sociales.

Con esta información, se puede ajustar los productos y servicios ofrecidos a cada persona y

personalizar la vista de cada usuario aumentando con ello el compromiso del cliente y la

precisión comercial.

m
Detección del fraude

co
Neo4j puede ser usado para evitar fraude en sectores tan delicados como los seguros, la

a.
banca o el comercio electrónico, cosa que con otra base de datos sería difícil de detectar.

op
Buscando patrones con un análisis escalable de las posibles relaciones entre los datos

ur
podemos trabajar para la detección del fraude.
oe
Gestión de sistemas de datos maestros
ut

Este apartado es un quebradero de cabeza para las empresas. Crear un sistema de


it

información que sea centralizado y fiable siempre es difícil. Podemos generar un protocolo de
st

trabajo para que cada miembro de una empresa utilice los mismos formatos y aplicaciones.
s .in

Gestión de centros de datos


do

Las virtudes de Neo4j nos permiten gestionar, optimizar y monitorizar cualquier tipo de red
ca

física y virtual por muy grande que sea el volumen de datos.


ifi
rt
ce

Ejemplo NEo4J

Vamos a crear personajes y vamos a añadirlos a un libro

CREATE (GOT:Book {title:'Game of Thrones', published: 1996})

La estructura de la sentencia como podemos ver es muy sencilla: CREATE + “etiqueta del nodo

(GOT) + Tipo de Nodo (Book) + información del nodo en formato JSON (title, published)

Esto nos dará como resultado nuestro primer nodo, “GOT”, de tipo Book, que tiene como atributos el

certificados.institutoeuropa.com
71 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

título y la fecha de publicación. Ahora ya podemos ver más información en nuestro cliente de la base

de datos que estamos creando:

m
co
a.
op
ur
oe
ut

Ahora crearemos unos cuantos personajes (en este caso, el tipo de nodo es “Person”):
it
st

CREATE (ES:Person {name:'Eddard Stark', titles: 'Lord of Winterfell, Warden of the North, Hang of
.in

the King, Protector of the Realm, Lord Regent', born: '263 AC'})
s
do

CREATE (TL:Person {name:'Tywin Lannister’', titles: 'Lord of Casterly Rock, Shield of Lannisport

and Warden of the West’', born: '242 AC'})


ca
ifi

CREATE (DT:Person {name:'Daenerys Targaryen’', titles: 'Daenerys Stormborn of the House


rt

Targaryen, First of Her Name, the Unburnt, Queen of the Andals and the First Men, Khaleesi of the
ce

Great Grass Sea, Breaker of Chain, and Mother of Dragons', born: '172 AC'})

Sus relaciones con el libro:

MATCH (ES:Person), (GOT: Book) CREATE (ES)-\[:APPEARS_IN\]->(GOT)

Con esta instrucción le decimos que localice un nodo de tipo Person etiquetado como “ES, y otro de

tipo Book etiquetado como “GOT”, y que cree una relación llamada “APPEARS_IN” entre ellos, de

una sola dirección.

certificados.institutoeuropa.com
72 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

Ya podemos consultar el pequeño grafo que hemos creado con el comando MATCH(n) RETURN n:

m
co
a.
op
ur
oe
ut
it
st

El rendimiento de las bases de datos orientadas a grafos, como es el caso de


.in

Neo4j, es mejor que las relacionales (SQL) y las no relacionales (NoSQL).


s
do

Verdadero.
ca

Falso.
ifi
rt
ce

certificados.institutoeuropa.com
73 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

Redis.

Redis es un motor de base de datos en memoria, está basado en el almacenamiento de tablas de

hash asignando una clave a un valor este motor de base de datos puede ser usado como una base de

datos persistente. Este motor está escrito en ANSI C.

El modelo de datos de Redis está basado en datos de tipo diccionario o en tabla de hashes

relacionando una clave a un contenido almacenado en un índice. La principal diferencia que tiene

m
Redis con otros sistemas similares es que los valores no están limitados a tipo cadena, soporta

co
también listas de cadenas y datos Set de cadenas.

a.
op
ur
oe
ut
it
st
s .in

Redis normalmente guarda la información en memoria RAM. Para que los datos sean persistentes
do

deberemos de hacer snapshots o usar un archivo de tipo “appendonly” gracias a un sistema de


ca

journaling que escribe en este archivo cada modificación realizada de los datos en memoria
ifi

pudiendo recuperar estos datos. Podremos configurarlo de dos formas, everysec, que escribirá los
rt

cambios segundo tras segundo o always que escribirá cualquier cambio en el instante.
ce

Beneficios de utilizar Redis

Almacén de datos en memoria: A diferencia de bases de datos como Cassandra,

MongoDB, PostgreSQL que alojan la mayor parte de los datos en discos o SSD,

Redis aloja todos los datos en la memoria principal del servidor. Esto conlleva que

todas las operaciones no sufran la demora de ir y volver al disco, por lo que el

tiempo de respuesta es muy inferior y puede encargarse de mayor tipo de

certificados.institutoeuropa.com
74 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

operaciones.

Simplicidad y facilidad de uso: Son necesarias menos líneas de código para

almacenar, utilizar y acceder a los datos. Redis incluye estructuras de datos

originales y muchas opciones para usar y trabajar con los datos. Para ello Redis

dispone de más de 100 clientes open-source a su disposición.

Estructuras de datos flexibles: Redis incluye una amplia gama de estructuras de

datos. Estos tipos de datos son cadena, listas, conjuntos, hashes, índices y

m
HyperLogLogs.

co
Alto nivel de escalabilidad y disponibilidad: La arquitectura que ofrece Redis

es la de un servidor principal y réplica en topología en clústeres o principal con

a.
nodo único. Esto permite alto nivel de disponibilidad y que el sistema sea fiable y

op
estable. Además, es escalable ya que existen diferentes opciones para ajustar el

ur
tamaño de un clúster. oe
Replicación y persistencia: Redis admite la replicación asíncrona. De este modo
ut

mejora el desempeño de lectura y un menor tiempo de recuperación cuando se

sufre un corte en el servidor principal. Para garantizar la persistencia, Redis


it
st

permite crear backups de un momento determinado y la creación de un archivo


.in

AOF (Archivo de solo anexos) para guardar los cambios realizados conforme se

producen.
s
do

Extensibilidad: Redis tiene una comunidad activa al ser código abierto. No

existen limitaciones de proveedores ni tecnología porque los estándares son


ca

abiertos.
ifi
rt
ce

Casos de uso destacados de Redis

Entre otros, los principales casos de uso de Redis son:

Chat, mensajería y colas

Tareas tales como las publicaciones o las suscripciones que tengan patrones y varias

estructuras de datos como pueden ser las listas son admitidas por Redis. Esto hace que Redis

certificados.institutoeuropa.com
75 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

pueda usarse para salas de chat, streaming en tiempo real, comunicaciones entre servidores

y actividades en las redes sociales.

Marcadores de videojuegos

Los desarrolladores utilizan Redis para crear clasificaciones con datos en tiempo real. Para

ello, simplemente se utiliza los conjuntos (estructura de datos proporcionada por Redis) ya

que otorga singularidad de elementos a la vez que la lista queda ordenada por puntuación.

m
co
Almacenamiento en caché

a.
Utilizar Redis como opción para desarrollar una caché en memoria que tenga alta

op
disponibilidad con el objetivo de bajar la latencia para el acceso a los datos, aumentar la

ur
capacidad de procesamiento y disminuir la carga de la base de datos y la aplicación.

Ejemplos de este almacenamiento en caché puede ser el almacenamiento de resultados en


oe
caché para consultas a bases de datos, sesiones de objetos de uso frecuentes como pueden
ut

ser imágenes,...
it
st

Almacén de sesiones
.in

Suele utilizarse, por los desarrolladores, para guardar y administrar datos de las sesiones
s

para aplicaciones en el ámbito de Internet. Redis permite una latencia inferior a 1


do

milisegundo.
ca
ifi

Streaming de contenido multimedia


rt

Para respaldar el streaming en directo, Redis tiene un almacén de datos ágil en memoria.
ce

Este almacén de datos se puede usar para historiales de visualizaciones, perfiles de usuarios,

información de autentificación,...

Aprendizaje automático

Actualmente, las aplicaciones que se basan en datos, exigen que se procesen de forma rápida

volúmenes de datos muy grandes y que se automatice la toma de decisiones sobre ellos

(Aprendizaje automático). Redis ofrece un almacén de datos para crear, implementar y

certificados.institutoeuropa.com
76 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

entrenar, de forma rápida, modelos de aprendizaje automático.

Análisis geoespacial

Redis permite la administración de datos geoespaciales a escala y con velocidad mediante

estructuras de datos en memoria y operadores. Comandos como GEOADD, GEORADIUS,

GEODIST y otros son usados para guardar, analizar y procesar datos geoespaciales en

tiempo real.

m
co
Análisis en tiempo real

a.
Redis puede utilizarse como streaming, con Amazon Kinesis o Apache Kafka, para guardar

op
datos en memoria y analizar, procesar e incorporarlos en tiempo real con una latencia ínfima

ur
(<1 milisegundo). Es la opción perfecta para análisis en tiempo real.
oe
ut

Tipos de datos
it

Redis ofrece 5 estructuras de datos con los que es posible modelar la solución más adecuada para
st

cubrir las necesidades de un proyecto.


.in

Strings: Secuencia de bytes, es el valor básico que se puede asignar a un a Clave. Permite
s
do

elementos con valor de hasta 512 MB.


ca
ifi
rt
ce

Lists: Colecciones de cadenas (Strings). Permite la inserción o borrado de elementos en cualquier

extremo de la lista (head o tail) en un tiempo constante, manteniendo el mismo orden en el que

fueron insertados. Permite hasta 4 billones de elementos por lista.

certificados.institutoeuropa.com
77 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

m
Sets: Se trata de una colección de Strings sin un orden determinado de almacenamiento. No

co
permite valores duplicados para una misma Clave, por lo tanto, no se requiere de validaciones para

verificar su existencia. Útiles para efectuar operaciones entre sets, tales como uniones,

a.
intersecciones y diferencias. Permite hasta 4 billones de elementos por colección.

op
ur
oe
ut
it
st
s .in
do

Sorted Sets: Similar a los Sets, con la variante que cada elemento de un grupo de datos cuenta con
ca

una calificación (Score) asociado. Este Score determinará el orden. Permite hasta 4 billones de
ifi

elementos por colección.


rt
ce

certificados.institutoeuropa.com
78 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

Hashes: Usado para representar objetos. Almacena conjuntos de pares Clave-Valor de cadena,

asociados a una misma clave. No existe un límite de campos dentro de una Hash.

m
co
a.
op
ur
oe
ut

Compatibilidad con lenguajes


it
st

Redis admite la gran mayoría de lenguajes de programación y principales protocolos como son:
s .in
do

Java

PHP
ca

C/C++/C#
ifi

Python
rt

Ruby
ce

Javascript

Perl

Go

Node.js

certificados.institutoeuropa.com
79 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
80 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

Berkeley DB.

Barkeley DB es una librería de manejo de bases de datos, tienen una API para los lenguajes Java,

Python, C, C++, Perl, Ruby, TCL…etc.

Barkeley soporta múltiples datos para una misma clave. Barkeley permite miles de hilos de control

manejado datos de hasta 256 terabytes.

m
co
a.
op
ur
oe
Berkeley DB se desarrolló, inicialmente, por la Universidad de Berkeley en California para borrar el

código de AT&T de BSD 4.3 para la posterior versión 4.4.


ut
it

En el año 1996, Netscape pidió que se mejorara y ampliara la biblioteca para poder cumplir los
st

requisitos de un servidor LDAP y que fuera utilizada en el navegador Netscape.


.in

Este deseo originó la creación de la compañía Sleepycat Software que se encargó de seguir
s
do

desarrollando Berkeley DB para posteriormente, a principios de 2006, Oracle adquiriese dicha

empresa.
ca
ifi

Berkeley DB está disponible en código fuente y su licencia es gratuita (free software).


rt

Características
ce

Los datos se guardan según el formato nativo de cada lenguaje de programación.

El modo cliente-servidor no está soportado.

Permite crear bloqueos detallados. Esto es muy útil para trabajos concurrentes sobre la base

de datos de forma que podemos bloquear una página de registros durante una transacción para

evitar que se modifiquen hasta que termine, pero permite operar en el resto de páginas.

Podremos realizar copias de seguridad y replicas en caliente.

Si queremos modificar el rendimiento, se puede modificar la caché.

certificados.institutoeuropa.com
81 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

Permite utilizar snapshots para ejecutar varias transacciones sobre los mismos registros a la

vez.

Tiene compatibilidad con algunas interfaces de bases de datos UNIX como NDBM, HSEARCH,

DBM.

Se puede recuperar ante errores ACID.

Berkeley DB tiene 3 productos que están asociados a ella:

m
Berkeley DB: Base de datos original. Está desarrollada en lenguaje C.

co
Berkeley DB Java Edition: Es una versión de la original con menos

a.
características pero escrita en un lenguaje (Java) que permite multiplataforma.

op
Berkeley XML DB: Versión pensada para guardar mediante colas XQuery,

ur
documentos XML. Tiene bindings para otros lenguajes como C, PHP, Java,...
oe
ut

Condiciones de uso
it
st

A partir de las versiones 2.0 en adelante, Berkeley DB tiene licencia dual.


.in

Las versiones anteriores usan un tipo de licencia BSD.


s
do

Sleepycat hace que, para que alguien utilice Berkeley DB, debe liberar el código de la aplicación
ca

con una licencia que esté reconocida por la OSI (Open Source Initiative) ó con licencia Sleepycat si

no desea redistribuirlo.
ifi
rt

Berkeley DB proporciona el código fuente completo, suite de pruebas, herramientas para la


ce

compilación y documentación.

certificados.institutoeuropa.com
82 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

m
co
a.
Anatomía de las BDB JE (Berkeley DB Java Edition)

op
La estructura (anatomía) de una base de datos BDB JE se basa en 1 o más archivos de registro que

ur
son guardados en el directorio de entorno. oe
Estos archivos de registro son guardados con el formato XXXXXXXX.jdb en el cual XXXXXXXX hace
ut

referencia a un número hexadecimal de 8 dígitos que comienza en 00000000 y va aumentando en


it

1 para cada archivo guardado en disco. Cada 10MB que es el tamaño de archivo predefinido por
st

BDB JE se pasa al siguiente.


.in

En Base API, se utiliza la base de datos que necesitamos acceder de forma directa, mientras que en
s

DPL se usa EntityStore para interaccionar con varias bases de datos.


do
ca

Se pueden tener varias bases de datos en un entorno BDB y todas ellas se almacenan en una sola

fila de archivos de registro.


ifi
rt

Algunos de los productos que usan Berkeley DB son:


ce

Bogofilter: Filtro antispam.

Cfengine: Sistema que administra configuraciones.

BMC Atrium Discovery and Dependency Mapping (ADDM): Es una App para descubrir

información sobre infraestructuras TI.

Carbonado: Capa de acceso a BDR (Bases de datos relacionales).

KDevelop: IDE para C/C++.

Citadel: Plataforma de trabajo colaborativo.

certificados.institutoeuropa.com
83 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

MySQL.

Postfix.

Subversion: Sistema de control de versiones.

Ejemplos de empresas que usan Berkeley DB en sus productos:

Ebay

m
Amazon

co
Airbus

AOL

a.
Google

op
Motorola

ur
HP oe
Cisco Systems

BMC
ut

Hitachi
it
st

RSA Security
.in

Nortel

Sun Microsystems
s
do
ca
ifi
rt
ce

Sleepycat hace que, para que alguien utilice Berkeley DB, debe liberar el código
de la aplicación con una licencia que esté reconocida por la OSI (Open Source

certificados.institutoeuropa.com
84 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

Initiative) ó con licencia Sleepycat si no desea redistribuirlo.

Verdadero.

Falso.

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
85 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

Recuerda

[[[Elemento Multimedia]]]

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
86 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

Autoevaluación

Hbase…

Apache HBase es una base de datos distribuido no relacional de código abierto escrita
en Java. Su desarrollo forma del proyecto Hadoop y se ejecuta sobre el HDFS de
Hadoop.

m
co
Apache HBase es una base de datos distribuido relacional de código abierto escrita en
Java. Su desarrollo forma del proyecto Hadoop y se ejecuta sobre el HDFS de Hadoop.

a.
op
Apache HBase es una base de datos distribuido relacional de código abierto escrita en

ur
Java. Su desarrollo forma del proyecto Lucene y se ejecuta sobre el HDFS de Hadoop.
oe
ut

Cassandra…
it
st

Apache Cassandra es una base de datos NoSQL distribuida y basada en un modelo de


.in

almacenamiento de clave-valor, de código abierto escrita en Java.


s
do

Apache Cassandra es una base de datos NoSQL no distribuida y basada en un modelo


de almacenamiento de clave-valor, de código abierto escrita en Python.
ca
ifi

Apache Cassandra es una base de datos NoSQL distribuida y basada en un modelo de


rt

almacenamiento de clave primaria, de código abierto escrita en Java.


ce

MongoDB…

MongoDB es una base de datos SQL de software libre, escalable y de alto rendimiento
desarrollada en C++.

MongoDB es una base de datos NoSQL de pago, escalable y de alto rendimiento

certificados.institutoeuropa.com
87 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080714] SISTEMAS NOSQL.

desarrollada en C++.

MongoDB es una base de datos NoSQL de software libre, escalable y de alto


rendimiento desarrollada en C++.

Indica si la siguiente afirmación es verdadera o falsa: “Neo4j es un software libre


de Base de datos orientadas a grafos. Neo4j es descrito como un motor de
persistencia embebido, basado en disco, implementado en java”.

m
co
Verdadero.

a.
op
Falso.

ur
oe
Indica si la siguiente afirmación es verdadera o falsa: “El modelo de datos de
ut

Redis está basado en datos de tipo enteros en un índice”.


it
st

Verdadero.
s .in

Falso.
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
88 / 88
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080715] INTERACTIVE QUERY.

Introducción

En este apartado veremos que son Lucene y Solr.

Lucene es una librería que nos permite integrar funciones de indexación y búsqueda de información

en formato texto dentro de nuestros proyectos.

Solr es un servidor, basado en Lucene, de búsquedas que proporcionan funcionalidad de más alto

m
nivel.

co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
1 / 24
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080715] INTERACTIVE QUERY.

Objetivos

La presente unidad está orientada a alcanzar los siguientes objetivos:

Conocer los tipos de tecnología Lucene y Solr.

Aprender sus utilidades y los beneficios que pueden aportar a nuestros sistemas.

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
2 / 24
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080715] INTERACTIVE QUERY.

Mapa Conceptual

[[[Elemento Multimedia]]]

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
3 / 24
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080715] INTERACTIVE QUERY.

Lucene + Solr.

Lucene es una librería que nos permite integrar funciones de indexación y búsqueda de información

en formato texto dentro de nuestros proyectos.

Lucene va más allá que las búsquedas en Bases de Datos a través de índices, permitiéndonos

indexar y realizar búsquedas sobre cualquier tipo de información que se pueda representar en forma

de texto.

m
co
Lucene se distribuye por la Apache Software License y está apoyado por el Apache Software

Foundation.

a.
op
ur
oe
ut
it
st
s .in
do

Lucene se utiliza muy frecuentemente para aplicaciones que necesiten indexado y búsqueda en
ca

texto completo.
ifi

Así mismo, también se ha utilizado para la implementación de motores de búsquedas. De hecho, a


rt

veces es confundido con un motor de búsqueda que tiene funciones de "crawling" y análisis de
ce

documentos HTML.

La arquitectura lógica de Lucene permite ser independiente del formato del fichero ya que

se centra en el concepto de documento (document) y campos (fields) de texto.

Estos textos pueden encontrarse en formato .pdf, en páginas web, en archivos word,...

certificados.institutoeuropa.com
4 / 24
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080715] INTERACTIVE QUERY.

Lucene se compone de dos procesos para realizar búsquedas efectivas: Indexación y Búsqueda.

Indexación

Este proceso consiste en analizar y extraer de entre toda la información la que es realmente

relevante. Posteriormente con esa información se crea el índice sobre el cual realizaremos

las búsquedas. El índice es una estructura de datos que nos permite acceso rápido a la

m
información.

co
Búsqueda

a.
op
El proceso de búsqueda consiste en consultar el índice para obtener los documentos donde

ur
aparecen unas determinadas palabras o concuerdan una expresión de la consulta.
oe
ut
it
st

Comenzar Actividad
s .in

Relaciona los elementos de la columna Derecha con la columna Izquierda


do

Indexación. 1 Este proceso consiste en analizar


ca

y extraer de entre toda la


información la que es realmente
ifi

Búsqueda. 2 relevante. Posteriormente con esa


información se crea el índice
rt

sobre el cual realizaremos las


ce

búsquedas. El índice es una


estructura de datos que nos
permite acceso rápido a la
información.

El proceso de búsqueda consiste


en consultar el índice para
obtener los documentos donde
aparecen unas determinadas
palabras o concuerdan una
expresión de la consulta.

certificados.institutoeuropa.com
5 / 24
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080715] INTERACTIVE QUERY.

Lucene se compone de dos procesos para realizar búsquedas efectivas:


Indexación y Búsqueda.

Lucene tiene versiones desarrolladas en otros lenguajes de programación tales como:

Perl: Plucene

m
C: Lucene4c

co
C++: CLucene

a.
.NET: Lucene.Net

op
PHP: Zend Framework

ur
Java (Nativo): Nutch

Ruby: Ferret y RubyLucene


oe
Delphi: MUTIS
ut

Python: PyLucene
it
st
s .in
do
ca
ifi
rt
ce

Vamos a ver un ejemplo de como usar Lucene para utilizar el texto de una obra.

Inicialmente, vamos a sacar el contenido de la obra y vamos a enriquecer, con su lemma y categoría

gramatical, cada palabra de dicha obra.

Posteriormente, vamos a crear un fichero con estas palabras extraídas siguiendo el modelo de

certificados.institutoeuropa.com
6 / 24
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080715] INTERACTIVE QUERY.

Lucene para que se pueda utilizar como un fichero de sinónimos. Así se podrá buscar, por ejemplo,

cuantas ocurrencias de un lemma concreto existen en la obra o el número de verbos que tiene.

Para este ejemplo hemos cogido como ejemplo la obra "Doña Perfecta" de Benito Pérez Galdós.

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi

Primero hay que automatizar cómo se categorizan y lematizan las palabras. Para ello se podría
rt

utilizar la librería Stanford CoreNLP pero, con esta librería, no funciona la lematización para el
ce

español.

Para poder trabajar con el idioma español, existen otras librerías como FreeLing. Para poder

utilizarla necesitaremos, en primer lugar, instalarla.

Una vez que la hayamos instalado, podemos lanzar el siguiente comando:

certificados.institutoeuropa.com
7 / 24
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080715] INTERACTIVE QUERY.

Obteniendo el siguiente resultado en fichero .xml:

m
co
Fuente: http://data.cervantesvirtual.com

a.
op
Se puede ver que se devuelve, para cada token, su posición, lema y categoría gramatical.

ur
El comando analyzer que proporciona la librería FreeLing, si lo ejecutamos sobre el texto de la
oe
obra de Benito Perez Galdós seleccionada, obtiene un fichero como el de la siguiente imagen:
ut
it
st
s .in
do
ca
ifi
rt
ce

Fuente: http://data.cervantesvirtual.com

Si queremos crear un fichero de sinónimos, tenemos que usar la sintaxis de Lucene.

certificados.institutoeuropa.com
8 / 24
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080715] INTERACTIVE QUERY.

Para ello, se ha creado una plantilla .xslt para especificarlos. Se puede ver el resultado en la

siguiente ilustración:

m
Fuente: http://data.cervantesvirtual.com

co
Nos interesan los literales que empiezan por pos# o lemma#.

a.
op
En este ejemplo, si se busca lemma#abandonar, se obtendría el resultado: abandonados,

ur
abandonaron, abandonado,...
oe
Para que no aparezcan registros duplicados, se utiliza el comando sort -u sobre el fichero
ut

resultante.
it

Ahora, vamos a empezar a trabajar con Lucene. Para ello, vamos a crear un proyecto Maven en la
st

plataforma IDE que prefiramos.


s .in

Para el fichero pom.xml, especificamos las siguientes dependencias:


do
ca
ifi
rt
ce

certificados.institutoeuropa.com
9 / 24
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080715] INTERACTIVE QUERY.

Fuente: http://data.cervantesvirtual.com

Así, ya podemos trabajar con Lucene.

Posteriormente, vamos a añadir el siguiente código:

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

Fuente: http://data.cervantesvirtual.com

Para la indexación, Lucene usa SynomyGraphFilter y FlattenGraphFilter.

Para la búsqueda, solamente se utiliza SynomyGraphFilter.

certificados.institutoeuropa.com
10 / 24
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080715] INTERACTIVE QUERY.

Para el test anterior, en el que buscamos la cadena "pos#noun pos#adjective", el resultado es:

m
co
a.
Fuente: http://data.cervantesvirtual.com

op
Podemos observar cómo se resaltan las ocurrencias con etiquetas "<b>" (HTML).

ur
oe
Apache Solr
ut

Apache Solr es un motor de búsqueda que está basado en la librería Lucene.


it
st

Tiene APIs en XML/HTTP y en JSON, además de búsquedas por facetas, caché, resaltado de
.in

resultados y una interfaz para su parte de administración.


s
do
ca
ifi
rt
ce

Fuente: soltel.es

Para versiones anteriores a la versión 5.0, Apache Solr se ejecuta bajo un contenedor de servlets

Java, tales como Apache Tomcat.

Para versiones posteriores, se ejecuta como un servidor independiente.

certificados.institutoeuropa.com
11 / 24
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080715] INTERACTIVE QUERY.

Esquema

Mediante un archivo de esquema, Apache Solr permite indicar los campos, tipos y análisis a utilizar

para definir la estructura de nuestro índice.

Según como se haya configurado, este archivo de esquema puede ser:

managed-schema

m
co
Es el archivo de esquema que Apache Solr utiliza por defecto y permite hacer cambios "en

caliente" al esquema a través del Schema API o usando el modo Schemaless. Este archivo de

a.
esquema es manejado por Apache Solr a través de una API.

op
ur
schema.xml oe
Puede ser editado manualmente al ser el archivo esquema tradicional. Se administra por el
ut

usuario/administrador de Apache Solr.


it
st
.in

Archivo de configuración Solrconfig.xml


s

A través de este archivo se pueden configurar 2 áreas importantes en el funcionamiento y


do

afinamiento de las búsquedas y sus resultados. Estas 2 áreas son: request handler y search
ca

components.
ifi

Request Handler hace referencia al procesamiento de las solicitudes que llegan a Apache Solr.
rt

Pueden ser de 2 tipos:


ce

Tipo "request": Para solicitar información

Tipo "index update": Para actualizar documentos del índice

Search Components hace referencia a las funcionalidades específica de búsqueda como pueden
ser las sugerencias o el facetado.
Hemos visto para que sirve Apache Solr, los archivos de esquema que utiliza y las configuraciones

que puede tener. Ahora hace falta una forma para poder acceder a estos servicios y es a través de

certificados.institutoeuropa.com
12 / 24
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080715] INTERACTIVE QUERY.

Apache SOLR.

Apache SOLR: Aplicación Web Java

Es la unión de varios componentes entre los que se pueden resaltar:

Se usa Lucene para indexar y buscar.

Pipeline de análisis de texto.

m
Configuración a través de solrconfig.xml y managed-schema de los componentes y

co
procesadores.

a.
Procesa la solicitud de actualizar documentos ("index update").

op
Componentes de búsqueda ("search components").

APIs: Para configuraciones, manipular "cores",...

ur
oe
Principales características
ut
it

Admite peticiones HTTP para consultar o indexar documentos


st

Para mayor rapidez en las consultas incorpora cachés internas


.in

Incorpora administración web para el uso de caché, realizar búsquedas mediante


s

formulario, consultar estadísticas...


do

Permite configurar la indexación y la recuperación mediante ficheros xml


ca

Mejora las consultas básicas de Lucene

En las búsquedas se puede navegar por facetas


ifi

Se integra el plugin de Lucene para recuperar contenido resaltando las


rt

coincidencias
ce

Dispone de un plugin para la revisión gramática (spell check) y otro para búsqueda

de documentos similares

Admite el manejo de archivos ricos (pdf, word,...)

Se puede desplegar en contenedores de servlets al estar escrito en Java

Ventajas

certificados.institutoeuropa.com
13 / 24
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080715] INTERACTIVE QUERY.

Diagnóstico del lenguaje ya que utiliza XML y JSON.

La métrica, normalmente, es JavaScript.

Diagnóstico de los tipos de datos al solo transmitir texto en HTTP.

El aspecto de Solr una vez instalado es el siguiente:

m
co
a.
op
ur
oe
ut
it
st
s .in
do

Como podemos observar a la izquierda no tenemos ningún núcleo creado, vamos a crear uno
ca

utilizando el siguiente comando:


ifi

./Solr create -c Solr_sample


rt
ce

Este comando lo ejecutaremos en el directorio bin de Solr y nos creara el núcleo. Podremos crear

múltiples núcleos en Solr.

Si nos dirigimos a nuestra interfaz web podemos seleccionar el núcleo creado:

certificados.institutoeuropa.com
14 / 24
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080715] INTERACTIVE QUERY.

m
co
a.
op
ur
oe
ut
it

Si quisiéramos borrar algún núcleo usaremos el siguiente comando:


st
.in

./Solr delete -c my_core


s

Podemos indexar los datos de un documento en el núcleo que hemos creado anteriormente usando el
do

comando post de la siguiente manera:


ca

./post -c Solr_sample datos.csv


ifi
rt

Después de ejecutar el comando el archive que hemos indicado estará indexado en el núcleo
ce

especificado.

Si nos vamos a nuestra interfaz web y seleccionamos el núcleo:

certificados.institutoeuropa.com
15 / 24
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080715] INTERACTIVE QUERY.

m
co
a.
op
ur
oe
ut
it
st

Por defecto el manejador es /select. Sin hacer ninguna modificación haremos clic en el botón
.in

“ExecuteQuery” al final de la página. Al ejecutar la consulta podemos observar los contenidos del
s

CSV indexado en formato JSON:


do
ca
ifi
rt
ce

certificados.institutoeuropa.com
16 / 24
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080715] INTERACTIVE QUERY.

m
co
a.
op
ur
oe
ut
it
st

Si queremos también podremos indexar documentos desde la interfaz web.


.in

Por ejemplo vamos a indexar un documento JSON. En la interfaz web seleccionaremos nuestro
s
do

núcleo y le daremos a “Documentos”:


ca
ifi
rt
ce

certificados.institutoeuropa.com
17 / 24
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080715] INTERACTIVE QUERY.

m
co
a.
op
ur
oe
ut
it
st
.in

Dejaremos los datos por defecto y elegiremos el tipo de documento que en este caso es JSON.
s

Escribiremos el documento que queremos indexar y le daremos al botón “Submit document”:


do
ca
ifi
rt
ce

certificados.institutoeuropa.com
18 / 24
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080715] INTERACTIVE QUERY.

m
co
a.
op
ur
oe
ut
it
st

De esta manera habremos indexado nuestros documentos en Solr.


s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
19 / 24
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080715] INTERACTIVE QUERY.

m
co
a.
op
ur
oe
ut
it
st

Si queremos recoger un determinados tipo de datos seleccionaremos la opción Query. Supongamos


.in

que tenemos 3 registros en el núcleo my_core. Si queremos por ejemplo recoger el dato que tenga
s

como valor de id 1 deberemos de pasar en la consulta el nombre del campo y su valor de la siguiente
do

forma:
ca
ifi
rt
ce

certificados.institutoeuropa.com
20 / 24
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080715] INTERACTIVE QUERY.

m
co
a.
op
ur
oe
ut
it
st
s .in

En el campo que hemos puesto id:001 para que nos muestre los datos que tengan como id 001.
do

De esta manera podremos recoger datos que nos interesen de nuestros documentos indexados.
ca
ifi

Para versiones anteriores a la versión 5.0, Apache Solr se ejecuta bajo un


rt

contenedor de servlets Java, tales como Apache Tomcat.


ce

Verdadero.

Falso.

certificados.institutoeuropa.com
21 / 24
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080715] INTERACTIVE QUERY.

Recuerda

[[[Elemento Multimedia]]]

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
22 / 24
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080715] INTERACTIVE QUERY.

Autoevaluación

Lucene…

Es una librería que nos permite integrar funciones de indexación y búsqueda de


información en formato texto dentro de nuestros proyectos.

m
Es una aplicación que nos permite integrar funciones de indexación y búsqueda de

co
información en formato texto dentro de nuestros proyectos.

a.
op
Es una librería que nos permite integrar funciones de inserción de información en
formato texto dentro de nuestros proyectos.

ur
oe
La indexación…
ut
it

Consiste en analizar y extraer de entre toda la información la que es realmente


st

relevante.
s .in

Consiste en analizar y extraer toda la información.


do
ca

Consiste en añadir información a nuestro proyecto.


ifi
rt

La búsqueda…
ce

Consiste en obtener determinadas palabras de un documento.

Consiste obtener todos los documentos.

Consiste en consultar el índice para obtener los documentos donde aparecen unas
determinadas palabras o concuerdan una expresión de la consulta.

certificados.institutoeuropa.com
23 / 24
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080715] INTERACTIVE QUERY.

Indica si la siguiente afirmación es verdadera o falsa: “Apache Solr es un motor


de búsqueda que está basado en la librería Lucene”.

Verdadero.

Falso.

m
Indica si la siguiente afirmación es verdadera o falsa: “Lucene se compone de

co
dos procesos para realizar búsquedas efectivas: Recolección y Búsqueda”.

a.
op
Verdadero.

ur
oe
Falso.
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
24 / 24
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

Introducción

El término "computación híbrida" hace referencia a la combinación del diseño hardware-software

(HW-SW).

El mundo real es analógico, pero la interacción y el control sobre el es digital. Se requieren muchas

interfaces para capturar y gestionarlo y una potencia de cálculo muy grande.

m
Un sistema de computación híbrido es un sistema complejo que une los recursos para obtener las

co
mejores prestaciones, la mayor seguridad y robustez y el mejor rendimiento.

a.
En referencia a ello, podemos pensar en un sistema integrado multiprocesador que combina

op
hardware general con especializado en sistemas que se pueden configurar y adaptar para que se

ur
lleven a cabo determinadas funciones.
oe
La arquitectura Lambda es un tipo de nube híbrida usada en big data.
ut

La arquitectura Kappa es un tipo de arquitectura de ciencia de datos.


it

Apache Flink es un framework de código abierto desarrollado por la fundación Apache.


st

Druid es un Sistema de datos distribuidos orientado a columnas de código abierto escrito en


.in

Java.
s

ElasticSearch es un servidor de búsqueda basado en Lucene.


do

Logtash es una herramienta que nos sirve para administrar logs.


ca

Kibana es un plugin de visualización para ElasticSearch. Nos provee la capacidad de visualizar


ifi

el contenido indexado de ElasticSearch.


rt
ce

certificados.institutoeuropa.com
1 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

Objetivos

La presente unidad está orientada a alcanzar los siguientes objetivos:

Conocer las diferentes arquitecturas que permiten el sistema de computación híbrido.

Conocer la arquitectura de Lambda y Kappa.

Conocer Apache Flink, Druid, Elastic Search, Longtash y Kibana.

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
2 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

Mapa Conceptual

[[[Elemento Multimedia]]]

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
3 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

Arquitectura Lambda.

La arquitectura Lambda es un tipo de nube hibrida usada en big data.

Qué es una nube híbrida

El NIST (National Institute of Standards and Technology) define la nube híbrida como:

“La composición de dos o más nubes, por ejemplo, privada y pública, que permanecen como

m
entidades únicas pero que coexisten por tener tecnologías que permite compartir datos o

co
aplicaciones entre las mismas.”

a.
En otras palabras, se trata de un modelo de nube que pretende aprovechar las características

op
más ventajosas de los modelos de nube privada y de nube pública, a través de una mezcla de estas.

ur
Un ejemplo de despliegue de nube híbrida podemos encontrarlo en una empresa que despliega
oe
aplicaciones no críticas de software en la nube pública, mientras que despliega las aplicaciones más
ut

críticas en una nube privada (una nube privada en la organización o nube “on premises”).
it

Así, las nubes híbridas combinan modelos de nube pública y privada y pueden resultar muy
st

efectivas sobre todo en casos en los que los distintos tipos de nube se localizan en la misma
.in

instalación.
s
do

De este modo, se trata de un tipo de modelo de implementación donde ciertos recursos se


ca

suministran como servicio a través de una nube privada interna y otros recursos son facilitados por

proveedores de servicios externos a través de la nube pública. Estos recursos (que van desde
ifi

aplicaciones, como cómputo, almacenamiento e incluso, redes) se suministran según demanda a


rt

través de un catálogo de autoservicio con pago por uso.


ce

En nubes híbridas, como podemos deducir, el cliente será propietario de algunas partes (en este

caso hablamos de la nube privada) y compartirá otras (a través de los servicios de una nube pública)

pero manteniendo un cierto control de la estructura.

De esta forma, las empresas pueden controlar aquellas aplicaciones que llevan a cabo los procesos

más críticos a la vez que aprovechan el cloud computing que ofrece una nube pública en los

recursos menos críticos que más les convengan.

certificados.institutoeuropa.com
4 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

La principal ventaja de este tipo de nube viene de la combinación de las ventajas de las nubes

públicas con las ventajas de las nubes privadas. Una nube híbrida requiere una inversión inicial

menor que una nube privada y, además, ofrece la posibilidad de tener los servicios de SaaS, IaaS y

PaaS bajo demanda, como en la nube pública.

m
co
a.
op
ur
Es decir, a través de nubes híbridas, un cliente puede escalar la plataforma todo lo que requiera sin
oe
tener ninguna necesidad de invertir de nuevo en infraestructuras. En el caso de que la
ut

necesidad de más capacidad se convierta en una necesidad más estable, podría valorarse
it

incrementar la capacidad de la nube privada a la vez que se aprovecha el incremento para pasar
st

algunos servicios que se requieran de la nube pública a la nube privada.


.in

Por el contrario, si estas necesidades de capacidad son puntuales, la nube híbrida permite que la
s
do

empresa se siga aprovechando de estas ampliaciones esporádicas sin necesidad de ampliar la

infraestructura privada de forma innecesaria.


ca
ifi

Sin embargo, no todo son ventajas. De hecho, el principal problema que acarrea este modelo de
rt

nube es la complejidad existente para determinar cómo distribuir las distintas aplicaciones entre la
ce

parte pública y la parte privada de la nube híbrida. Además, otro problema bastante frecuente es

también conocer si todos los aspectos del negocio así como las aplicaciones almacenadas en cada

una de las partes podrían comunicarse entre sí.

Hay que tener en cuenta que la parte pública y la parte privada no se relacionan entre sí, por lo

que la decisión de qué almacenar y utilizar en cada parte puede suponer ganancias importantes de

productividad y eficiencia en la gestión de la información también puede suponer una serie de

deficiencias importantes que pueden llevar al fracaso de la nube híbrida.

certificados.institutoeuropa.com
5 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

Características de una nube híbrida

Como ya se ha comentado, una nube híbrida es un servicio cloud integrada que utiliza

funcionalidades de nubes privadas y públicas para realizar distintas funciones dentro de una

misma empresa. Todos los servicios de cloud computing deberían ofrecer cierto grado de eficiencia,

pero es más probable que los servicios de una nube pública sean más eficientes y escalables que los

servicios de una nube privada.

m
Por tanto, toda empresa puede tratar de maximizar su eficiencia a través de servicios de nube

co
pública para operaciones no críticas a la vez que utilizar los servicios de nube privada para

garantizar la seguridad y privacidad de operaciones críticas, asegurándose así que todas sus

a.
plataformas se mantienen integradas sin ningún tipo de problema.

op
ur
Los modelos de nube híbrida pueden implementarse de varias formas:
oe
A través de varios proveedores cloud para construir servicios públicos y privados como un
ut

servicio integrado.
it

A través de proveedores cloud individuales que ofrecen por completo el servicio de nube
st

híbrida.
.in

A través de la autogestión de la nube privada dentro de la organización y de la suscripción de


s

un servicio de nube pública para integrarlo en su propia infraestructura.


do
ca
ifi
rt
ce

En términos prácticos, un ejemplo lo encontramos en una organización que implementa por un lado

alojamiento cloud en una nube híbrida para alojar su sitio web de comercio electrónico en una

nube privada y aloja, por otro lado, su sitio web de información en una nube pública (al resultar una

certificados.institutoeuropa.com
6 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

opción más rentable y no requiere tanta seguridad al no haber transacciones monetarias).

Otro ejemplo podemos encontrarlo en una oferta de IaaS (infraestructura como servicio). Un

modelo IaaS puede, por ejemplo, ofrecer a una empresa financiera el almacenamiento de los datos

de sus clientes en una nube privada, pero, luego permitir la colaboración en la gestión de

documentos de planificación de proyectos en la nube pública. Así, los datos más críticos

permanecerían seguros mientras que se permite el acceso a múltiples usuarios a los archivos de

planificación de proyectos para una mejor gestión de los mismos.

m
co
Así, un modelo de nube híbrida puede ofrecer a sus usuarios las siguientes características:

a.
Escalabilidad: Mientras que el modelo de nube privada ofrece un cierto nivel de escalabilidad

op
según sus configuraciones, el modelo de nube pública ofrece mayor escalabilidad con menos

ur
límites al no depender de la infraestructura de la organización. Cuantas más funciones no
oe
críticas se pasen a la nube pública, mayores son los beneficios de los que se podrá beneficiar
ut

una organización de su escalabilidad.

Eficiencia en costes: Es muy probable que una nube pública ofrezca mayores economías de
it
st

escala y, por tanto, más eficiencia en costes que las nubes privadas. Por ello, las nubes híbridas
.in

permiten a las empresas un ahorro en tantas funciones de negocio como sea posible mientras

se mantienen seguras las operaciones de carácter crítico.


s
do

Seguridad: La parte de nube privada dentro de una nube híbrida no sólo facilita la seguridad

requerida para almacenar y gestionar las operaciones más críticas, sino que también puede
ca

satisfacer los requisitos regulatorios para la gestión y el almacenaje de datos donde ésta se
ifi

aplique.
rt

Flexibilidad: La disponibilidad de los recursos de nubes públicas y privadas (la seguridad que
ce

ofrece la nube privada y la escalabilidad de la nube pública) puede facilitar a las

organizaciones mayores oportunidades para explorar y estudiar diferentes alternativas

operativas para el desarrollo de sus procesos.

Ventajas e inconvenientes de las nubes híbridas

En la actualidad, muchas empresas ya están implementando el modelo de nube híbrida, lo que puede

generar ventajas o inconvenientes según el uso que se le vaya a dar. El carácter mixto de esta

certificados.institutoeuropa.com
7 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

solución permite la combinación de un modelo de un centro de datos propio con soluciones de nube

pública para alojar, por ejemplo, aplicaciones no críticas o capacidad de procesamiento adicional.

Son cuantiosas las ventajas que puede tener una empresa al utilizar una nube híbrida. La primera

de ellas y la más característica es la reducción de costes y, la segunda pero no menos importante es

la mejora en la gestión de los recursos en tecnologías de la información.

m
co
a.
op
ur
oe
ut
it

Aunque estas ventajas sean las más atractivas para cualquier tipo de organización, hay otras
st

ventajas importantes a tener en cuenta:


.in

Reducción de costes energéticos: Hay un menor consumo de energía eléctrica al requerir


s
do

una infraestructura menor que cualquier nube privada.

Reducción de costes en inversión inicial: Aunque los costes iniciales serán superiores que
ca

si sólo se utilizase un modelo de nube pública, la inversión inicial requerida para una nube
ifi

híbrida es considerablemente inferior que la requerida para una nube privada.


rt

Optimización en la utilización de los recursos: Si se define una distribución correcta de las


ce

aplicaciones entre la parte pública y la parte privada de la nube híbrida, la utilización de los

recursos será más efectiva y productiva.

Rapidez de acceso: El acceso a las aplicaciones, equipos de escritorio y a la información

puede realizarse desde cualquier dispositivo y cualquier ubicación.

Productividad: Se incurre en una mayor productividad del personal de tecnologías de la

información y de toda la organización en general.

Reducción de tiempo de respuesta ante fallos: Al haber parte del servicio de la nube

contratado a terceros, la respuesta ante posibles fallos es mucho más rápida ya que el

certificados.institutoeuropa.com
8 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

proveedor debe garantizar la disponibilidad de la información en el mayor grado posible.

Posibilidad de contar con SaaS, PaaS o IaaS bajo demanda: La parte de nube pública

permite adaptar los recursos requeridos a las necesidades puntuales de la organización.

Administración de las aplicaciones: Los administradores de la tecnología pueden decidir

qué datos y aplicaciones son más adecuadas para la nube privada y cuáles para la nube

pública.

Minimización de exceso de recursos: Al ser fácilmente escalable, con la nube híbrida se

m
suprimen los problemas inherentes al exceso de recursos por parte de la organización.

co
Por otra parte, aunque las ventajas están claras, toda nube híbrida es imperfecta y cuenta con una

a.
serie de desventajas que conviene remarcar con detenimiento:

op
ur
En la nube híbrida, la confiabilidad de los servicios ofrecidos depende en mayor parte de la
oe
capacidad tecnológica y financiera de los proveedores de servicios en nube. Aunque la parte

privada de la nube puede depender exclusivamente de la organización, la parte pública no deja


ut

de ser dependiente del proveedor y de la calidad de sus servicios.


it
st

Problemas de inseguridad: Los datos de la organización deben recorrer varios nodos hasta
.in

alcanzar su destino, siendo cada uno de ellos un foco importante de inseguridad.

La centralización de las aplicaciones y el almacenamiento de la información genera también


s
do

una interdependencia de los proveedores de servicios de modo que, si hay algún fallo de

servicio del proveedor, la disponibilidad de la información y de las aplicaciones será limitada.


ca
ifi

Si analizamos las ventajas y desventajas mencionadas en este apartado, podemos deducir y evaluar
rt

cuál puede ser el mejor modelo cloud a implantar en una organización para mejorar las
ce

oportunidades de negocio.

Lo que está claro es que para aprovechar las ventajas de la implementación de una nube híbrida

es imprescindible tener en cuenta dos factores importantes:

Las aplicaciones no críticas.

Las pruebas y el desarrollo de la nube.

certificados.institutoeuropa.com
9 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

En relación a las aplicaciones no críticas, se trata de aplicaciones que no cuentan con

información sensible sobre la empresa, con lo cual, si en algún momento se produce algún

problema de disponibilidad o accesibilidad, no habría grandes problemas.

m
co
a.
op
En cuanto a la prueba y desarrollo de la nube, en muchas ocasiones los proveedores ofrecen la

ur
posibilidad de utilizar servidores virtuales por un tiempo limitado a bajo coste; por lo que es una
oe
opción a considerar antes de decantarse por un tipo de nube y por un proveedor determinado.
ut

Debido a la gran diversificación de modelos existente en el mercado y a las ventajas económicas y


it

competitivas que puede ofrecer la nube híbrida a las empresas, hace deducir que este tipo de nube
st

será la que utilicen las organizaciones con mayor frecuencia en un futuro próximo. Si además los
.in

proveedores del servicio implementan nuevas medidas de seguridad y transmiten confianza en los
s

usuarios, la nube híbrida tiene grandes posibilidades para considerarse la alternativa más utilizada
do

para la gestión de información en cloud computing.


ca

Aspectos clave en la implantación de una nube híbrida


ifi
rt

Cada vez es más frecuente la utilización de infraestructuras en la nube para servicios básicos como
ce

el correo electrónico o la utilización de aplicaciones web. Pero para la simple utilización de estos

servicios, la nube híbrida no es una buena opción ya que sus funcionalidades se verían muy

limitadas.

Para que una empresa obtenga beneficios económicos, tecnológicos y corporativos por la utilización

de una nube híbrida, es especialmente relevante realizar un análisis meticuloso y un plan de

evaluación de cómo va a ser su adopción.

Una organización que no haya realizado este tipo de evaluación en la actualidad, está un paso por

certificados.institutoeuropa.com
10 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

detrás de aquellas que sí lo han llevado a cabo. Es más, las empresas que no estén utilizando un

modelo de nube, sea cual sea el sector en el que se mueve y su tamaño, ya se están quedando un

paso atrás.

Para implantar una nube híbrida en cualquier tipo de organización, es importante tener en cuenta

una serie de aspectos clave:

Transición paso a paso

m
Elección de la herramienta óptima

co
Trayectoria y experiencia de la empresa

a.
Outsourcing o externalización

op
Asesoría

ur
Transición paso a paso
oe
ut

Una de las principales preocupaciones de cualquier organización que tiene en mente migrar a una

nube híbrida es cómo llevar a cabo el proceso de transición. Pero precisamente, una de las ventajas
it
st

de la nube híbrida es la facilidad y la rapidez de su implantación, por lo que no se requiere


.in

paralizar proyectos.
s

En el período de transición tampoco será necesario reprogramar aplicaciones ya que la nube híbrida
do

permite a las empresas adoptar su tecnología de forma simple, moviendo parte de una aplicación a
ca

la nube de forma progresiva conforme el negocio lo vaya requiriendo.


ifi

Asimismo, la transición a la nube híbrida no significa parar las iniciativas y proyectos que están en
rt

curso, por lo que lo único que deberá evaluar la organización en este aspecto es qué partes de cada
ce

proyecto se irán incorporando a la nube y en qué orden para que su funcionamiento no cese y

sea lo más óptimo posible.

Elección de la herramienta óptima

Sin duda, uno de los aspectos más importantes cuando se toma la decisión de implantar una nube

híbrida es la elección de la herramienta correcta.

¿Cómo elegir la herramienta correcta? Toda empresa debe comenzar conociendo las aplicaciones

certificados.institutoeuropa.com
11 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

que dispone y que requiere; debe realizar un análisis meticuloso de todo aquello que va a requerir

de una aplicación (incluyendo posibles crecimientos y requerimientos relacionados con la

escalabilidad) y elegir aquellas que cubran con mayor medida dichas necesidades.

De hecho, es muy frecuente encontrar organizaciones que caen en el error de elegir primero las

aplicaciones que van a implantar sin ver qué es lo que realmente van a requerir. Al final, estas

terminan teniendo problemas de productividad y eficiencia y deben acabar reformulando su

modelo de negocio para adaptarlo a las aplicaciones disponibles o modificando su sistema de nube

m
híbrida, con el coste que ello conlleva.

co
a.
op
ur
oe
ut
it
st
.in

Trayectoria y experiencia de la empresa


s
do

Antes de decidirse por un tipo de nube o por un proveedor de servicios determinados, es muy

conveniente que la organización realice un análisis de cuál es su experiencia de cuáles van a ser las
ca

habilidades técnicas que va a requerir para gestionar y mantener sus aplicaciones actualizadas.
ifi
rt

La elección de estas habilidades puede basarse y apoyarse en cuestiones como las siguientes:
ce

¿Cuáles son las aplicaciones que utiliza la organización en este momento?

¿Cuáles son las actividades que no dispone?

¿Cuáles son las actividades que pueden agregar valor a la empresa y cuáles no?

Con la formulación de estas preguntas iniciales, la empresa puede hacerse una idea de qué es lo que

va a necesitar, qué es lo que dispone y si ello es lo que le va a reportar un valor añadido.

Además, este tipo de análisis otorgará información importante a la organización para detectar en

certificados.institutoeuropa.com
12 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

qué procesos son ineficientes y cómo pueden mejorarlos a través de las aplicaciones más

adecuadas.

Outsourcing o externalización

Una vez realizado el análisis de las aplicaciones y de la experiencia y habilidades técnicas de una

organización, ya es posible hacerse una idea sobre cuáles van a ser las funcionalidades y servicios

candidatos para ser externalizados, es decir, contratados a un proveedor externo.

m
Así, si la empresa detecta una función para la cual la empresa no dispone de capacidad técnica o,

co
aunque disponga de ella, esta no es suficiente, no agrega valor o no es eficiente, será conveniente

a.
considerar delegarla hacia un proveedor de servicios para evitar problemas de disponibilidad,

op
interrupciones de servicio o ineficiencias.

ur
Asesoría
oe
Por último, un factor especialmente relevante que muchas organizaciones que ya tienen una nube
ut

híbrida implantada no tienen en cuenta es la gran complejidad de estar actualizados con este tipo de
it

tecnología y la complejidad de su funcionamiento.


st
.in

En este sentido, una buena opción para toda empresa que quiera implantar una nube híbrida y
s

aprovecharla al máximo sin quedarse desfasada es la contratación de los servicios de una asesoría o
do

consultoría que sirva de apoyo para tomar la mejor decisión en relación al mejor modo de
ca

despliegue de las aplicaciones que la empresa necesita, a cómo y cuándo deben actualizarse y cuál

va a ser la mejor tecnología para ello.


ifi
rt

Evaluación de alternativas para el establecimiento de una nube híbrida


ce

La nube híbrida es una de las mejores alternativas de cloud para cualquier tipo de organización. Eso

sí, para evitar proyectos demasiado costosos y que requieran un consumo excesivo de recursos,

es necesario realizar una serie de evaluaciones previas para determinar cómo minimizar la

complejidad de su implantación y su gestión posterior.

Así, en el momento de determinar la arquitectura de nube híbrida más adecuada para una

organización, es conveniente plantearse una serie de cuestiones fundamentales:

certificados.institutoeuropa.com
13 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

¿Cómo se va a utilizar la nube híbrida a corto y medio plazo?

¿Qué nubes públicas se desea aprovechar?

¿Qué plataformas se desea utilizar?

¿Cómo se va a llevar a cabo la gestión del entorno híbrido?

¿Cómo se integrará la nube con la operatoria habitual de la organización?

¿Cuáles serán las competencias necesarias para implementar, mantener y operar el entorno

híbrido?

m
¿Cómo se va a prevenir la dependencia del proveedor?

co
a.
¿Cómo se va a utilizar la nube híbrida a corto y medio plazo?

op
La gran mayoría de empresas tienen previsto utilizar una nube híbrida a corto/medio plazo (dentro

ur
de los 12-18 meses posteriores a su implantación) como sistema de recuperación y rápida actuación
oe
ante posibles desastres. No obstante, tener un centro de datos secundario simplemente para tener

un sistema de recuperación de desastres es costoso y supone un desaprovechamiento de recursos


ut

disponibles.
it
st

Actualmente, numerosos proveedores de nubes públicas ya suministran servicios de recuperación


.in

de desastres alcanzables a cualquier empresa. La clave de ello es identificar cuál va a ser la


s

tecnología que minimice la complejidad, maximice la automatización y no sature a los profesionales


do

del sistema. Para ello ya existen soluciones cloud de recuperación de desastres sencillas para
ca

empresas de tamaño medio, por lo que ya no es imprescindible la contratación de servicios de gran


ifi

nivel y especialización.
rt
ce

Para empresas de mayor tamaño que pretendan utilizar nubes para liberar sus centros de datos, la

nube híbrida es la opción más manejable y asumible ya que permite trabajar con mayor flexibilidad y

certificados.institutoeuropa.com
14 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

un ahorro en costes significativo.

m
co
a.
op
ur
oe
ut

La arquitectura lambda está dividida en 3 capas:


it
st

Batch Layer (Capa Batch)


.in

Serving Layer (Capa de servicio)


s

Speed Layer (Capa de velocidad)


do
ca
ifi
rt
ce

certificados.institutoeuropa.com
15 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

Batch Layer (Apache Hadoop)

Esta capa es la encargada de:

Almacenar el dataset maestro en HDFS.

Desde este dataset, crear vistas arbitrarias vía MapReduce (Hive, Pig,...).

m
Serving Layer (Cloudera Impala)

co
Esta capa es la encargada de indexar y mostrar las vistas para que puedan ser consultadas.

a.
Al igual que las vistas batch, son estáticas.

op
ur
Solo necesita lecturas y para ello puede utilizar Impala, Stinger,...
oe
Como ejemplo, para mostrar las vistas con Impala, solo es necesario crear una tabla en el Metastore
ut

de HIVE que apunte a los ficheros HDFS y con esto ya se podría consultar mediante SQL.
it

Speed Layer (Storm, Apache HBase)


st

Con las anteriores capas ya tendríamos una arquitectura Big Data pero no satisface los requisitos
.in

que tiene un sistema en tiempo real ya que MapReduce es un proceso Batch que puede tardar horas
s

en crear las vistas y transferirlas a la Serving Layer.


do
ca

En este sentido aparece la Speed Layer.


ifi

Esta capa genera vistas en tiempo real usando Storm para compensar la alta latencia de la Batch
rt

Layer.
ce

Solo contiene los resultados delta que se añaden en las Batch Layer.

Utiliza un modelo incremental.

En cada capa se utiliza tecnología especializada para cada fin.

Aunque se pueden usar varias opciones, la opción más estandarizada es la de usar Apache Sqoop,

HDFS y Hive para batch y Apache Kafka, HBase y Spark para stream.

certificados.institutoeuropa.com
16 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

Hay proveedores (Ej: Cloudera) que ofertan productos que integran todas estas herramientas y

facilitan la incorporación de arquitecturas lambda.

m
co
a.
op
ur
Ventajas de la arquitectura Lambda oe
La arquitectura Lambda tiene las siguientes ventajas:
ut
it

Conserva, sin cambios, los datos de entrada.


st

Esta característica permite volver a procesar los datos cuando haya


.in

cambios de criterio.
s
do
ca

Desventajas de la arquitectura Lambda


ifi

La arquitectura Lambda tiene las siguientes desventajas:


rt
ce

Hay que mantener código distinto para, en dos sistemas (batch y

speed) producir el mismo resultado, lo que hace que sea costoso.

Además de mantener el código también hay que hacer la depuración y

la interacción con otros productos.

Es un problema de paradigmas de programación diferentes y

divergentes.

certificados.institutoeuropa.com
17 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

Una nube híbrida es un servicio cloud integrada que utiliza funcionalidades de


nubes privadas y públicas para realizar distintas funciones dentro de una misma
empresa.

Verdadero.

Falso.

m
La nube híbrida es una de las mejores alternativas de cloud para cualquier tipo

co
de organización. Eso sí, para evitar proyectos demasiado costosos y que requieran

a.
un consumo excesivo de recursos, es necesario realizar una serie de evaluaciones
previas para determinar cómo minimizar la complejidad de su implantación y su

op
gestión posterior.

ur
Verdadero. oe
Falso.
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
18 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

Arquitectura Kappa.

La arquitectura Kappa es un tipo de arquitectura de ciencia de datos

¿Qué es la ciencia de datos?

La ciencia de datos o Data Science es una disciplina entendida como el conjunto de métodos,

técnicas y teorías para extraer ideas y nuevas perspectivas de la información, en datos provenientes

de múltiples fuentes. Además, pretende enfocar sus resultados a numerosos ámbitos como

m
marketing y publicidad, mejora de los procesos productivos, servicios públicos, investigación

co
científica y médica, Business Intelligence, etc.

a.
op
Por tanto, entendemos que la ciencia de datos incorpora diferentes elementos y se basa en las

técnicas y teorías de muchos campos, incluyendo las matemáticas, estadística, ingeniería de datos,

ur
reconocimiento de patrones y aprendizaje, computación avanzada, visualización, modelado de la
oe
incertidumbre, almacenamiento de datos y la informática de alto rendimiento, con el objetivo de
ut

extraer el significado de los datos y la creación de productos de datos. Es un término relativamente


it

nuevo y que a menudo se utiliza de manera intercambiable con inteligencia o análisis de negocios
st

competitivos. La ciencia de datos, busca, por tanto, utilizar todos los datos disponibles y relevantes
.in

para contar una historia que pueda ser fácilmente comprendida por cualquiera.
s

Completa los huecos para contestar a esta pregunta. ¿Qué es la ciencia de datos?
do

La ciencia de datos o [[Data Science]] es una disciplina entendida como el conjunto de [[métodos]],
técnicas y teorías para extraer ideas y nuevas [[perspectivas]] de la información, en datos
ca

provenientes de múltiples [[fuentes]].


ifi

Además, pretende enfocar sus resultados a numerosos ámbitos como marketing y


rt

publicidad, mejora de los procesos productivos, servicios públicos, investigación


ce

científica y médica, Business Intelligence, etc.

Podemos decir que el Data Science, nace del método científico y es la evolución natural de lo que

hasta ahora se conocía como Análisis de datos, pero a diferencia de ésta que sólo se dedica a

analizar datos de una única fuente, la ciencia de datos debe explorar y analizar datos de múltiples

fuentes, por regla general con formato diferentes entre ellas, y que afectan de manera muy

significativa la investigación actual de muchos campos.

certificados.institutoeuropa.com
19 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

m
co
a.
La aplicación de data science implica un trabajo, primero de Data Mining y posteriormente de Data

op
Analytics, que mediante tecnología de Big Data permite abarcar gran magnitud de información y

ur
orientarla a aplicaciones reales. De esta manera se analiza el flujo de información para convertirlo
oe
en información organizada y jerarquizada, lo que convierte esta cantidad de información en un valor

añadido.
ut
it

Según Mike Loukides, autor del libro “What is Data Science?”, la idea central es que “el futuro
st

pertenece a las empresas y personas que puedan transformar datos en productos”. El autor expone
.in

que la web está llena de aplicaciones basadas en datos o como él las llama “data-driven apps”, y que
s

casi cualquier aplicación de e-commerce es una aplicación basada en datos, pues hay una base de
do

datos detrás del front-end de una web y un middleware (software que asiste a una aplicación para
ca

interactuar o comunicarse con otras aplicaciones, redes, hardware y/o sistemas operativos) que a su
ifi

vez se comunica con otras bases de datos o servicios de datos externos. Pero el simple hecho de usar
rt

los datos no es realmente “ciencia de datos”, ya que una aplicación de datos adquiere valor a partir
ce

de los datos en sí y la creación de más datos como resultado, es decir no es solo una aplicación con

datos sino que es un producto de datos. El data science permite la creación de estos productos de

datos.

Algunas de las aplicaciones de las que habla Mike Loukides son Facebook y LinkedIn que usan

patrones de relaciones de amistad para sugerirte otras personas que puedes conocer, con una

precisión en ocasiones aterradora. Amazon, sería otro ejemplo, en este caso la aplicación guarda las

búsquedas de los usuarios, correlaciona lo que se busca con la búsqueda de otros usuarios y lo usa

para crear recomendaciones muy acertadas. Estas recomendaciones son ejemplos de “productos de

certificados.institutoeuropa.com
20 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

datos” que estas compañías obtienen a partir de los datos que son capaces de recolectar a través de

sus aplicaciones.

El rol del Data Scientist

Con el nacimiento del concepto de ciencia de datos aparece el perfil profesional del Data Scientist,

como aquel experto en Data Science que resuelve problemas complejos de diferentes disciplinas,

haciendo uso del análisis de datos y ayuda a la extracción de conclusiones.

m
En palabras de José Antonio Guerrero (científico de datos), el data scientist “Es una persona con

co
fundamentos en matemáticas, estadística y métodos de optimización, con conocimientos en

a.
lenguajes de programación y que además tiene una experiencia práctica en el análisis de datos

op
reales y la elaboración de modelos predictivos. De las tres características quizás la más difícil es la

tercera; no en vano la modelización de los datos se ha definido en ocasiones como un arte. Aquí no

ur
hay reglas de oro, y cada conjunto de datos es un lienzo en blanco”.
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

Como hemos visto, la ciencia de datos requiere de habilidades que van desde la informática

tradicional hasta el arte de las matemáticas. Jeff Hammerbacher dijo que “un día cualquiera, un

miembro del equipo podría crear un pipeline de procesamiento de varios niveles en Python, diseñar

una prueba de hipótesis, realizar una análisis de regresión sobre muestras de datos con R, diseñar

e implementar un algoritmo para algunos productos o servicios intensivos en datos en Hadoop, o

comunicar los resultados de nuestros análisis a otros miembros de la organización”

certificados.institutoeuropa.com
21 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

Por tanto, un “científico de datos” es la persona que trata y analiza los datos, posee conocimiento del

negocio o del ámbito de aplicación de la información, y es capaz de explorar enormes cantidades de

datos que trabaja para marcar y descubrir tendencias de negocio, nuevas estrategias o innovaciones.

Es en resumen, la figura que sabe unir, procesar y visualizar los datos desde múltiples

perspectivas para encontrarles un nuevo sentido. Debe ser mitad analista, mitad artista.

m
co
a.
op
ur
oe
ut
it

Como se puede apreciar, el data scientist es un profesional con un perfil multidisciplinar, y en


st

concreto debe combinar al menos tres características:


s .in

Formación de base en alguna ciencia o disciplina cuantitativa, que incluya conocimientos de


do

aprendizaje automático, algoritmia, optimización, simulación, series temporales y modelos de


ca

asociación y clasificación entre otros.

Habilidades tecnológicas avanzadas, que incluyen el dominio de lenguajes de programación


ifi

estadística, pero también conocimientos técnicos para la extracción eficiente, el uso y el


rt
ce

almacenamiento de información, el manejo de bases de datos relacionales y no relacionales, y

la capacidad para extraer datos de internet y procesar grandes cantidades de información.

Conocimiento profundo del negocio en el que desarrolla su labor como científico de datos.

Etapas en el proceso de Data Science

Mientras que el ingeniero de datos se centra en capturar y recopilar grandes volúmenes de

información estructurada, no estructurada y semiestructurada, el data scientist se centra más en el

análisis, predicción y visualización.

certificados.institutoeuropa.com
22 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

En el libro The Art of Data Science se describe la metodología que subyace a todo proyecto de

Data Science, que en opinión de sus autores es un proceso definido como una iteración de cinco

etapas:

Definición de las cuestiones a resolver: Consiste en establecer la pregunta que mejor

defina el proyecto y tenga la mayor relevancia.

Exploración analítica de los datos: En esta etapa nos centraremos en evaluar la información

m
disponible y refinar la pregunta inicial para evitar resultados ambiguos, sesgos o detectar la

co
necesidad de recopilar nuevos datos.

Construcción del modelo: Consiste en buscar una serie de procesos y algoritmos que se

a.
puedan estandarizar y que nos permitan tratar los datos disponibles para mejorar la

op
comprensión de los mismos, es decir, sería establecer un protocolo para tratar los datos

ur
disponibles y extraer de ellos la mayor información relevante posible, convirtiendo así los datos
oe
en conocimiento.

Interpretación de resultados: Esta etapa del proceso, es en opinión de los autores, un paso
ut

que se pone en práctica en todas y cada una de las etapas, pues es inevitable interpretar los
it
st

distintos resultados parciales que se obtienen a medida que se avanza en el trabajo. No


.in

obstante es necesario fijar una etapa independiente en la que se interpreten los resultados, una

vez hayan sido tratados los datos, creados los modelos y cotejados los resultados para sacar las
s
do

conclusiones finales.

Comunicación de resultados
ca
ifi

Cada una de estas cinco etapas se centra en un aspecto determinado del análisis, pero al mismo
rt

tiempo, es importante revisar continuamente los resultados obtenidos en etapas anteriores para
ce

verificar si se mantiene la línea prevista o se ha producido alguna desviación que debamos revisar.

Este aspecto del análisis es el más importante: la revisión continúa de los resultados con respecto a

las expectativas. En todo proyecto de análisis de datos, a medida que se va profundizando, se

descubren nuevos enfoques que nos empujan a replantearnos alguna de las etapas anteriores o

incluso el propio marco de trabajo. Esto es lo que los autores del libro denominada Epicycles o

Analysis, pues se entiende el proceso como un proceso iterativo que se aplica a todos los pasos del

proceso de análisis de datos, organizado de manera circular. Es decir, cada una de las 5 etapas se

divide a su vez en un proceso de tres bloques:

certificados.institutoeuropa.com
23 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

Definición de las expectativas: Es el proceso de pensar en qué se pretende conseguir antes

de hacer nada.

Recopilación de datos: En este paso se recolecta información relacionada con la cuestión

definida en la etapa anterior

Cotejo de las expectativas con los datos recopilados: Una vez que tenemos los datos, el

siguiente paso es comparar tus expectativas con los datos. En esta etapa pueden darse dos

situaciones: que tus expectativas casen con los datos lo que nos haría avanzar a la siguiente

m
etapa en el nivel superior, o que no lo que provocaría una revisión del proceso.

co
a.
La ejecución de cada una de las etapas anteriores puede provocar un cambio en la estrategia de los

op
niveles superiores, dando lugar a que se vuelva a una etapa anterior en el proceso de análisis, de

ahí que la representación gráfica de esta teoría sea a modo de engranajes interconectados.

ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

Para cada una de estas etapas del proyecto, se hará uso de diferentes herramientas y tecnologías

certificados.institutoeuropa.com
24 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

englobadas dentro del universo del Big Data y Business Intelligence.

Herramientas necesarias para el científico de datos

Como se ha comentado, un científico de datos debe tener conocimientos en Matemáticas y

Estadística, pero además precisa de diversos conocimientos tecnológicos como:

Bases de datos relacionales, SQL

m
Bases de datos no relacionales, NoSQL

co
Lenguajes de programación como R y Python

a.
Machine Learning

op
Programación de altas prestaciones, programación distribuida en herramientas como Hadoop

ur
Por tanto, un data scientist debe ser capaz de hacer gestión de grandes volúmenes de datos,
oe
análisis y visualización de los mismos. De un científico de datos se espera que tenga una gran
ut

comprensión de la informática y desarrolle herramientas o utilice algunas no estándar para las


it

necesidades de productos o las necesidades de la empresa.


st
s .in
do
ca
ifi
rt
ce

En la imagen anterior se exponen algunas de las herramientas y tecnologías que debe dominar un

científico de datos en cada una de las etapas que componen el proceso.

La ciencia de datos implica como hemos visto una iteración en una secuencia de tareas: encontrar,

cargar y preprocesar los datos, crear y probar modelos e implementar los modelos para su uso en

aplicaciones inteligentes, para ello los científicos de datos usan varias herramientas, lo que en

ocasiones puede ralentizar el proceso al tener que integrar diferentes versiones de software. Con

el objetivo de reducir esta carga de trabajo, aparecen algunas herramientas como Microsoft Data

certificados.institutoeuropa.com
25 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

Science Virtual Machine, que proporciona una imagen con las herramientas más populares

preinstaladas y configuradas, y que se puede aprovisionar en Azure.

m
co
a.
op
ur
oe
ut
it
st
s .in
do

A la vista de la imagen anterior, en la que aparecen algunas de las herramientas de las que se puede

hacer uso en el proceso de Data Science, no es raro que entre los profesionales de este entorno se
ca

conozca al Data Scientist como el “unicornio” de los datos, ya que es muy difícil que una única
ifi

persona abarque todas las necesidades y tecnologías de esta área, por lo que generalmente para un
rt

proyecto de Data Science se formará un equipo multidisciplinar donde cada miembro dispondrá de
ce

unas habilidades concretas.

En el libro “Analyzing the Analyzers. An Introspective Survey of Data Scientists and their work” se

concluye que existen 4 tipos de científicos de datos diferenciados:

El empresario de datos

Es el que está centrado en la organización y en cómo a través de los proyectos de datos se

certificados.institutoeuropa.com
26 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

pueden obtener beneficios.

El creativo de datos

Son aquellos que realizan todo el proceso de análisis por su cuenta, desde la extracción de

datos a la representación o visualización adecuada para su interpretación.

El desarrollador de datos

m
Están más centrados en el problema técnico de los datos, cómo conseguirlos, almacenarlos y

co
aprender de ellos.

a.
op
El investigador de datos

ur
Aquellos con una base académica potente en ciencias sociales, estadísticas etc., y cuyo
oe
conocimiento puede conducir a investigar sobre resultados de los datos.
ut
it

A continuación, se ofrece una gráfica de lo que hemos visto anteriormente.


st
s .in
do
ca
ifi
rt
ce

La arquitectura Kappa se introdujo en 2014 por Jay Kreps en el artículo "Questioning the Lambda

Architecture".

En dicho artículo, Jay Kreps, señala los posibles puntos "débiles" de la arquitectura Lambda y la

certificados.institutoeuropa.com
27 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

posible evolución solucionando dichos puntos.

La propuesta que hizo fue la de eliminar la Batch Layer (Capa Batch) dejando solamente la capa de

streaming.

Al contrario que la capa batch, esta capa no tiene principio ni fin en el sentido temporal por lo que

está procesando nuevos datos de forma continua conforme estos datos van llegando.

m
co
a.
op
ur
oe
ut

Podríamos decir que, ya que un proceso batch es como un stream acotado, el procesamiento batch
it

es un subconjunto del procesamiento en streaming.


st

Esta evolución supone simplificar la arquitectura lambda en el que el procesamiento se lleva a cabo
.in

en una sola capa (Real-time Layer o capa en tiempo real) en la que se da soporte tanto a
s

procesamientos batch como en tiempo real.


do
ca
ifi
rt
ce

A modo de resumen, la arquitectura Kappa tiene los siguientes cuatro pilares principales:

Todo es tratado como un stream.

No se modifican los datos de inicio.

Existe solamente un flujo de procesamiento.

Existe la posibilidad de volver a lanzar un procesamiento.

certificados.institutoeuropa.com
28 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

Previamente, hay que garantizar que se leen y almacenan los eventos según se han generado.

Ventajas de la arquitectura Kappa

Solo se vuelve a computar cuando hay un cambio en el código.

Solo se mantiene un código.

Si hay limitaciones de memoria, es posible volcar los datos a disco.

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
29 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

Apache Flink e implementaciones prácticas.

Apache Flink es un framework de código abierto desarrollado por la fundación Apache. El núcleo

de Apache Flink es un motor de flujo de datos escrito en Java y Scala. Flink ejecuta programas de

una manera paralela a los datos y de forma canalizada. Flink soporta la ejecución de algoritmos

iterativos de forma nativa. Flink ofrece un motor de transmisión de alto rendimiento y baja latencia,

así como soporte para el procesamiento de eventos y gestión del estado. Las aplicaciones de Flink

son tolerantes a fallos en caso de falla de la máquina. Los programas se pueden escribir en Java,

m
Scala Python y SQL, estos programas se compilan y optimizan automáticamente en programas de

co
flujo de datos que se ejecutan en un entorno de cluster o nube.

a.
op
ur
oe
ut
it
st

Características Apache Flink


.in

Apache Flink tiene las siguientes características principales:


s
do

Consistencia.
ca

Baja latencia.
ifi

Tolerancia a fallos.
rt

Alto throughput (millones de eventos por segundo).


ce

Sistema muy flexible de ventanas de streaming.

Eventos desordenados.

Unificación del procesamiento batch y streaming en un único sistema.

APIs multilenguaje e intuitivas.

Componentes fundamentales

certificados.institutoeuropa.com
30 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

Fuente de imágen: https://www.adictosaltrabajo.com

m
Flink está sustentado bajo el Flink Core donde están todas las APIs y librerías, entre ellas el

co
optimizador de programas Flink.

a.
Las 2 APIs sobre las que corre flink-core y que especifican el comportamiento y el entorno de trabajo

op
de los programas que se ejecutan sobre el son:

ur
DataSet API: Entorno de ejecución donde la transformación de los conjuntos de
oe
datos son cogidos de fuentes más estáticas (bases de datos locales, ficheros,...).
ut

DataStream API: Es parecido al anterior pero los datos se toman de fuentes


it

dinámicas (colas de mensajes, sockets,...).


st
.in

Las últimas versiones de Apache Flink incorporan un conjunto de librerías adicionales que forman
s
do

las capacidades más fronterizas del Big Data y son:


ca

FlinkML: Librería con continuo crecimiento de algoritmos para el machine


ifi

learning.
rt

Gelly: API para la creación y el análisis de grafos.


ce

Table API: API que permite usar expresiones escritas en lenguaje SQL.

Arquitectura básica de Apache Flink

Cuando un proceso va a ejecutarse, Flink lanza un JobManager que coordina todo el sistema y 1 o

más TaskManager que ejecutan, en paralelo, diferentes partes del programa.

El optimizador se encarga de transformar el programa enviado en un DataFlow que puede ser

certificados.institutoeuropa.com
31 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

ejecutado paralelamente por los TaskManager y se coordina por el JobManager.

En la siguiente imagen podemos apreciar un esquema de esta arquitectura básica.

m
co
a.
op
ur
oe
Fuente: https://www.adictosaltrabajo.com
ut

Apache Flink y Apache Spark


it
st

En este punto, parece necesario comparar Flink con el producto estrella de la computación
.in

distribuida, Apache Spark.


s

Externamente, Flink se parece bastante a Spark, pero la gran diferencia está en el interior ya que
do

tiene un modelo de programación totalmente centrado en procesar flujo (Stream Processing)


ca

mientras que Spark consigue este efecto gracias a pequeños procesos por lotes que se procesan de
ifi

forma rápida (denominado micro-batching).


rt
ce

La abstracción es otro de las diferencias entre ambos. Flink procesa, en tiempo real, registro

a registro mientras que Spark procesa bloques de datos o RDDs.

Un programa simple de Flink que cuenta palabras de un continuo stream de datos en grupo de

datos en ventanas de 5 segundos:

certificados.institutoeuropa.com
32 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

m
co
a.
op
Como podemos observar funciona de manera similar a Spark procesando datos en tiempo real de un

ur
servidor. oe
Flink al igual que Spark podemos utilizarlo para realizar minería de datos de un continuo flujo de
ut

datos y recoger datos que contengan una determinada palabra o grupo de palabras por ejemplo en
it

una investigación de mercada podemos recoger todos los datos que contengan la palabra marca
st

para realizar un estudio de mercado de las marcas más vendidas.


s .in

Conclusiones
do

Apache Flink está destacando desde el comienzo gracias a ese pensamiento de cambiar
ca

radicalmente la forma de pensar el procesado y el análisis de Big Data.


ifi
rt

Hay que permanecer atentos a la evolución de Apache Flink ya que parece el futuro.
ce

certificados.institutoeuropa.com
33 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
34 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

Druid.

Druid es un Sistema de datos distribuidos orientado a columnas de código abierto escrito en Java.

Druid está diseñado para “ingerir” grandes cantidades de datos de evento y realizar consultas sobre

los datos para poder visualizarlos. Druid es comúnmente usado en aplicaciones de inteligencia de

negocios para analizar grandes volúmenes en tipo real.

Se utiliza Druid para impulsar aplicaciones interactivas en las cuales es muy importante el tiempo de

m
actividad, el rendimiento y la simultaneidad.

co
a.
op
ur
oe
ut

Fuente: druid.io
it
st

Inicialmente, Druid se creó para poder tener una aplicación que fuera escalable, visual y en la que
.in

hubiera múltiples usuarios. Está pensado y diseñado para consultas de segundos.


s
do
ca

Comenzar Actividad
ifi
rt

Relaciona los elementos de la columna Derecha con la columna Izquierda


ce

Druid es un Sistema de datos 1 Columnas de código abierto


distribuidos orientado a escrito en Java.

Druid es comúnmente usado en 2 Inteligencia de negocios para


aplicaciones de analizar grandes volúmenes en
tipo real.

Se utiliza Druid para impulsar aplicaciones interactivas en las cuales es muy

certificados.institutoeuropa.com
35 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

importante el tiempo de actividad, el rendimiento y la simultaneidad.

Diseño

El diseño se centra en unificar ideas de sistemas de búsqueda, bases de datos analíticas y bases de

datos de tiempos compartidos para realizar un sistema central para el análisis operativo.

m
Estas ideas centrales incluyen:

co
a.
Almacenamiento orientado a columnas

op
Cada columna es guardada y comprimida por Druid de forma individual y solo es

ur
necesario leer las adecuadas para una consulta lo que permite análisis rápidos, groupBys
oe
y clasificaciones.
ut

Índices de búsqueda nativa


it
st

Para la búsqueda rápida y el filtrado, Druid crea índices invertidos para los valores de
.in

cadena.
s
do

Streaming e ingesta de lotes (batch)


ca

Conectores para utilizar Apache Kafka, HDFS, procesadores de flujo,...


ifi
rt

Esquemas flexibles
ce

Druid utiliza de forma flexible los esquemas y datos anidados.

Optimización del tiempo de partición

Druid particiona de forma inteligente, basándose en el tiempo, los datos y las consultas

sobre estos datos son bastante más rápidas que en las bases de datos tradicionales.

certificados.institutoeuropa.com
36 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

Soporte de lenguaje SQL

Druid, a través de HTTP o JDBC permite utilizar lenguaje SQL.

Escalable horizontalmente

Es usado para ingerir millones de eventos por segundo. Las consultas proporcionadas en

este escenario son inferiores al segundo.

m
co
Fácilmente operable

a.
Druid, de forma automática, reequilibra escalando hacia arriba o abajo según necesite.

op
Es tolerante a fallos.

ur
oe
Arquitectura Druid
ut

Druid se lanza sobre nodos (conjuntos de procesos) para que la arquitectura sea tolerante a fallos ya
it

que los datos son almacenados de forma redundante.


st
.in

Para la coordinación, a través de Apache ZooKeeper, el almacenamiento de metadatos y una

función de almacenamiento profundo, el clúster incluye dependencias externas.


s
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
37 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

Fuente: Wikipedia.

Gestión de consultas

Inicialmente, las consultas van a los nodos del intermediario. Este reenvía estas

consultas a los nodos indicados.

Ya que los segmentos de Druid pueden estar particionados, una consulta puede necesitar

datos de varias particiones o varios segmentos que pueden estar almacenados en

m
distintos nodos en el clúster. Los intermediarios pueden conocer donde están los datos

co
requeridos para cada nodo y, antes de devolver un resultado agregado, combinar

a.
resultados parciales.

op
ur
Gestión de clusters oe
Todas las operaciones que tengan relación con la gestión de datos que se encuentren en
ut

nodos históricos son supervisadas por nodos coordinadores.


it

Apache ZooKeeper es utilizado para registrar cada nodo, administrar algunos aspectos
st

de su comunicación y proporcionar la elección de líderes.


s .in
do

Características
ca

Druid ofrece las siguientes características:


ifi
rt

Ingesta de datos de baja latencia (Streaming)


ce

Consultas inferiores al segundo

Exploración de datos de corte de forma arbitraria

Cálculos tanto aproximados como exactos

Casos de uso

Varias de las empresas más grandes y líderes del mundo, en las que existen más de mil servidores e

ingieren más de 10 millones de eventos/segundo utilizan Druid.

certificados.institutoeuropa.com
38 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

Druid es utilizado, principalmente para:

Analizar el rendimiento.

Encontrar puntos en común.

Aumentar eficiencia.

Diagnosticar problemas.

m
Druid requiere Kafka que será de donde recoja los datos en tiempo real.

co
Una vez tengamos descargado la distribución de druid y descomprimida vamos a descargar nuestro

a.
portal de ayuda que cargará edits de Wikipedia directamente a Kafka:

op
ur
curl -O http://static.imply.io/quickstart/kafka-wikiticker.tar.gz
oe
tar -xzf kafka-wikiticker.tar.gz
ut

Una vez realizado estos iniciaremos Imply, que incluye druid, Pivot y ZooKeeper. Podemos usar el
it

programa supervise para inciarlos todo:


st
.in

cd imply-1.2.1
s

bin/supervise -c ../kafka-wikiticker/conf/quickstart.conf
do
ca

Una vez iniciado Imply iniciaremos kafka:


ifi

curl -O http://packages.confluent.io/archive/3.0/confluent-3.0.0-2.11.tar.gz
rt

tar -xzf confluent-3.0.0-2.11.tar.gz


ce

cd confluent-3.0.0

./bin/kafka-server-start ./etc/kafka/server.properties

Una vez iniciado los datos de Wikipedia deberian estar en kafka.

Para visualizar los datos nos iremos a pivot desde la dirección localhost:9095/pivot:

certificados.institutoeuropa.com
39 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

m
co
a.
op
De esta manera podremos visualizar datos de manera sencilla y simple.

ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
40 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

ElasticSearch.

ElasticSearch es un servidor de busqueda basado en Lucene. ElasticSearch nos ofrece un motor de

búsqueda de texto completo, con capacidad de multi-tenencia y es distribuido con una interfaz

RESTful usando documentos JSON. Elasticsearch está escrito en Java.

m
co
a.
ElasticSearch utiliza Query DSL para realizar consultas a los documentos indexados. ElasticSearch

op
es un lenguaje sumamente flexible y de gran alcance que nos permite explorar y conocer los datos

ur
de la mejor manera. Al utilizar una interfaz JSON, las consultas son sencillas de depurar y de leer.
oe
ut
it
st

Comenzar Actividad
.in

Relaciona los elementos de la columna Derecha con la columna Izquierda


s
do

ElasticSearch es un servidor de 1 Lucene.


busqueda basado en
ca

Realizar consultas a los


ifi

ElasticSearch utiliza Query DSL 2 documentos indexados.


para
rt
ce

ElasticSearch es un lenguaje sumamente flexible y de gran alcance que nos


perimte explorar y conocer los datos de la mejor manera.

Hay varias librerías que permiten poder trabajar con los datos mediante multitud de lenguajes de

programación.

certificados.institutoeuropa.com
41 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

Se puede trabajar, por ejemplo, con Java, PHP, C#, Ruby, Javascript,...

También podemos aumentar las prestaciones sobre algunos aspectos del flujo de trabajo de las

empresas (Seguridad, reportes, gráficos,...) mediante un conjunto de productos (X-Pack) que

permiten extenderlo.

Existe un grupo de tecnologías que trabajan colaborativamente y son:

m
Elastic Search: Sistema basado en JSON, distribuido, con un escalamiento

co
horizontal y alto rendimiento.

Logstash: Sistema de recuperación de datos de logs. Permite su extensión

a.
utilizando plugins.

op
Kibana: Sistema que permite, mediante una interfaz gráfica, dar forma a los datos

ur
y administrar/visualizar los reportes. oe
Beats: Plataforma para la carga de información. Permite comunicar datos entre
ut

Logstash y Elastic Search.


it
st

Uso en Cloud
.in

La principal potencia que tiene Elastic Search es la de poder trabajar en la nube para la obtención
s
do

de información de todo tipo, incluso datos que no tengan estructura fija.


ca

Permite trabajar globalmente dando soporte a cualquier cantidad de servidores ó sistemas que
ifi

recopilen información.
rt

Se puede usar tanto en un único equipo recopilando datos de log de un único servidor como para la
ce

ingesta de datos en varios servidores (no importa la cantidad de ellos).

Debido a ello, grandes empresas ven en Elastic Search una herramienta perfecta para comprender

la marcha del negocio y obtener respuestas a sus preguntas.

Tipos de consultas

En Elastic Search, una consulta tiene la siguiente estructura: "query" seguida de condiciones ó

certificados.institutoeuropa.com
42 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

filtros.

Existen varios tipos de consultas como son:

"Match all query"

Es la consulta más básica. El resultado de ella es el de todos los objetos que estén

indexados.

m
co
a.
op
ur
oe
"Match query"
ut

Es un tipo de consulta que permite la búsqueda de datos que contengan un determinado


it

valor.
st
.in

Como ejemplo, si buscamos todos los objetos que tengan color verde, la consulta

quedaría así:
s
do
ca
ifi
rt
ce

"Multi match query"

Parecida a la consulta anterior pero en vez de buscar coincidencia de un único valor,

comprueba la coincidencia de varios campos:

certificados.institutoeuropa.com
43 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

m
"Term queries"

co
Es un tipo de consulta que permite la búsqueda de datos que contengan un determinado

a.
valor exactamente. Se diferencian de las match queries en que las match queries

op
buscaran todas las palabras que contengan el valor buscado, mientras que las term

ur
queries solo si la palabra coincide totalmente con lo buscado. Por ejemplo si buscamos
oe
"puerto" usando match, nos saldrán también palabras que incluyan puerto, como

aeropuerto. Si estamos interesados solo en "puerto" como palabra usaremos Term.


ut
it
st
s .in
do
ca
ifi

"Range query"
rt

Tipo de consulta que busca por rango dentro de un atributo.


ce

En este tipo de consultas se pueden usar distintos operadores ("gte": mayor o igual a

determinado valor, "gt": mayor a determinado valor, "lte": menor o igual, "lt": menor).

certificados.institutoeuropa.com
44 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

m
co
Existen más opciones, operadores y filtros, sobre todo si son combinados entre ellos.

a.
Ventajas

op
Las principales ventajas que otorga el uso de Elastic Search son:

ur
oe
Compatibilidad con todas las plataformas que estén desarrolladas en Java.
ut

Gran velocidad de respuesta.


it

Sistema distribuido (Escalable y adaptable).


st

Realización de respaldos de forma sencilla.


.in

Usa objetos JSON para dar respuesta.


s
do

Desventajas
ca

Las principales desventajas que otorga el uso de Elastic Search son:


ifi
rt

Solo soporta respuestas de tipo JSON, lo que hace limitado su uso al no soportar
ce

otros lenguajes (XML, CSV,...).

En algunos casos se pueden generar "split brain" (Cerebro dividido).

Como ejemplo de usuarios ó empresas que utilizan Elastic Search podemos nombrar:

Wikimedia

Mozilla

certificados.institutoeuropa.com
45 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

Quora

StumbleUpon

GitHub

CERN

Stack Exchange

m
co
a.
op
ur
oe
ut
it

ElasticSearch es muy sencillo de instalar. Solamente debemos descargarnos el archivo zip de su


st

distribución, descomprimirlo y ejecutar el programa. ElasticSearch utiliza el puerto 9200 por defecto
.in

para funcionar.
s
do

Para crear un índice utilizaremos la herramienta curl:


ca

curl -XPUT 'http://localhost:9200/indice1’


ifi

De esta manera habremos creado el índice índice1.


rt
ce

Si queremos eliminar el índice usaremos el siguiente comando:

curl -XDELETE 'http://localhost:9200/indice1'

Podemos definir en ElasticSearch como queremos que haga las búsquedas sobre los campos de un

documento. Vamos a ver el ejemplo de un libro que tiene como propiedades nombre y descripción en

varios idiomas y una serie de etiquetas para catalogarlo y una cantidad:

certificados.institutoeuropa.com
46 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

m
co
a.
Vamos ahora a indexar un documento:

op
ur
oe
ut
it
st

Si queremos ver los datos del documento realizaremos una peticion Get a la url del documento:
.in

curl -XGET 'http://localhost:9200/blogbitix/libro/1'


s
do

Ahora podremos realizar búsquedas en ElasticSearch:


ca

curl -XGET 'http://localhost:9200/blogbitix/libro/_search?pretty=true' -d '{


ifi

"query" : {
rt
ce

"fuzzy" : { "descripcion.es": "tapestry" }

}'

En este código estaremos realizando una búsqueda de un documento que tenga como descripción

en español tapestry.

certificados.institutoeuropa.com
47 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

Logstash.

Logtash es una herramienta que nos sirve para administrar logs. Esta herramienta puede

recolectar, parsear y guardar logs para futuras búsquedas. Logstash está basada en JRuby.

Logstash soporta entradas, codecs, filtros y salidas. Las entradas serán los datos. Los codecs

convierten un formato de entrada a un formato aceptado por Logstash, también transforman del

formato Logstash al formato de salida que deseemos. Los filtros son acciones utilizadas para

m
procesas los eventos permitiendo además modificarlos o eliminarlos después de ser procesados. Las

co
salidas son los destinos donde los datos procesados serán enviados.

a.
La principal diferencia de Logstash consiste en que tiene un gran número de plugins para las tres

op
partes de las que se compone.

ur
oe
ut
it

Comenzar Actividad
st

Relaciona los elementos de la columna Derecha con la columna Izquierda


.in

Logtash es una herramienta que 1 Para administrar logs.


s
do

nos sirve
ca

JRuby.
Logstash está basada en 2
ifi
rt
ce

Esta herramienta puede recolectar, parsear y guardar logs para futuras


búsquedas.

Características y diseño

Se soporta un número de entradas, códecs, filtros y salidas.

certificados.institutoeuropa.com
48 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

Las entradas son las fuentes de información y datos.

Los códecs convierten el formato de la entrada en uno que sea aceptado por Logstash y también del

formato Logstash al formato que se desee en la salida.

Los filtros se usan para procesar acciones en los eventos y da la posibilidad de modificar o eliminar

dichos eventos una vez procesados.

Las salidas son los destinos donde la información/datos tienen que ser enviados.

m
co
Arquitectura

a.
Cada servidor web tiene que configurarse bajo una infraestructura distribuida para correr

op
Lumberjack.

ur
Lumberjack realiza un forward de los logs a un servidor. oe
Al requerir SSL, los logs se encriptan del servidor web al servidor de logs central.
ut
it

Disponibilidad
st

Al tener un servidor de logs central, existe la debilidad de que es único frente a fallos.
s .in

Se debe pensar en una opción que tenga en cuenta la disponibilidad del sistema.
do

Logstash se puede configurar para usar varios servidores pero los logs solamente se enviarán a uno
ca

de ellos mientras que este no falle.


ifi
rt

Si este servidor de logs fallase, no se podrían acceder a todos los logs que se hayan
ce

recolectadohasta el momento hasta que no se habilite de nuevo ese servidor.

En esencia, Logstash tiene un servidor maestro (master) y servidores en espera (shippers).

Problemas a resolver por Logstash

Falta de consistencia

certificados.institutoeuropa.com
49 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

Existen muchos dispositivos que tienen logs y dentro de los servidores hay varios

servicios distintos funcionando y cada uno de ellos tiene un log distinto.

Los administradores de sistemas, administradores web o desarrolladores, necesitan

poder acceder a dichos logs para comprobarlos y existe una gran dificultad, ya que los

formatos varían y son difíciles de entender.

Formato de tiempo

m
co
Cada log puede tener un formato de tiempo distinto.

a.
op
Descentralización

ur
Los logs se reparten entre todos los servidores. Cada servidor dispone de un tipo de log
oe
y dentro de el pueden existir distintas rutas para encontrarlos.
ut

Un administrador de sistemas puede utilizar "ssh + grep" para acceder a ellos si


it

existen pocos servidores, pero si existen muchos entonces esta opción no es factible.
st
.in

Falta de conocimientos
s
do

No es sencillo comprender un log ya que tienen mucha información incluida en campos y

cuando la información es tanta, a veces es complicado saber qué se representa en


ca

dicho log y como se puede actualizar/borrar/...


ifi
rt

La instalación de Logstash es muy sencilla. Nos descargaremos su archivo Zip y lo


ce

descomprimiremos donde queramos. Una vez descomprimido nos iremos a su carpeta y

procederemos a probarlo:

bin/logstash -e 'input { stdin { } } output { stdout {} }'

Este comando está indicando a Logstash que la entrada sea la entrada de teclado y la salida sea la

terminar (stdout). Ahora si escribimos cualquier cosa en la terminal, Logstash nos responderá con el

mismo mensaje añadiendo la fecha y la IP.

certificados.institutoeuropa.com
50 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

Si queremos que nos lleve un registro de un log de alguna aplicación del sistema o de alguna

aplicación en el archivo.conf modificaremos la entrada para elegir el archivo del que queremos

llevar el seguimiento:

m
co
Aquí por ejemplo estamos definiendo el archivo log de un servidor apache tomcat.

a.
Conclusión

op
Logstash es una herramienta que tiene muchísimo potencial, sobretodo si se utiliza junto con Elastic

ur
Search.
oe
Es un punto a tener en cuenta con respecto al procesado de logs para nuestras aplicaciones.
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
51 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

Kibana.

Kibana es un plugin de visualización para ElasticSeach. Nos provee la capacidad de visualizar el

contenido indexado de ElasticSearch.

m
co
a.
op
Se puede crear gráficos y mapas de volúmenes de datos muy grandes.

ur
Combinar Elastic Search, Logstash y Kibana se conoce como "Elastic Stack" (ELK) y está disponible
oe
como servicio.
ut

Kibana al ser solo un plugin de visualización es muy fácil de configurar. Una vez lo tengamos
it
st

instalado nos dirigiremos a la siguiente ruta /etc/kibana/kibana.yml y debemos asegurarnos que


.in

tenemos la siguiente configuración:


s
do
ca
ifi

Estamos definiendo el puerto por el que funcionara Kibana y la URL que usa Logstash.
rt

Iniciaremos Kibana y nos dirigiremos a localhost:5601:


ce

certificados.institutoeuropa.com
52 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

m
co
a.
op
ur
oe
ut
it

Vamos a crearnos ahora un índice como ya hicimos en el punto anterior por ejemplo de un servidor
st

apache en la siguiente ruta /etc/logstash/conf.d/apache.conf


s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
53 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

Una vez rellenado el archivo.conf iniciaremos logstash.

Ahora nos dirigiremos a Kibana y le daremos al botón “Set up index patterns”:

m
co
a.
op
ur
oe
ut
it
st
s .in
do

Nos aparecerá el siguiente asistente, definiremos el índice como logstash-* y en la siguiente ventana
ca

seleccionaremos @timestamp como “Time Filter field”.


ifi

Le daremos a “Create Index pattern” y ya estaremos listos para analizar los datos. Nos iremos a la
rt

pestaña “Discover” en Kibana para visualizar los datos:


ce

certificados.institutoeuropa.com
54 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

m
co
a.
op
ur
oe
ut
it
st

Como podemos ver estaremos visualizando los logs de forma gráfica y ordenada por tiempo.
.in

Motivación
s
do

Este stack ELK es una herramienta perfecta para agregar, visualizar y analizar logs, aunque su
ca

objetivo y diseño no es específicamente este.


ifi
rt

De forma individual, la instalación de cada uno de los componentes de este stack ELK (Elastic
ce

Search, Logstash y Kibana) para que estos se comuniquen entre sí no es fácil.

Afortunadamente, existen herramientas como Docker y Docker Compose que permite crear

contenedores con este stack ELK fácilmente.

Resumen estructura ELK

Como resumen, podemos comprobar en la siguiente imagen como sería la arquitectura y la toma de

certificados.institutoeuropa.com
55 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

datos en el stack ELK:

Fuente: https://openwebinars.net

m
Logstash proporciona una secuencia de entrada a ElasticSearch para el almacenamiento y la

co
búsqueda, y Kibana accede a los datos para visualizarlos, como paneles, para poder así

a.
monitorizarlos.

op
ur
Conclusión oe
Como hemos comprobado, utilizando un stack ELK, disponemos de una forma de recolectar
ut

información (Logstash), almacenar y buscar información (ElasticSearch) y visualizar y analizar

información (Kibana).
it
st

Un ejemplo muy útil de uso sería el de explotar los logs de nuestras aplicaciones.
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
56 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

Recuerda

[[[Elemento Multimedia]]]

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
57 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

Autoevaluación

La nube hÍbrida…

Se trata de un modelo de nube que pretende aprovechar las características más


ventajosas de los modelos de nube privada y de nube pública.

m
Se trata de un modelo de nube que no aprovecha las características ventajosas de los

co
modelos de nube privada y de nube pública.

a.
op
Se trata de un modelo de nube que pretende aprovechar las características más
ventajosas de los modelos de nube privada pero no de nube pública.

ur
oe
La ciencia de datos…
ut
it

Es una disciplina entendida como el conjunto de métodos, técnicas y teorías para


st

extraer ideas y nuevas perspectivas de la información, en datos provenientes de


.in

múltiples fuentes.
s
do

Es una disciplina entendida como el conjunto de métodos, técnicas y teorías para


extraer ideas y nuevas perspectivas de la información, en datos provenientes de una
ca

única fuente fuentes.


ifi
rt

Es una disciplina entendida como el conjunto de métodos, técnicas y teorías para


extraer ideas, pero no nuevas perspectivas de la información, en datos provenientes
ce

de múltiples fuentes.

Apache Flink…

Apache Flink es framework de código abierto desarrollado por la fundación Apache. El


núcleo de apache Flink es un motor de flujo de datos escrito en Java, pero no Scala.

certificados.institutoeuropa.com
58 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080716] SISTEMAS DE COMPUTACIÓN HÍBRIDOS.

Apache Flink es framework de código cerrado desarrollado por la fundación Apache.


El núcleo de apache Flink es un motor de flujo de datos escrito en Java y Scala.

Apache Flink es framework de código abierto desarrollado por la fundación Apache. El


núcleo de apache Flink es un motor de flujo de datos escrito en Java y Scala.

Indica si la siguiente afirmación es verdadera o falsa: “Druid está diseñado para

m
“ingerir” grandes cantidades de datos de evento y realizar consultas sobre los

co
datos para poder visualizarlos”.

a.
op
Verdadero.

ur
Falso.
oe
ut

Indica si la siguiente afirmación es verdadera o falsa: “ElasticSearch nos ofrece


it

un motor de búsqueda de texto completo, con capacidad de multi-tenencia y es


st

distribuido con una interfaz grafica”.


s .in

Verdadero.
do
ca

Falso.
ifi
rt
ce

certificados.institutoeuropa.com
59 / 59
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

Introducción

El concepto de cloud computing representa un nuevo modelo de informática que puede tener tanta

o más relevancia que la propia Web. Se trata de la evolución de una serie de tecnologías que afectan

a las distintas estrategias de las organizaciones en el momento en el que tienen que plantearse sus

infraestructuras de tecnologías de la información.

Con la entrada del cloud computing, las empresas ya no tienen tanta necesidad de disponer de

m
dispositivos de almacenamiento físico para gestionar su información ya que, a través de la nube,

co
pueden acceder a sus datos prácticamente desde cualquier ubicación con acceso a Internet.

a.
En cuanto a la definición de cloud computing, hay que decir que no existe una definición estándar

op
que esté aceptada de forma universal. No obstante, hay ciertos organismos internacionales

ur
dedicados a la estandarización de las tecnologías de la información y, especialmente, del cloud
oe
computing.
ut

Uno de los organismos más reconocidos es el NIST (National Institute of Standards and Technology)
it

y define el cloud computing o computación en la nube como:


st
.in

“Un modelo que permite el acceso bajo demanda a través de la red a un conjunto compartido de

recursos de computación configurables (por ejemplo redes, servidores, almacenamiento,


s
do

aplicaciones y servicios) que pueden aprovisionar rápidamente con el mínimo esfuerzo de gestión o

interacción del proveedor de servicios”.


ca
ifi
rt
ce

certificados.institutoeuropa.com
1 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

Objetivos

En esta unidad nos proponemos:

Conocer las funciones y características de las plataformas Amazon Web Services y Google

Cloud Platform.

Identificar las propiedades y funcionalidades que estas plataformas pueden aportar a nuestras

necesidades.

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
2 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

Mapa Conceptual

[[[Elemento Multimedia]]]

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
3 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

Amazon Web Services.

Orígenes del Cloud Computing

Si a los constantes procesos de deslocalización, globalización e internacionalización de las

grandes empresas producidos a lo largo de las últimas décadas le unimos la creciente utilización de

las tecnologías de la información y del procesamiento de datos, se ha originado una necesidad de

almacenamiento y procesamiento de información que difícilmente pueden abarcar los ordenadores

m
personales tradicionales.

co
Por ello, para satisfacer las necesidades de las organizaciones que trabajan con elevados volúmenes

a.
de datos, en los últimos años se ha ido produciendo una interesante evolución de las arquitecturas

op
de cálculo fundamentada principalmente en la realización y ejecución de procesos de forma

ur
simultánea en varios equipos informáticos. oe
Se considera a la nube como una evolución natural de Internet. En sus orígenes, Internet fue
ut

desarrollada como una red basada en protocolos TCP/IP y, a raíz de ahí, fueron emergiendo
it

aplicaciones focalizadas en la comunicación entre distintos usuarios como, por ejemplo, el correo
st

electrónico y la transferencia de ficheros.


.in

Con la llegada de la World Wide Web a inicios de los años noventa, se convirtió a Internet en una
s
do

gran fuente de información, datos y contenido que, combinada con la aparición de los navegadores
ca

(como Internet Explorer), llegó a alcanzar al público en general y, por tanto al mundo comercial

unos años después.


ifi
rt

Pocos años más tarde y, una vez estandarizado la utilización de Internet, las empresas vieron en ella
ce

como una forma de alcanzar nuevos mercados a través de aplicaciones basadas en e-business:

comenzó la era de la famosa burbuja “punto-com”.

A pesar de estallar la burbuja de las “punto-com”, el avance de Internet apenas se vio frenado. De

hecho, se produjo un reenfoque de las estrategias y se idearon nuevas iniciativas focalizadas en

aportar una mayor facilidad de acceso a recursos informáticos y a aplicaciones en Internet, a partir

de servicios como:

certificados.institutoeuropa.com
4 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

Virtualización

Grid computing

Arquitecturas orientadas a los servicios

Utility computing

De este modo, con la aparición de estas nuevas iniciativas, se logró incrementar la presencia de

Internet en el día a día de las personas y de las organizaciones en general llegando incluso a

m
dispositivos más allá de los ordenadores personales como los smartphones, dispositivos móviles e,

co
incluso, los sensores.

a.
op
El origen del término “cloud computing” se sitúa en 1997, donde Ramnath Chellappa lo define

como:

ur
oe
“Un nuevo paradigma en la computación donde los límites de la computación serán determinados

por razones económicas en lugar de los límites técnicos”.


ut
it

Sin embargo, el comienzo de las investigaciones en cloud computing se sitúan sobre 2006, año en el
st

que grandes corporaciones como Google o Amazon comenzaron a utilizar el término de


.in

computación en la nube para definir la nueva situación en la que la gente accede con más frecuencia
s

a través de la web al software, a los archivos y a los datos en general en lugar de utilizar sus
do

ordenadores de sobremesa.
ca

Es más, el concepto de computación en la nube se comenzó a generalizar gracias a que proveedores


ifi

de servicio de Internet como Google, Amazon AWS o Microsoft construyeron su propia


rt

infraestructura. Fue en 2006 cuando George Gilder, en un artículo de la revista Wired titulado “Las
ce

fábricas de información. Las granjas de servidores” inmortalizó el modelo de arquitectura “cloud”.

A raíz de la generalización del concepto de cloud computing, en 2007 se inició un proyecto de

certificados.institutoeuropa.com
5 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

investigación a gran escala desarrollado por Google, IBM y varias universidades norteamericanas y

se creó Eucalyptus, la primera plataforma de código abierto AWS API a través de la cual se podían

crear sistemas en la nube compatibles con los servicios web de Amazon. Fue el lanzamiento y

despliegue de las nubes privadas.

Con la aparición de las nubes privadas, han surgido varias polémicas y dudas sobre el tratamiento

de la información, donde la seguridad y la privacidad del cloud computing son unos de los temas que

más preocupación causan entre los usuarios.

m
co
Recientemente, en 2014 ya está comenzando a tomar forma un nuevo modelo: la federación de

clouds o cloud federation. Se trata de construir y gestionar recursos y datos de distintas nubes

a.
públicas a través de software de orquestación con la finalidad de aprovechar el gran potencial de

op
todas ellas.

ur
oe
No obstante, aunque en la actualidad ya contamos con numerosos proveedores de servicios de

cloud computing, es bien cierto que la gran mayoría de ellos no son del todo confiables por fallas
ut

en su infraestructura o vulnerabilidades.
it
st

Si a ello le sumamos los asuntos relacionados con la legalidad de la información que circula a través
.in

de estos servicios, a la computación en la nube aún le queda mucha tarea de investigación y un

largo camino por recorrer para garantizar unos servicios de calidad y unos estándares de seguridad
s
do

de la información.
ca

¿Que es el Cloud Computing?


ifi
rt

El concepto de cloud computing representa un nuevo modelo de informática que puede tener tanta o
ce

más relevancia que la propia Web. Se trata de la evolución de una serie de tecnologías que afectan a

las distintas estrategias de las organizaciones en el momento en el que tienen que plantearse sus

infraestructuras de tecnologías de la información.

Con la entrada del cloud computing, las empresas ya no tienen tanta necesidad de disponer de

dispositivos de almacenamiento físico para gestionar su información ya que, a través de la nube,

pueden acceder a sus datos prácticamente desde cualquier ubicación con acceso a Internet.

certificados.institutoeuropa.com
6 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

m
co
La informática en la nube, en sí, no ha conllevado la creación de nuevas tecnologías, sino que está

a.
formado por un compendio de estas como, por ejemplo:

op
ur
Virtualización

Almacenamiento físico
oe
Almacenamiento en la web
ut

Centros de datos
it

Software sobre servicio (Saas)


st

Aplicaciones web
.in

Sistemas operativos web


s
do

Aunque en un principio cuando escuchamos hablar de “la nube” podemos compararla con la
ca

definición de Internet, no es así. La nube va mucho más allá: se trata de un nuevo modelo a través
ifi

del cual se permite al usuario utilizar tecnología justo en el momento en el que se necesita sin
rt

necesidad de instalar prácticamente nada en el ordenador personal. Con la utilización de la nube


ce

además, se permite a los usuarios pagar sólo por la tecnología que necesitan en el momento en el

que vayan a utilizarla, sin más; cuando no se utiliza no se paga, pudiendo incluso llegar a ser

gratuita en numerosas ocasiones.

En cuanto a la definición de cloud computing, hay que decir que no existe una definición estándar

que esté aceptada de forma universal. No obstante, hay ciertos organismos internacionales

dedicados a la estandarización de las tecnologías de la información y, especialmente, del cloud

computing.

certificados.institutoeuropa.com
7 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

Uno de los organismos más reconocidos es el NIST (National Institute of Standards and Technology)

y define el cloud computing o computación en la nube como:

“Un modelo que permite el acceso bajo demanda a través de la red a un conjunto compartido de

recursos de computación configurables (por ejemplo redes, servidores, almacenamiento,

aplicaciones y servicios) que pueden aprovisionar rápidamente con el mínimo esfuerzo de gestión o

interacción del proveedor de servicios”.

m
Según el NIST, el modelo de la nube está formado de cinco características fundamentales, tres

co
modelos de servicio y cuatro modelos de despliegue. De hecho, la nube se considera como un

conjunto formado por elementos de software y hardware, almacenamiento, servicios e interfaces que

a.
facilitan la entrada de datos e información como un servicio y se pueden presentar como

op
componentes independientes o bien, como una plataforma completa.

ur
oe
ut
it
st
s .in
do
ca
ifi

Los grupos de interés que forman parte de la computación en la nube son también de lo más
rt

diversos y cuantiosos. Los principales actores del cloud computing son los siguientes:
ce

Proveedores o vendedores

Son los que facilitan las aplicaciones y la tecnología, infraestructura, plataformas e


información necesarios para llevarlas a cabo.

Socios de los proveedores

Son los que ponen en contacto a los proveedores y a los clientes. Su tarea básica es crear
servicios para la nube y ofrecerlos y soportarlos a los clientes.

certificados.institutoeuropa.com
8 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

Líderes de negocios

Se encargan de evaluar los servicios de la nube para contratarlos e implementarlos en sus


organizaciones.

Usuarios finales

Son aquellos que utilizan finalmente los servicios que se ofrecen a través de la nube, ya
sea de forma gratuita o realizando algún tipo de pago (periódico o puntual).

El cloud computing engloba tecnologías, servicios y aplicaciones similares a las que se utilizan con

m
Internet y las transforma en utilidades de autoservicio. La utilización de la palabra “cloud” hace

co
referencia a dos conceptos principales:

a.
op
Abstracción: El cloud computing está fundamentada en la abstracción. Las aplicaciones se

ejecutan en dispositivos físicos que no están especificados y los datos se almacenan en

ur
ubicaciones desconocidas. Por otra parte, la administración de los sistemas está externalizada y
oe
los usuarios pueden acceder sus datos en cualquier momento, desde cualquier dispositivo y
ut

desde cualquier ubicación. Esto permite al cliente no requerir de personal especializado en la


it

gestión y mantenimiento de la infraestructura, actualización de los sistemas y demás tareas


st

asociadas al servicio contratado.


.in

Virtualización: La computación en la nube virtualiza los sistemas compartiendo, combinando


s

y agrupando los recursos. Además, los recursos pueden estar disponibles con un elevado grado
do

de agilidad y flexibilidad sin necesidad que los usuarios conozcan con profundidad cuáles son
ca

los recursos físicos disponibles.


ifi

Como ya se ha comentado anteriormente, es muy frecuente escuchar que la computación en la


rt
ce

nube no es nada más que Internet con otra denominación. La confusión tiene su punto de lógica ya

que Internet y cloud computing comparten bastantes características. No obstante, no hay que

olvidar que, a pesar que ambos ofrecen abstracción y utilizan los mismos protocolos, estándares,

sistemas operativos y aplicaciones, el cloud computing es un modelo nuevo que ofrece recursos

virtuales a través de la agrupación y compartición de recursos de carácter físico.

Son ejemplos de utilización de servicios de computación en la nube como herramientas para

cambiar los hábitos y modelos de utilización de las tecnologías de la información los siguientes:

certificados.institutoeuropa.com
9 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

Google: Esta gran corporación cuyo servicio principal es un potente motor de búsquedas se ha

ido extendiendo por todo el mundo y ha ido incluyendo cada vez más aplicaciones

complementarias. Un ejemplo lo encontramos en Google Apps, donde Google ofrece servicios

tan variados como correo electrónico, agenda, calendario o software ofimático a través de la

nube. Además, estos servicios podemos encontrarlos tanto de forma gratuita como de pago de

un modo más completo.

Azure Platform: Se trata de una plataforma de desarrollo de aplicaciones a través de la nube

m
desarrollada por Microsoft. Ofrece un conjunto de funcionalidades tan variadas como:

co
Windows Azure: Servicio de computación para las aplicaciones.

a.
Windows Azure Storage: Almacenamiento de datos no relacionales

op
SQL Azure: Base de datos relacional en la nube.

ur
Windows Azure AppFabric: Servicio de control de accesos que permite integrar
oe
servicios y aplicaciones que se ejecutan en la nube.
ut

Amazon Web Services: La librería virtual más cuantiosa del mundo Amazon, decidió

introducirse en el negocio del aprovisionamiento de infraestructuras virtuales. Comenzó


it
st

ofreciendo almacenamiento virtual y ha llegado a crear su propia infraestructura AWS (Amazon


.in

Web Services) a través de la cual ofrece servicios globales de informática, bases de datos,

análisis, aplicaciones e implantaciones que ayudan a las empresas a gestionar su información


s
do

con mayor rapidez y un menor coste en tecnologías de la información.


ca
ifi
rt
ce

Características

Según el NIST (National Institute of Standards and Techology), el modelo de cloud computing está

formado por cinco características fundamentales:

Autoservicio bajo demanda: Cualquier usuario puede autoproveerse de los servicios

certificados.institutoeuropa.com
10 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

ofrecidos a través del cloud computing, sin necesidad alguna de interacción humana con el

proveedor del servicio.

Acceso ubicuo a la Red, ilimitado y multiplataforma: Los servicios de la nube están

disponibles en la Red, lo que permite el acceso a los mismos desde cualquier ubicación y

cualquier tipo de dispositivo (PDA’s, portátiles, smartphones, etc,…). Para acceder a la

información sólo es necesario un navegador web y conexión a Internet, no es necesario

disponer un sistema operativo concreto o instalar un software específico en cada cliente. Esta

m
característica supone una gran ventaja frente a otras tecnologías, aunque también tiene ciertas

co
limitaciones como la necesidad de conexión a Internet y la dependencia de la calidad y

velocidad de la conexión.

a.
Deslocalización de datos y procesos: En un sistema informático tradicional, el

op
administrador del sistema puede saber en todo momento en dónde se almacena cada dato y en

ur
qué servidor se gestionan los procesos. Sin embargo, el cloud computing a través de la
oe
virtualización de los servicios, ofrece todas las funcionalidades necesarias sin necesidad de
ut

conocer dónde se ubican; se pierde el control sobre la localización. Los proveedores pueden

compartir y agrupar sus recursos para una mayor disponibilidad de los mismos y una reducción
it
st

de los costes. De este modo, los recursos son más fáciles de compartir entre sus clientes: se
.in

reasignan dinámicamente conforme los van demandando los distintos consumidores.

Escalabilidad y flexibilidad : La computación en la nube permite añadir o eliminar recursos


s
do

de forma rápida y sencilla. La capacidad de almacenamiento es cambiante, es decir, tiene un

elevado grado de adaptabilidad y flexibilidad según las necesidades de los consumidores. Se


ca

trata de ofrecer las funcionalidades justas, en el mismo momento en el que son demandadas.
ifi

De este modo, por la gran escalabilidad y flexibilidad de esta tecnología, los proveedores
rt

pueden ofrecer añadir o eliminar recursos en cuestión de minutos, incrementando la capacidad


ce

de almacenamiento o la cantidad de procesadores sin que se produzca efecto alguno en la

aplicación. De la misma forma, si pasado un período de tiempo concreto, se detecta que no se

requiere tanta capacidad de almacenamiento o procesamiento, se pueden disminuir los

recursos para adecuarlos al volumen de trabajo y de información requeridos en cada momento.

Servicio supervisado : Los sistemas de cloud computing controlan y optimizan la utilización

de los recursos de forma automática. De este modo, la utilización de recurso puede ser

monitorizada, medida, controlada e informada, añadiendo así transparencia tanto al proveedor

como al consumidor de los distintos servicios.

certificados.institutoeuropa.com
11 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

Aunque no está específicamente comentada por el NIST una característica de especial relevancia

del cloud computing es la alta dependencia de terceros. Se trabaje con el tipo de nube que se

trabaje, siempre habrá una empresa contratada que sirva de proveedor de los servicios necesarios

en cada momento, siempre hay un intermediario. La ventaja de la existencia del intermediario es

que será el que se encargue del mantenimiento del hardware y del establecimiento de los recintos

especializados para la gestión de los recursos. Los proveedores de servicios no sólo hospedan un

servidor web, sino que también se encargan de todos los procesos y de la seguridad de la

m
información.

co
La Nube y los negocios

a.
op
Los beneficios generales de la utilización de servicios en la nube están más que claros: reducción

de costes en inversión en tecnologías de la información, menor tiempo de respuesta para la puesta

ur
en marcha de nuevos servicios, reducción de gastos en mantenimiento e instalaciones, etc.
oe
Pero estos beneficios generales no son los únicos que influyen muy positivamente en el momento
ut

de decidir implantar arquitecturas en la nube en un negocio u organización. La implantación de la


it

nube en la empresa puede generar numerosas ventajas competitivas en calidad, coste, rentabilidad,
st

productividad y otros muchos aspectos.


s .in

Más concretamente, podemos establecer una serie de ventajas que puede aprovechar cualquier tipo
do

de organización que utilice los servicios que ofrece el cloud computing:


ca

Reducida inversión inicial: Con la utilización de los servicios informáticos a través de la


ifi

nube, evitamos grandes desembolsos iniciales ya que no necesitamos adquirir grandes equipos
rt

de almacenamiento de datos ni servidores con demasiada potencia; sólo necesitamos acceso a


ce

la red.

certificados.institutoeuropa.com
12 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

m
co
a.
op
Reducidos costes corrientes: Además de requerir poca inversión inicial, sólo pagamos por

los servicios que necesitamos en cada momento por lo que los costes corrientes (o costes fijos)

ur
pueden llegar a ser muy reducidos.
oe
Menor riesgo: Generalmente, cualquier proyecto de desarrollo necesita unas estimaciones
ut

previas en coste y tiempo sobre los requisitos necesarios de almacenamiento, memoria, etc.;
it

estimaciones que no siempre pueden llegar a cumplirse y pueden conllevar costes importantes.
st

Al requerir menor inversión inicial, las estimaciones necesarias para poner en marcha el
.in

proyecto son mucho más simples y flexibles, lo que conlleva un menor riesgo de error.
s

Estándares abiertos: La gran mayoría de funcionalidades y características del cloud


do

computing están apoyados en estándares abiertos. La utilización de códigos abiertos permite


ca

un crecimiento y ampliación de las soluciones de la nube más sencillo y disponible.

Sostenibilidad: En términos generales, los proveedores de servicios en la nube están muy


ifi

concienciados con la preservación del medio ambiente, por lo que suelen construir sus centros
rt

de datos respetando los ecosistemas en los que se ubica, intentando cumplir en todo momento
ce

con criterios ecológicos y de sostenibilidad.

Además de las ventajas de carácter general, en el mundo empresarial la nube aporta un gran

número de ventajas que podemos dividir en cinco grandes grupos:

certificados.institutoeuropa.com
13 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

m
co
a.
Beneficios operacionales

op
Los beneficios operacionales son aquellos que se producen por la forma en la que opera la empresa,

sus protocolos de actuación y los procesos que llevan a cabo.

ur
oe
Los principales beneficios operacionales que puede aportar el cloud computing son los siguientes:
ut

Costes reducidos: El pago de la tecnología es de carácter incremental, por lo que la


it
st

organización reduce costes a largo plazo.


.in

Almacenamiento creciente: La capacidad de almacenamiento en la nube es muy superior

que la de una red de carácter privado. Además, la nube permite ampliar el espacio requerido
s
do

cuando sea necesario sin necesidad de una gran inversión.

Flexibilidad: Las aplicaciones pueden comprobarse y desplegarse con facilidad de modo que si
ca

una no funciona correctamente o según lo esperado, es mucho más sencillo cambiar a otra.
ifi

Automatización: Las aplicaciones se actualizan de forma automática de modo que el personal


rt

de la organización puede despreocuparse de la caducidad de las versiones y de su instalación y


ce

mantenimiento. Se trata de tareas cuyo responsable será, en todo momento, el proveedor.

Mayor movilidad: El acceso a la nube se puede realizar desde cualquier ubicación desde la

cual se disponga conexión a Internet y con gran variedad de dispositivos: netbooks,

smartphones, ordenadores personales, tablets,…

Mayor productividad: Al poder despreocuparse de la actualización, mantenimiento y mejora

de las aplicaciones y servidores, los profesionales de las tecnologías de la información que

estén en la plantilla de la organización pueden dedicar el esfuerzo y tiempo ahorrados en otras

tareas de carácter más fundamental, así como a otras tareas tecnológicas que sin este ahorro

certificados.institutoeuropa.com
14 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

no podrían realizarse por falta de tiempo.

Beneficios económicos

Además de los beneficios económicos generales, también encontramos beneficios económicos de la

nube a nivel organizacional. Los más destacables son los siguientes:

Personal: Como ya se ha comentado anteriormente, la contratación de servicios de cloud

m
computing permite ahorrar tiempo e inversión en recursos humanos. Por ello, la empresa

co
puede optar por ahorrar costes prescindiendo de profesionales, por mejorar en especialización

a.
y productividad, incrementando la intensidad de trabajo del personal especializado en TI

op
(tecnologías de la información) en tareas fundamentales o por redistribuir al personal en otras

competencias y/o departamentos.

ur
Hardware: Se reducen los costes y las inversiones en componentes físicos como procesadores,
oe
redes, dispositivos y unidades de almacenamiento, etc,… Si se necesitan más funcionalidades,
ut

basta con contratarlas al proveedor correspondiente.


it

Pago por uso: El cloud computing permite a la empresa pagar sólo por aquellos servicios que
st

utiliza en cada momento, de modo que se consigue una mejor estimación de los recursos
.in

necesarios y permite una corrección más rápida del exceso de inversión en recursos o de la
s

falta de los mismos.


do

Rapidez de penetración en el mercado: La nube permite obtener con mayor rapidez y


ca

facilidad servicios y aplicaciones ajustadas al modelo de negocio de cualquier organización. De


ifi

este modo, una empresa puede ofrecer más rápidamente sus servicios al mercado y adaptarse
rt

a las necesidades de éste ya que no se requieren nuevas infraestructuras, sino que sólo es
ce

necesario variar los parámetros de contratación de los servicios de cloud computing.

Beneficios para el personal

Las ventajas para el personal de las organizaciones se multiplican con la utilización de las

aplicaciones en la nube. La gran facilidad de uso y la escasa necesidad de instalación y

mantenimiento reducen enormemente el tiempo de formación y aprendizaje por parte de los

empleados que vayan a utilizar las aplicaciones.

certificados.institutoeuropa.com
15 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

Además, en general, las aplicaciones que se utilizan en entornos web suelen ser más colaborativos

y participativos, lo que fomenta el trabajo en equipo y la generación de incentivos.

m
co
a.
Beneficios para el consumidor

op
Los consumidores de servicios de cloud computing también pueden beneficiarse de múltiples

ur
ventajas de la computación en la nube: oe
No requieren ningún tipo de instalación ni mantenimiento del software para la utilización de
ut

los servicios.
it

El tiempo de despliegue es más reducido ya que tanto los servidores como las aplicaciones
st

requieren poco tiempo de implantación, al contrario que en los métodos tradicionales.


.in

Adhesión al acuerdo de nivel de servicio o SNA (SLA, Service Level Agreement): Se trata de un
s

contrato escrito entre el proveedor de servicio y su cliente en el que se fija un nivel de calidad
do

determinado. Con la adhesión a este tipo de contratos, el consumidor tiene garantizado en todo
ca

momento una calidad mínima. Por ejemplo, si se produce algún error en la ejecución de las
ifi

aplicaciones, con la adhesión al SNA el proveedor se hace cargo de los costes y de su


rt

reparación.
ce

Los consumidores dispondrán en todo momento de las aplicaciones actualizadas, ahorrando por

tanto tiempo, dinero y formación de los empleados.

Beneficios para el proveedor

Además de los consumidores, los proveedores también pueden aprovecharse de una serie de
beneficios, como los siguientes:

Entorno operativo: El proveedor facilita su propio entorno operativo y, en consecuencia, tiene

la capacidad de gestionar, controlar y optimizar su infraestructura.

certificados.institutoeuropa.com
16 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

Predictibilidad del flujo de ingresos: Los clientes pagan un mínimo de cuota de suscripción

por la utilización de los servicios, lo que facilita y agiliza la realización de previsiones de

ingresos a corto y medio plazo.

Investigación de mercados: Con los datos facilitados por los clientes y el uso de los distintos

servicios ofrecidos, el proveedor puede realizar estudios de mercado para conocer mejor su

comportamiento. Hay que tener en cuenta que el software que utilizan los consumidores está

alojado en los servidores del proveedor, lo que facilita el análisis de datos.

m
Calendarización de actualizaciones: El equipo de desarrollo del proveedor puede gestionar

co
y periodificar con mayor facilidad la gestión de los procesos de errores y de las aplicaciones de

modo que se realicen actualizaciones, controles y revisiones de forma continua cada cierto

a.
período de tiempo.

op
Potenciación del marketing relacional: Con los servicios de cloud computing, los

ur
proveedores pueden fomentar y potenciar las relaciones con sus clientes ya que el sistema de
oe
pago por suscripción facilita el establecimiento de relaciones más rápidamente y favorece la
ut

fidelización.
it
st

Modelos básicos en la nube


.in

Aunque en unidades didácticas posteriores analizaremos con mayor profundidad los distintos
s

modelos de la nube, en este tema introductorio es conveniente realizar una breve descripción de los
do

mismos. La clasificación más utilizada para los modelos de la nube los divide en dos conjuntos
ca

claramente diferenciados:
ifi
rt
ce

certificados.institutoeuropa.com
17 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca

Modelos de despliegue: Hacen referencia a la localización y a la administración o gestión de


ifi

la infraestructura de la nube. Hacen referencia a las nubes:


rt

Privada: Se trata de nubes cuyos servicios no se ofrecen al público en general sino


ce

que la gestión de la infraestructura la gestiona una organización de carácter privado.

Pública: Al contrario que en las nubes privadas, los servicios de las nubes públicos

son ofrecidos por un proveedor al público en general.

Comunitaria: Las nubes comunitarias (community) son aquellas que se han

organizado para servir a un fin común, para una o varias organizaciones que

comparten objetivos comunes.

Híbrida: Combinación de varias nubes individuales, públicas o compartidas que

pueden portar datos y aplicaciones entre ellas.

certificados.institutoeuropa.com
18 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

Modelos de servicio: Hacen referencia a los tipos específicos de servicios a través de los

cuales se puede acceder en una plataforma de cloud computing. Son los siguientes:

Software como servicio (SaaS): Las aplicaciones que suministra el proveedor al

usuario corren en una infraestructura cloud, donde el usuario no dispone ningún tipo

de control sobre las aplicaciones salvo algunas personalizaciones o configuraciones

de usuario permitidas expresamente.

Plataforma como servicio (PaaS): En este modelo el usuario puede desplegar

m
infraestructuras propias en la infraestructura cloud de su proveedor siendo este el

co
que ofrece la plataforma de desarrollo y las herramientas de programación. El

a.
control de la aplicación lo lleva a cabo el usuario, aunque no de toda la

op
infraestructura.

Infraestructura como servicio (IaaS): El proveedor ofrece al usuario una serie de

ur
recursos (capacidad de procesamiento, almacenamiento o comunicaciones) para
oe
ejecutar cualquier tipo de software.
ut
it
st

Hardware Cloud
.in

Uno de los pilares fundamentales del cloud computing es la virtualización. Se trata de la utilización
s

de los recursos de los ordenadores para simular a otros recursos de estos o los propios ordenadores
do

en su totalidad.
ca

La virtualización consiste en la abstracción de los recursos de un ordenador, creando una capa de


ifi

la abstracción entre el hardware de la máquina física (llamada host o anfitrión) y el sistema


rt

operativo de la máquina virtual (llamada también virtual machine o huésped). Así, se crea una
ce

versión virtual de un dispositivo o recurso que puede ser desde un servidor, un dispositivo de

almacenamiento, una red o, incluso un sistema operativo o bases de datos. En otras palabras, la

virtualización es un mecanismo de abstracción para separar recursos de software de sus

implementaciones físicas.

certificados.institutoeuropa.com
19 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

Si lo vemos desde un punto de vista más práctico, la virtualización permite que varias máquinas

m
virtuales con sistemas operativos heterogéneos puedan ejecutarse de forma individual pero en la

co
misma máquina. Cada máquina virtual tiene su propio hardware virtual, donde se cargan tanto el

a.
sistema operativo como las aplicaciones. De esta forma, el sistema operativo trata al hardware como

op
un conjunto independientemente de los componentes físicos que formen parte de éste.

ur
Las principales ventajas que aporta la virtualización son las siguientes:
oe
ut

Permite incorporar rápidamente nuevos recursos para los servidores virtualizados.

Se reducen los costes de espacio y consumo.


it
st

Permite la monitorización de los recursos de las máquinas de forma centralizada y simplificada


.in

desde un único panel.

Permite gestionar el centro de procesamiento de datos (data center o CPD) como una
s
do

agrupación de toda la capacidad de procesamiento, memoria, red y almacenamiento disponible

en la infraestructura.
ca

Agilización de los procesos de prueba de nuevas aplicaciones gracias a las mejoras de los
ifi

procesos de clonación y copia de sistemas. Resulta más sencillo crear entornos de prueba sin
rt

que se produzca impacto alguno en la producción.


ce

Aislamiento de las máquinas virtuales, por lo que si hay un fallo general de sistema de alguna

de ellas, las demás no se ven afectadas.

Reducción de los tiempos de parada.

Reducción de los costes de mantenimiento de hardware al requerir menos recursos físicos.

Se elimina la necesidad de realizar paradas planificadas para el mantenimiento de los

servidores físicos.

Se consigue un consumo de recursos homogéneo y óptimo en toda la infraestructura ya que se

logra que cada máquina virtual ejecute los procesos en el servidor físico más apropiado.

certificados.institutoeuropa.com
20 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

La implementación de la virtualización puede realizarse de múltiples y distintas formas. Los dos

modos más utilizados son: la virtualización completa (full virtualization) y la paravirtualización

(paravirtualization).

m
co
a.
op
Virtualización completa

ur
En la virtualización completa se produce una abstracción total del sistema físico fundamental; todo
oe
el hardware es emulado en un sistema virtual completo. No se requiere ningún tipo de modificación
ut

en el sistema operativo o en la aplicación huésped.


it

En este tipo de implantación, el sistema operativo o la aplicación cliente no denotan el entorno


st

virtualizado de modo que pueden ejecutarse en la máquina virtual (VM) como si se tratase de un
.in

sistema físico.
s
do
ca
ifi
rt
ce

Las principales ventajas de la virtualización completa son las siguientes:

certificados.institutoeuropa.com
21 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

Se aíslan por completo las máquinas virtuales entre sí y con el sistema operativo anfitrión.

Permite el control del acceso de las máquinas virtuales a los recursos del sistema y previene

que las inestables afecten al sistema.

A través de la emulación de un conjunto consistente de hardware independiente del hardware

real, las máquinas virtuales pueden trabajar con distintos hardware sin presentar ningún tipo

de problema.

Sin embargo, también conlleva una serie de inconvenientes:

m
co
Conlleva un coste en rendimiento elevado.

Los núcleos de los sistemas operativos están diseñados para que corra en modo privilegiado, lo

a.
que conlleva pérdidas de agilidad en la ejecución de ciertas operaciones.

op
ur
Paravirtualización oe
A través de la paravirtualización, las máquinas virtuales presentan una abstracción del hardware
ut

similar al hardware físico fundamental, sin ser idéntico a este, por lo que las técnicas de
it

paravirtualización necesitan realizar una serie de modificaciones sobre los sistemas operativos
st

cliente que se ejecutan en las máquinas virtuales.


.in

A diferencia de la virtualización completa, en la paravirtualización los sistemas operativos clientes


s

saben que están siendo ejecutados en máquinas virtuales.


do
ca

En estos casos ya no se emula el sistema completo, sino que se opera con un sistema operativo que

se ha ajustado previamente para operar en una máquina virtual. Además, ofrece la posibilidad que
ifi

varios sistemas operativos se ejecuten simultáneamente en un único dispositivo de hardware


rt

utilizando recursos del sistema de una forma más eficiente.


ce

certificados.institutoeuropa.com
22 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

m
co
a.
op
La paravirtualización se recomienda sobretodo en los siguientes supuestos:

ur
oe
ut

Recuperación de desastres
it

Ante la ocurrencia de algún tipo de desastre o catástrofe, los sistemas operativos cliente
st

pueden trasladarse a otro hardware hasta que pueda separarse el equipo.


.in

Migración
s

La migración de un sistema a otro es mucho más sencillo y rápido.


do

Gestión de la capacidad
ca

Al facilitarse las tareas de migración, se simplifica también la gestión de la capacidad ya


ifi

que resulta más sencillo incrementar la potencia de un proceso o la capacidad de un disco


en un entorno virtualizado.
rt
ce

Como ya se ha comentado anteriormente, la virtualización es la abstracción de los recursos de un

ordenador, facilitando acceso lógico a los recursos físicos. De este modo, la virtualización produce

una separación lógica de la petición de algún servicio y los recursos físicos que realmente

proporcionan dicho servicio. Asimismo, según el recurso que se pretenda abstraer y según quién

utilice ese recurso podemos distinguir entre varias categorías de virtualización.

certificados.institutoeuropa.com
23 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

Virtualización de servidores

En la virtualización de servidores, se divide o particiona un servidor físico en varios servidores de

forma que cada uno tenga las mismas capacidades y la misma apariencia como si fuese una máquina

dedicada. Así, los servidores individuales están divididos en dominios independientes, aislados entre

ellos para garantizar que no se produzcan interferencias entre un dominio y otro.

m
De este modo, con el aislamiento de los dominios se garantiza que los clientes de los distintos

co
sistemas no puedan interferir en la integridad de los demás sistemas. En otras palabras, con la

utilización de sistemas virtualizados, varios sistemas operativos pueden ejecutarse de forma

a.
simultánea en un mismo equipo sin que ninguno de ellos interfiera sobre los demás. El cómputo del

op
equipo físico se reparte entre los distintos sistemas operativos atendiendo a las reglas de

ur
proporcionalidad establecidas previamente. oe
Son varias las ventajas que proporciona la virtualización de servidores:
ut
it

Impide cortes de servicio en el negocio ya que hay un sólido aislamiento de los fallos,
st

incrementando la seguridad de los equipos y de la información que estos contienen.


.in

La independencia del hardware permite la utilización de aplicaciones antiguas con entornos


s

más modernos.
do

Se produce un ahorro en costes al requerir menos consumo energético de máquinas físicas.


ca

Permite un mejor aprovechamiento de los recursos disponibles.

Permite disponer de un entorno de pruebas sin que ello repercuta en los procesos reales.
ifi

Se produce una mayor agilidad por la capacidad de aprovisionar nuevas aplicaciones en un


rt
ce

periodo de tiempo muy reducido.

Virtualización del almacenamiento (Storage Virtualization)

Se trata de uno de los métodos de virtualización más utilizado en el mundo empresarial. Consiste en

vincular varios dispositivos de almacenamiento en lo que es percibido como una única unidad de

almacenamiento en red.

A través de la virtualización de almacenamiento se pretende:

certificados.institutoeuropa.com
24 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

Facilitar la creación de redes virtuales de almacenamiento.

Minimizar el consumo energético (eléctrico y de refrigeración) a través de la optimización de

los recursos de almacenamiento.

Optimización del almacenamiento distribuyendo la información entre discos de mayor calidad

para datos críticos y discos de menor calidad para datos menos imprescindibles.

Facilitar la movilidad y la creación de discos lógicos entre distintas cabinas de

almacenamiento.

m
co
Virtualización del escritorio

a.
La virtualización del escritorio consiste en manipular el escritorio del usuario de modo remoto. En

op
un escritorio virtual, el equipo no ejecuta las aplicaciones que tiene instaladas en él sino que se

ur
ejecutan en un servidor de un centro de datos.
oe
De este modo, las aplicaciones, datos, ficheros y cualquier otro tipo de aplicación gráfica son
ut

completamente independientes del escritorio real y están almacenados en dicho servidor en lugar de

estarlo en el equipo real.


it
st

Así, se permite que el usuario acceda de forma remota a su escritorio desde múltiples dispositivos
.in

(otros ordenadores, dispositivos móviles,…) ya que el recurso que se abstrae consiste en el


s

almacenamiento físico del entorno de escritorio del usuario.


do

En el mundo de los negocios el método de virtualización del escritorio es ampliamente utilizado ya


ca

que permite que cualquier trabajador con acceso pueda trabajar remotamente en un escritorio
ifi

virtual facilitado por su empresa sin necesidad de estar en la oficina de trabajo.


rt
ce

certificados.institutoeuropa.com
25 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

Virtualización de aplicaciones

La virtualización de aplicaciones consiste en ejecutar una aplicación utilizando los recursos locales

en una máquina virtual adecuada para ello. Estas aplicaciones son ejecutadas en un entorno virtual

que les facilita todos los componentes que requieren.

Una aplicación virtualizada totalmente no se instala en el equipo aunque sí es cierto que se ejecuta

m
como si lo estuviese. De hecho, cuando se ejecuta la aplicación, da la sensación de que esta está

co
directamente conectada con el sistema operativo original.

a.
Este tipo de virtualización se utiliza sobretodo para permitir a aplicaciones con características

op
especiales de compatibilidad ser ejecutadas en sistemas operativos para los cuales no fueron

ur
implementadas.
oe
Virtualización de presentación
ut

En el método de virtualización de presentación se ejecuta una aplicación en el servidor pero su


it

control se ejerce desde el equipo cliente gracias al aislamiento del procesamiento de los gráficos y
st

de la E/S (periférico de entrada/salida de información como, por ejemplo, teclados, ratones,


.in

monitores, discos rígidos, etc,…).


s

De esta forma se utiliza una sesión virtual a través de la cual las aplicaciones proyectan sus
do

interfaces en los clientes. Este tipo de virtualización puede darse en una sola aplicación o, incluso,
ca

presentar un escritorio al completo.


ifi

En la actualidad, la cantidad de datos que llegamos a generar a lo largo de un simple día es


rt

prácticamente incontable. El universo digital de información es de tal magnitud que cada vez resulta
ce

más difícil su control y su gestión óptimos. Este es uno de los principales motivos por los que un

elevado porcentaje de datos que manejamos están almacenados en la nube o se almacenarán en ella.

El almacenamiento en la nube o cloud storage consiste en almacenar la información en un

proveedor de servicios en la nube en lugar de en un equipo o sistema local. Así, el almacenamiento

de la información pasa a convertirse en un servicio al que los clientes pueden acceder con un simple

enlace a Internet.

certificados.institutoeuropa.com
26 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

Formalmente, aunque existen numerosas definiciones del término cloud storage, todas coinciden

en una serie de propiedades del mismo:

Acceso a la Red a través de un navegador (Internet Explorer, Mozilla Firefox, Google

Chrome,…).

Aprovisionamiento del servicio sujeto a la demanda.

Alta capacidad de control por parte del usuario.

Adaptado a estándares abiertos de modo que se pueda utilizar en todo comento

m
independientemente del sistema operativo y de los sistemas de archivos utilizados.

co
a.
El cloud storage cada día está más solicitado, lo que requiere el cumplimiento de una serie de

op
estándares de calidad y de unas funcionalidades que garanticen la fiabilidad del servicio y su

ur
seguridad. Los aspectos más relevantes del servicio de almacenamiento en la nube son los
oe
siguientes:
ut

Seguridad de la información en la nube


it

Confidencialidad
st

Integridad
.in

Disponibilidad
s

Fiabilidad
do

Cortes en suministros
ca

Robo de información
ifi

Servidores y virtualización en el cloud storage


rt
ce

Seguridad de la información en la nube

Si la seguridad de la información es uno de los grandes problemas de los sistemas de

almacenamiento convencionales, cuando hablamos de almacenamiento en la nube debemos

considerar que los riesgos a los que se exponen los datos almacenados son bastante más cuantiosos

y peligrosos en su mayor parte.

certificados.institutoeuropa.com
27 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

m
co
Por ello, todo proveedor de servicios de almacenamiento en la nube debe cumplir especialmente

a.
las consideraciones de seguridad críticas de la información:

op
Confidencialidad: Propiedad que impide la divulgación de información a usuarios no autorizados. La

ur
información sólo debe estar accesible a aquellas personas que tengan la debida autorización.
oe
Integridad: La información debe mantenerse exactamente tal como fue generada, sin ser manipulada

o alterada por usuarios o procesos sin autorización.


ut

Disponibilidad: La información debe estar siempre a disposición de los usuarios, procesos o


it

aplicaciones que tengan permiso para acceder a ella.


st
.in

Para garantizar el cumplimiento de los estándares de seguridad de la información, es siempre


s

conveniente que se incluyan en el acuerdo de nivel de servicio (SLA) que firmen el cliente y el
do

proveedor del servicio.


ca

Confidencialidad
ifi
rt

Como ya se ha comentado anteriormente, el proveedor de servicios de almacenamiento de datos en


ce

la nube debe ser capaz de garantizar que la información almacenada esté sólo disponible a aquellos

usuarios, procesos y aplicaciones que dispongan del debido permiso de acceso.

La gran capacidad de atracción de usuarios hacia los servicios de la nube hace que nos debamos

proponer dos interrogantes:

¿Cómo se protegen los datos almacenados en la nube?

¿Cuáles son los controles de acceso para proteger estos datos?

certificados.institutoeuropa.com
28 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

Para garantizar la confidencialidad de la información se suele utilizar una combinación de las

siguientes herramientas:

Encriptación o cifrado: Consiste en la utilización de algoritmos complejos para codificar la

información. Así, cuando el usuario quiere acceder a la información necesita una clave que le

permita decodificar los datos. Aunque es posible que un usuario no autorizado acceda a

información cifrada, este requerirá siempre mecanismos de mayor complejidad para ello.

Autenticación: Consiste en la utilización de nombres de usuario y contraseñas personalizadas

m
co
necesarias para acceder a la información en la nube.

Autorización: El cliente es el que decide quién o quiénes van a ser los que estén autorizados

a.
para acceder a la información almacenada en la nube. Además, existe la posibilidad de

op
conceder permisos de acceso de varios niveles. Por ejemplo, una empresa puede dar acceso

ur
ilimitado a la información al director general y, sin embargo, dar acceso a información sobre
oe
ventas al director del departamento comercial.
ut

Integridad
it
st

Además de la confidencialidad de la información almacenada en la nube, es imprescindible tener en


.in

consideración la importancia de mantener la integridad de los datos. Como ya se ha comentado, la

integridad consiste en la capacidad de mantener la información tal como se generó, impidiendo


s
do

vulneraciones, alteraciones o modificaciones de usuarios no autorizados.


ca

El hecho de mantener la confidencialidad de los datos no garantiza su integridad. Es más, es


ifi

posible que los datos estén debidamente cifrados para fines de confidencialidad pero, sin embargo
rt

no se esté utilizando una herramienta adecuada que verifique su integridad. Mientras que la
ce

encriptación sólo es suficiente para garantizar la confidencialidad, para la integridad es necesaria la

utilización de mensajes de códigos de autenticación.

certificados.institutoeuropa.com
29 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

m
co
a.
Disponibilidad

op
Si garantizamos la confidencialidad y la integridad de la información de un cliente, también es

ur
necesario tomar especial atención para garantizar su disponibilidad; es decir, el cliente debe poder a
oe
la información siempre que lo requiera.
ut

En cuanto a la disponibilidad, pueden considerarse tres amenazas fundamentales que afectan


it

especialmente al cloud storage:


st
.in

Ataques basados en red.

La disponibilidad de la información que ofrece el proveedor de servicio: Aunque es bastante


s
do

complicado que un proveedor ofrezca una disponibilidad del 100%, si es muy recomendable

que ésta sea como mínimo del 99,9%.


ca

Los clientes de la nube deben tener en cuenta también la capacidad de continuidad de su


ifi

proveedor de servicios. En otras palabras, deberá encontrar un proveedor con una cierta
rt

trayectoria que no corte su servicio sin previo aviso.


ce

Además, también es fundamental para el cliente que el proveedor esté realizando con cierta

periodicidad copias de seguridad de sus datos para evitar pérdidas inesperadas de información.

Fiabilidad

Otra propiedad fundamental que debe considerarse siempre en un servicio del almacenamiento

de datos en la nube es la fiabilidad. Si un sistema de almacenamiento no es fiable, el riesgo que

certificados.institutoeuropa.com
30 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

conlleva puede ser bastante considerable. Los datos importantes no pueden almacenarse en

sistemas inestables o con proveedores que no tengan una cierta estabilidad financiera.

La gran mayoría de los proveedores de este tipo de servicios garantizan su fiabilidad en sus

servicios de redundancia pero hay que considerar que siempre hay una elevada posibilidad que el

sistema sufra algún tipo de caída y deje a los clientes sin poder acceder a su información.

Por ello, es muy recomendable que cuando queramos contratar a un proveedor nos aseguremos que

m
este tenga sistemas y herramientas que prevengan estas caídas y situaciones imprevistas.

co
En el momento de la elección del proveedor, un indicador bastante fiable es su reputación. No

a.
importa tanto el tamaño de la empresa que nos ofrece el servicio de almacenamiento de datos, lo

op
que realmente nos indicará si el servicio es de calidad será su reconocida reputación, su prestigio y

ur
su solvencia dentro del sector.
oe
Cortes en suministros
ut

Toda organización debe ser consciente del riesgo que conlleva almacenar su información en la red
it
st

y, más concretamente, en la nube. Aunque no se trate de un hecho muy frecuente, existe la


.in

posibilidad que los proveedores de servicios tengan en ocasiones algún corte en sus servicios.
s

El resultado de un corte en el suministro del servicio conlleva que tanto los clientes como sus datos
do

permanezcan fuera de línea y que, por tanto, no se tenga acceso a los mismos.
ca

Aunque los grandes proveedores siempre intentan minimizar estos cortes y que, en caso de
ifi

producirse, la interrupción sea lo más corta posible, el cliente debe ser consciente en todo momento
rt

de la existencia de esa posibilidad y tener preparado un plan de contingencia a modo de previsión.


ce

Robo de información

Además de los aspectos anteriores referentes a la integridad, confidencialidad y disponibilidad de

la información, cuando pretendemos utilizar los servicios de almacenamiento en la nube debemos

ser también conscientes de que la información puede ser robada o visualizada por algún usuario

ajeno a la organización y sin autorización para ello.

Existe la posibilidad que si una organización almacena datos en la nube, la competencia acceda a

certificados.institutoeuropa.com
31 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

ellos y los utilice con fines no deseables. Por ello, además de las precauciones de seguridad

comentadas en los apartados anteriores, las organizaciones deben asegurarse que, si se almacenan

datos en la nube, éstos estén debidamente cifrados y se asegure su transferencia y movimiento con

protocolos de cifrado como SSL (Security Socket Layer) para que se establezca un canal seguro

entre el emisor y el receptor de la información.

m
co
a.
op
ur
oe
Servidores y virtualización en el cloud storage
ut

La abstracción de los componentes de hardware en la nube no sólo hacen referencia a la


it

virtualización de los servidores y al reemplazo de las unidades físicas por unidades lógicas, sino que
st

también se refiere al reemplazo de los dispositivos físicos de almacenamiento de una organización.


s .in

El almacenamiento de datos en la nube permite que una organización pueda despreocuparse de


do

saber cómo y dónde se almacenan o de si se hacen o no copias de seguridad ya que esto es asunto
ca

de los proveedores del servicio.


ifi

Cuando una organización necesita los datos almacenados, sólo tiene que conectarse a la red y
rt

descargar los datos que requiera. Del mismo modo, no se conoce la ubicación en la que se almacena
ce

la información ni qué ocurre en los distintos sistemas de hardware desde el momento en el que se

suben los datos a la nube hasta que éstos se recuperan.

El principal beneficio del cloud storage es que un usuario puede recuperar la información

almacenada desde cualquier ubicación con acceso a Internet sin necesidad, tan siquiera, de utilizar

los mismos dispositivos para ello.

Aunque la cantidad de proveedores de servicios de cloud storage crece día a día, no todos ellos son

lo suficientemente fiables como para confiar nuestros datos en sus servidores. Por ello, es

certificados.institutoeuropa.com
32 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

conveniente que nombremos algunos servicios de almacenamiento en la nube fiables y seguros que

garanticen una cierta protección en los datos que almacenan.

m
co
a.
op
ur
oe
ut
it
st
.in

A continuación se describen los principales proveedores de servicios de cloud storage que

garantizan cierta protección en los datos y, por tanto, fiabilidad.


s
do

Dropbox
ca

Dropbox (https://www.dropbox.com/es_ES/)
ifi

es un servicio de cloud storage destacable por su simplicidad de utilización. Para utilizar los
rt

servicios de Dropbox solamente hay que seguir los pasos siguientes:


ce

Descargar la aplicación desde su sitio web oficial.

Crear una carpeta en el ordenador en la que copiaremos los archivos que queramos subir a la

nube.

Pulsar sobre ella con el botón derecho del ratón y seleccionar “Dropbox” para compartirla.

Una vez seleccionada la carpeta para compartir, cada modificación que realicemos en ella se

sincronizarán de forma automática en Internet. Todos los archivos que subamos a dicha

carpeta estarán accesibles en línea a través de la página web de Drobpox. Además, permite que

los usuarios compartan carpetas con otros usuarios, aunque utilicen sistemas operativos

certificados.institutoeuropa.com
33 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

distintos.

La principal ventaja que ofrece esta compañía es su escritorio virtual, a través del cual se permite

m
el acceso a los archivos almacenados en varios dispositivos utilizando la misma cuenta. Así, un

co
mismo usuario puede acceder a su información a través de varios sistemas operativos y utilizando

dispositivos de lo más variados como ordenadores personales, smartphones, tablets, etc.

a.
op
Windows OneDrive

ur
Servicio gratuito de almacenamiento en la nube ofrecido por Microsoft en el que se permite
oe
almacenar un volumen de datos de hasta 15GB a cambio sólo de disponer de un registro de
ut

identificación, Live ID.


it

El servicio de Windows OneDrive (https://onedrive.live.com/about/es-es/signin/) permite que el


st

usuario cree carpetas como Favoritos, Fotos, Mis Documentos, Favoritos compartidos, etc,…
.in

También permite la creación de carpetas propias por parte del usuario y la protección de las mismas
s

con contraseñas.
do
ca

Del mismo modo que en Dropbox, los datos almacenados en OneDrive están accesibles desde gran

variedad y multitud de dispositivos (PCs, Mac, tablets,…).


ifi
rt

OpenDrive
ce

Se trata de uno de los servicios de almacenamiento en la nube con mejor ratio de usabilidad y

destaca por la claridad de su interfaz y por la facilidad de utilización de los menús.

Ofrecen almacenamiento para un volumen de datos máximo de 5GB gratuitos, aunque puede

incrementarse esa cantidad a través de suscripciones de pago.

Los principales servicios que ofrece OpenDrive (https://www.opendrive.com/) son los siguientes:

certificados.institutoeuropa.com
34 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

Sincronización de copias de seguridad de todos los datos en línea.

Almacenamiento en línea con acceso instantáneo.

Colaboración de archivos en línea segura y sencilla.

Sincronización de archivos desde todos los dispositivos de almacenamiento.

Acceso compartido en línea a los archivos y carpeta.

Amazon Cloud Drive

m
Servicio de cloud storage ofrecido por Amazon (https://aws.amazon.com/es/products/storage/) en la

co
que permite almacenar hasta 5 GB (ampliables también a través de suscripciones de pago). El

a.
acceso a los datos es ilimitado y desde cualquier dispositivo y, además se tiene la garantía de

op
calidad, seguridad, y fiabilidad de ser un servicio ofrecido por uno de los proveedores más estables y

seguros de la nube.

ur
oe
ut

También dispone de la aplicación Cloud Drive Fotos, a través de la cual un usuario puede acceder
it

a sus fotos y vídeos personales desde cualquier dispositivo con acceso a la red.
st

iCloud
.in

iCloud (https://www.icloud.com/) es el servicio de cloud storage que ofrece Apple y permite conectar
s
do

todos los dispositivos Apple de un usuario, garantizando que ésta tenga siempre acceso a la última

versión de sus documentos, aplicaciones, notas, contactos, correos electrónicos y demás información
ca

de carácter relevante.
ifi
rt

También se puede utilizar para compartir fotos, ubicaciones, calendarios e, incluso, permite localizar
ce

alguno de los dispositivos en caso de pérdida.

A través del servicio iCloud Drive, el usuario puede trabajar con prácticamente cualquier tipo de

documento desde cualquier dispositivo iPhone, iPad, iPod Touch, Mac o PC. Se ofrecen 5 GB de

almacenamiento, ampliables hasta 1 TB a través de suscripciones de pago.

Del mismo modo que en los demás proveedores comentados hasta el momento, se permite la

sincronización automática e inmediata de la información almacenada en la nube.

certificados.institutoeuropa.com
35 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

m
co
a.
op
ur
Servicios Cloud
oe
Son bastante numerosos los informes e investigaciones que prevén un incremente importante del
ut

mercado del cloud durante los próximos años, tanto a nivel de usuario como a nivel profesional.
it
st

Por ejemplo, se estima que la demanda de servicios en la nube por parte de los usuarios se
.in

incremente muy significativamente durante los próximos años, llegando a alcanzar los 3.600

millones de usuarios en un breve período de tiempo. Aunque los principales servicios cloud que
s
do

fundamentarán este crecimiento son los servicios en streaming de música, los videojuegos online y

el cloud storage, es conveniente hablar en esta unidad de servicios tan importantes como el
ca

escritorio virtual y los servicios de base relacionados con el centro de datos.


ifi
rt

Desde el punto de vista del usuario, con el cloud computing se inicia una nueva forma de
ce

relacionarse con el entorno en ámbitos tan dispares como: profesional, ocio e, incluso social.

Los beneficios más inmediatos de los servicios cloud ya los hemos ido comentando. No obstante, a
modo de recordatorio, cabe mencionar los siguientes:

Reducción de costes

Pago por uso

Simplicidad

Amplio y diverso abanico de soluciones

certificados.institutoeuropa.com
36 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

Un ejemplo en el que podemos observar claramente estas ventajas, podría ser el siguiente.

Hasta que no aparecieron los servicios cloud, cuando un usuario quería utilizar un pack de

software ofimático, tenía que adquirir una licencia de uso del software, descargarlo e instalarlo para

poder utilizarlo en su ordenador personal. Además, para que las aplicaciones funcionasen

adecuadamente, era necesario estar continuamente instalando las actualizaciones y siempre se

recomendaba almacenar la información importante en otros dispositivos para maximizar su

seguridad y evitar pérdidas inesperadas.

m
co
Cuando se deseaba compartir algún archivo, era necesario guardar varias versiones del mismo (por

ejemplo, hay ordenadores que tienen instalada la versión de Word 2003 mientras otros utilizan Word

a.
2010) y enviarlo por correo electrónico o guardarlo en algún dispositivo de almacenamiento

op
externo. Asimismo, cada vez que se realizaba algún cambio en el archivo, debía actualizarse en todos

ur
los dispositivos en los que estaba almacenado. oe
ut
it
st
s .in
do

Sin embargo, con las tecnologías cloud computing se facilita y agiliza el proceso ya que podemos
ca

almacenar y actualizar directamente los archivos en la nube y disponer de ellos desde cualquier
ifi

dispositivo en el momento que así lo requiramos. Sólo es necesario disponer de un navegador y


rt

conexión a Internet ya que, existe incluso la posibilidad de trabajar sobre el documento a través de
ce

la versión online del software ofimático.

Por otra parte, ya no es necesario almacenar varias copias en dispositivos distintos ni tener un

control de las versiones que almacenamos, ya que la actualización del mismo es automática y la

seguridad de los archivos en la nube es considerablemente elevada. Es más, a través de los servicios

cloud varios usuarios podremos trabajar simultáneamente sobre un mismo documento e introducir

modificaciones sin dificultad.

En conclusión los servicios cloud han logrado que la única preocupación del usuario sea el pago de

certificados.institutoeuropa.com
37 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

la cuota correspondiente a la suscripción del servicio y tener una buena conexión a Internet,

logrando un ahorro importante de gasto en servidores, mantenimiento y administración de software

de complejidad.

Un escritorio virtual o VDI (infraestructura de escritorios virtuales o, en inglés, Virtual Desktop

Interface) permite separar el software que ejecuta el escritorio del equipo que el usuario manipula

físicamente. En otras palabras, un escritorio virtual separa el sistema operativo y las aplicaciones

que hay instaladas en éste del equipo físico en sí.

m
co
De este modo, el escritorio se ejecuta en modo remoto en otro sistema llamado “servidor de

escritorio” y es imprescindible la existencia de una conexión de red entre el equipo del usuario y

a.
dicho servidor.

op
ur
Así, el escritorio virtualizado no se almacena en el disco local del equipo del usuario, sino que se
oe
almacena en el disco del servidor remoto: todos los programas, aplicaciones, datos y procesos se

ejecutan y almacenan centralizadamente.


ut
it

Las consecuencias inmediatas de ello son, concretamente, tres:


st
.in

La gestión de los escritorios de los usuarios se lleva a cabo de forma centralizada, de modo que

ya no es necesaria la implantación ni la utilización de herramientas distribuidas.


s
do

El escritorio “real” del usuario se ubica en un punto fijo pero se puede acceder a él desde

cualquier ubicación y mediante cualquier dispositivo. Además, tampoco se requieren complejas


ca

herramientas de sincronización para la actualización inmediata de los datos.


ifi

La variedad de dispositivos desde los que un usuario puede acceder a su escritorio es muy
rt

amplia: ordenadores personales, navegadores, tablets, netbooks, etc. Sólo se necesita estar
ce

conectado con el servidor del escritorio, a través de Internet o de la red interna.

Como se puede observar, el escritorio virtual es un paso hacia adelante a la convergencia en la

nube ya que, en lugar de facilitar al usuario un software ejecutado en la nube sobre un sistema

operativo ejecutado a nivel local, ya se lleva todo el entorno del usuario directamente a la nube,

independientemente del sistema operativo que tenga el usuario instalado en su dispositivo.

Las tecnologías que facilitan este servicio de escritorio virtual son de lo más variadas, siendo

certificados.institutoeuropa.com
38 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

incluso alguna de ellas de carácter gratuita. Por ello, ya son numerosas las empresas que utilizan

este tipo de tecnologías con la finalidad de aprovechar las sinergias existentes en la gestión y

administración de grandes entornos corporativos.

Hace relativamente pocos años, administrar una gran corporación con multitud de ordenadores era

todo un reto ya que se necesitaba el despliegue distribuido de gran cantidad de sistemas operativos

y muchas aplicaciones software en varias delegaciones, que debían administrarse, a su vez, de forma

centralizada; administración que suponía un consumo muy intensivo de recursos técnicos y

m
humanos.

co
El escritorio virtual, al centralizar toda la capacidad de proceso, memoria y almacenamiento en un

a.
solo centro de recursos es la solución a estos problemas de consumo, facilitando al usuario un simple

op
acceso a éste mediante un navegador o una sencilla aplicación.

ur
oe
La capacidad de proceso, memoria y almacenamiento que se requiere para el correcto

funcionamiento de una plataforma, ahora se ha llevado a un entorno centralizado de servidores


ut

físicos sobre los que se instala software de virtualización y que, generalmente, se distribuyen en
it

varios Centros de Datos para garantizar un funcionamiento óptimo y sin interrupciones.


st
.in

En conclusión, los técnicos que anteriormente requerían una gran dedicación para la

administración de un entorno distribuido de gran cantidad de ordenadores, ahora limitan sus tareas
s
do

a la administración de la plataforma de servidores virtuales mediante la creación de plantillas y


ca

perfiles de usuario que permiten funcionalidades tan diversas como la actualización sincronizada de

los escritorios, la instalación de aplicaciones o, incluso, la gestión de la seguridad de los servidores.


ifi
rt
ce

certificados.institutoeuropa.com
39 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

Son varios los proveedores que ofrecen servicios de escritorio virtual tanto a particulares como a

empresas a través de la nube, pero también existe la posibilidad de configurar nubes privadas que

incrementen la seguridad de la información y a través de las cuales las empresas pueden elegir

dónde almacenar la información y controlar en todo momento los recursos que deseen desplegar.

Como ya se ha comentado anteriormente, la virtualización de escritorios consiste en dar al usuario

la posibilidad de ejecutar su escritorio en un sistema distinto del que está utilizando. Este hecho

m
implica la distinción de dos capas claramente diferenciadas:

co
El dispositivo de acceso: Dispositivo o equipo físico que está utilizando el usuario desde su

a.
ubicación

op
El servidor de escritorio: Equipo central que ejecuta el software de escritorio.

ur
oe
Tanto el dispositivo de acceso como el servidor de escritorio pueden ser tratados
ut

independientemente y, por ello, pueden encontrarse distintas combinaciones con varias soluciones

en cada una de ellas. De hecho, si queremos puntualizar, las aplicaciones se ejecutan en una
it
st

tercera capa, la capa de los servidores de aplicaciones; aunque, en numerosas ocasiones los
.in

servidores de escritorios también facilitan la opción de ejecutar aplicaciones.


s

Los dispositivos de acceso pueden estar utilizando tecnologías completamente distintas a los
do

escritorios virtuales. De este modo, por ejemplo, es posible acceder a escritorios Windows desde
ca

“thin clients” (los thin clients son computadores o software cliente que dependen primariamente
ifi

del servidor central para la ejecución de los procesos, simplemente son una “conexión” entre el
rt

usuario y el servidor remoto) que funcionen con Linux.


ce

El usuario, aunque en su PC tenga instalado Linux, tendrá la sensación de que su dispositivo utiliza

Windows, aunque en realidad estará ejecutando Linux en un dispositivo de acceso sin que se note.

La virtualización de escritorios permite la ejecución de los escritorios en servidores virtualizados,

aunque no es imprescindible. Sea como fuere, las tecnologías de virtualización permiten que varios

usuarios estén ejecutando a la vez su escritorio personalizado en un sistema central. Como ya se ha

comentado, el sistema central se ubicará principalmente en un centro de datos, aunque cada vez es

más frecuente la utilización de soluciones de hosting para este tipo de sistemas.

certificados.institutoeuropa.com
40 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

En los servidores de escritorio encontramos tres tecnologías fundamentales:

Servidores de terminales: Equipos básicos cuya funcionalidad es conectar varios dispositivos

de entrada/salida a una unidad central de procesamiento de datos.

Servidores con “blades”: Tipo de computador para los centros de datos diseñado

específicamente para aprovechar el espacio, reducir el consumo de recursos y simplificar su

explotación. Cada servidor blade es una tarjeta delgada que no dispone de fuente de

alimentación ni ningún tipo de tarjeta de comunicación. En cada una de las tarjetas, el servidor

m
ejecuta el escritorio de un usuario.

co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
41 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

Servidores virtuales: Se trata de la tecnología de escritorios virtuales más sofisticada en la

actualidad, además de ser la que más beneficios facilita. Son servidores en los que los

escritorios se ejecutan en máquinas virtuales de una de las siguientes formas:

En modo personalizado: Se ejecuta un escritorio para cada usuario

certificados.institutoeuropa.com
42 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

En modo pool: Varios usuarios comparten un modelo de escritorio genérico.

Otro componente básico que se puede encontrar en una plataforma de escritorios virtuales es el

“broker”. Se trata de un componente software que conecta el usuario que quiere utilizar la

plataforma con el escritorio virtual que tiene que utilizar. Básicamente, la función principal del

broker es identificar al usuario y, en función de las configuraciones que éste disponga, conectarlo

con el servidor de escritorio correspondiente.

m
Cuando queremos implantar una solución de escritorios virtuales debemos tener en cuenta que la

co
infraestructura puede tener características más diversas cuya implantación puede ser determinante

a.
en el rendimiento y en la optimización de los beneficios que puede aportar.

op
Por ejemplo, si queremos implantar una plataforma en una gran corporación que trabaja desde

ur
múltiples sedes en todo el mundo, necesitaremos diseñar una arquitectura de gran complejidad.
oe
ut

Sin embargo, si sólo queremos utilizar nuestro escritorio desde cualquier dispositivo a nivel

particular, la arquitectura necesaria será mucho más simple.


it
st

Por ello, antes de decidir la puesta en marcha de una infraestructura de escritorios virtuales, es
.in

necesario realizar un diseño previo, basado en las especificaciones y prestaciones que se van a
s

requerir de la plataforma.
do

En numerosas ocasiones, la utilización de los escritorios virtuales no se realiza con suficiente rigor,
ca

tratando de optimizar sólo el rendimiento de los mismos sin hacer hincapié en otros aspectos tan
ifi

importantes como los requisitos funcionales o los componentes software que se van a utilizar. Todo
rt

ello termina suponiendo una falta de aprovechamiento de todos los beneficios que pueden aportar
ce

este tipo de soluciones: no sólo tenemos que pensar en optimizar el rendimiento, si no que debemos

también obtener unas mejores prestaciones y una reducción significativa de los costes de

administración.

Así, se demuestra la necesidad de diseñar cada capa de la arquitectura de modo que cumpla con las

necesidades de cada caso y al menor coste posible. Un diseño óptimo debe responder, como mínimo

a las siguientes cuestiones:

certificados.institutoeuropa.com
43 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

Dispositivos de acceso: ¿Necesitamos reconvertir los ordenadores personales en thin clients?

¿Qué tipo de thin clients necesitamos? ¿Necesitamos alguna prestación especial? ¿Queremos

que los usuarios puedan acceder desde su domicilio u otra ubicación a través de roaming?

Servidores de escritorio: ¿Cuál es la solución más óptima para cubrir nuestras necesidades,

servidor de terminales, servidor con blades o servidores virtuales? ¿Qué tecnología de

escritorio nos conviene más en función de las necesidades de los usuarios, Windows, Linux o

mixta? ¿Qué disponibilidad y rendimiento deseamos?

m
Acceso remoto: ¿Queremos conectar a los distintos usuarios desde oficinas remotas?

co
¿Queremos que la conexión de los usuarios sea segura? ¿Queremos que haya acceso al

a.
escritorio virtual desde redes móviles?

op
Gestión y administración: ¿Cómo vamos a gestionar los VDI? ¿Implantaremos escritorios

personalizados, pools o ambos? ¿Será necesaria la utilización de un broker?

ur
oe
Una vez claro el diseño de la arquitectura ya se puede pasar a plantear el dimensionamiento del
ut

resto de componentes como: número y tamaño de los servidores en función de la cantidad de


it

usuarios que la van a utilizar, de las prestaciones y de la redundancia, verificación de la capacidad


st

de las redes tanto internas como externas, sistemas de almacenamiento y backup y otros
.in

componentes que puedan ser también necesarios según el proyecto, sus especificaciones y el diseño
s

de la arquitectura software.
do
ca
ifi
rt
ce

Es importante destacar que la potencia que requiere el dispositivo de acceso es mínima ya que

sólo debe administrar y manejar el software de conexión. De hecho, este dispositivo puede ser

simple, de bajo coste, con poca memoria y poca necesidad de CPU. Se trataría entonces de

dispositivos con un consumo muy reducido e, incluso, sin disco o ventiladores, lo que incrementa su

fiabilidad y los hace muy silenciosos.

certificados.institutoeuropa.com
44 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

Está claro que el modelo de virtualización de escritorios ofrece múltiples ventajas a simple vista.

Además del reducido coste de adquisición del hardware (aunque el hardware en sí es más costoso

que la adquisición de un PC, hay que tener en cuenta que esta arquitectura puede dar servicio a

múltiples usuarios al tratarse de un recurso compartido. Además, al ser más fácil la realización de

backups de los datos en el centro de datos, el incremento de seguridad de la información es

bastante notable.

Otras ventajas que podemos encontrar son las siguientes:

m
co
Mayor simplicidad para la utilización de nuevos escritorios: Cualquier nuevo usuario

a.
puede tener su escritorio virtual listo en un reducido margen de tiempo.

op
Reducción importante de los tiempos de no servicio: Si se produce algún tipo de avería en

el dispositivo de acceso, no será necesaria la instalación de ningún software. Solamente habrá

ur
que reemplazar el dispositivo y conectarlo de nuevo a la red con las claves de acceso para
oe
acceder al escritorio virtual. De este modo, el tiempo de interrupción de servicio puede
ut

reducirse a pocos minutos.


it

Disminución de los costes necesarios para el despliegue de las aplicaciones: La


st

instalación de aplicaciones de forma distribuida no requiere la utilización de sistemas


.in

complejos ya que el despliegue se produce en los servidores.


s

Cambio rápido de escritorios: El cambio del escritorio que utiliza un usuario al que utiliza
do

otro usuario en un mismo puesto de trabajo se produce en cuestión de segundos, lo que resulta
ca

de gran utilidad si varios usuarios comparten el dispositivo de acceso en turnos.


ifi

Actualización permanente de la infraestructura: El ciclo de vida de los dispositivos, al no


rt

requerir gran capacidad, se alarga de forma indefinida, originando que sea necesario
ce

reemplazarlos antes por averías que por obsolescencia.

Mejor gestión de la seguridad: Se produce una simplificación de la seguridad ya que resulta

más sencillo el control de los dispositivos que los usuarios conectan a sus equipos. Además, los

datos nunca salen del centro de datos.

certificados.institutoeuropa.com
45 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

Sin embargo, este tipo de arquitectura también presenta ciertas limitaciones que pueden no

hacerla apropiada para determinados tipos de usuarios:

m
co
Pérdida de autonomía: Los usuarios pierden la autonomía sobre sus equipos, por lo que

puede generarse una cierta reticencia si estos están acostumbrados a instalar aplicaciones

a.
propias y a almacenar datos de carácter privado.

op
Dificultad de conexión de periféricos a ordenadores personales: Aunque los periféricos sí

ur
pueden conectarse perfectamente a los ordenadores personales, es muy frecuente que este tipo
oe
de arquitectura exija que se conecten directamente a la red en lugar de a los equipos de los
ut

usuarios, para que no haya problemas de soporte.

Deficiencias en el rendimiento de las aplicaciones multimedia: Las aplicaciones


it
st

multimedia que utilizan de forma intensiva vídeo de alta resolución pueden no disponer de un
.in

rendimiento óptimo. En el caso de requerirse la ejecución de aplicaciones multimedia con video

en alta resolución es posible que sea necesaria la decodificación del video localmente, lo que
s
do

incrementa la complejidad del sistema y la exigencia de dispositivos de mayor potencia.

Formación de los técnicos: El despliegue y la administración de una infraestructura para


ca

escritorios virtuales requiere determinados conocimientos técnicos y específicos, lo que implica


ifi

la necesidad de disponer de profesionales debidamente formados y, en consecuencia, un


rt

posible cambio del modo de trabajo y de los procedimientos operativos.


ce

Dependencia de la infraestructura de red: La utilización de escritorios virtuales requiere

indiscutiblemente una conexión a la red, sea interna o externa. Por ello, la disponibilidad de los

servidores de escritorio es sumamente dependiente de la calidad de la red y del acceso a la

misma.

certificados.institutoeuropa.com
46 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

Comenzar Actividad

Arrastra las palabras de la columna Derecha en la columna Izquierda, acerca de las capas de la
virtualización de escritorios.

Dispositivo de acceso

arrastra...

m
Servidor de escritorio

co
arrastra...

a.
op
Servidor de aplicaciones

ur
arrastra... oe
ut
it

Equipo central que ejecuta el software de escritorio


st
.in

Equipo físico que el usuario está utilizando desde su ubicación


s
do

Capa virtual donde se ejecutan las aplicaciones


ca
ifi

Tanto el dispositivo de acceso como el servidor de escritorio pueden ser tratados


independientemente y, por ello, pueden encontrarse distintas combinaciones con
rt

varias soluciones en cada una de ellas. De hecho, si queremos puntualizar, las


ce

aplicaciones se ejecutan en una tercera capa, la capa de los servidores de


aplicaciones.

Como ya se ha ido comentando en apartados anteriores, la principal funcionalidad de los servicios de

cloud computing es el traslado del usuario al proveedor de la necesidad y responsabilidad de

mantener la infraestructura, plataforma y software, entre otros servicios.

Todo ello provoca que el usuario sólo tenga que tomar dos decisiones cuando desee utilizar los

servicios de cloud computing:

certificados.institutoeuropa.com
47 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

El dispositivo de acceso que quiere adquirir.

El servicio de acceso a la red que quiere contratar.

Cualquier otra decisión será responsabilidad del proveedor de servicio, que deberá preocuparse de

tener a su disposición la infraestructura, el software y la plataforma adecuados para que el servicio

prestado esté en condiciones óptimas en la nube y el usuario pueda utilizarlo sin problemas.

A raíz de ello, emerge la necesidad de utilizar Centros de Datos fuera de las empresas, donde

m
poder acceder a las infraestructuras base y a las tecnologías cloud.

co
a.
Existen varios tipos de centros de datos accesibles a cualquier empresa:

op
ur
Centros de datos propietarios o de operador
oe
Suelen pertenecer a operadores de servicios de telecomunicaciones y, por tanto, suelen
ut

presentar problemas para acceder a servicios de distintos proveedores de servicios de red.


Lo habitual es que sólo se pueda acceder a los servicios del proveedor que ha construido
it

el centro.
st

Centros de datos neutrales


.in

Al contrario que los centros de datos propietarios, los centros de datos neutrales son
s

totalmente independientes y nos permiten acceder a un amplio abanico de servicios de


do

telecomunicaciones y a unos servicios completamente neutrales.


ca

Aunque pueda parecer poco relevante, este aspecto es fundamental para decidir si seleccionar un
ifi

tipo de centro de datos u otro. De hecho, los mismos operadores suelen bonificar el precio en sus
rt

propias instalaciones como contrapartida de ser los proveedores de los servicios de


ce

telecomunicaciones del cliente.

certificados.institutoeuropa.com
48 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

En referencia a los servicios cloud, donde la neutralidad de las comunicaciones es fundamental, el

hecho de depender del proveedor supone estar completamente atado y, en consecuencia, tener

ciertas limitaciones en el momento de querer realizar algún tipo de modificación en la plataforma

cloud.

Los centros de datos neutrales suelen utilizar el concepto de “Meet-Me-Room”, en el que los

distintos proveedores de servicios de telecomunicaciones ofrecen sus servicios en un mercado

abierto a cambio de pagar al operador de la Meet-me-Room sólo por la interconexión física entre el

m
cliente y éste. Esto permite que el cliente pueda disfrutar de un servicio completamente neutral sin

co
ningún tipo de dependencia hacia el proveedor.

a.
En los siguientes apartados veremos los dos servicios de Cloud Computing más populares y

op
extendidos.

ur
oe
Amazon Web Services es un grupo de servicios de computación en la nube ofrecidos a través de

internet por Amazon. Esta tecnología permite a los suscriptores tener a su disposición clusters
ut

virtuales de ordenadores, disponibles todo el tiempo a través de internet.


it
st
.in

Google Cloud Platform , es una suite de servicios de computación en la nube que se ejecuta en la

misma infraestructura que Google usa internamente para sus productos finales, como la búsqueda
s
do

de Google y Youtube.
ca

Amazon Web Services es un grupo de servicios de computación en la nube ofrecidos a través de


ifi

internet por Amazon. Esta tecnología permite a los suscriptores tener a su disposición clusters
rt

virtuales de ordenadores, disponibles todo el tiempo a través de internet. Podemos emular la


ce

mayoría de los atributes de un ordenador real incluyendo el procesador y la gráfica para

procesamiento, la memoria RAM y el disco duro como almacenamiento, el sistema operativo y

aplicaciones ya precargadas como servidores web o gestores de bases de datos. El navegador actúa

como una ventana hacia el ordenador virtual, permitiendo a los subscriptores de estos servicios

configurar y usar sus sistemas virtuales de igual forma que si fuera un ordenador físico.

Uno de los servicios más utilizados de la plataforma Amazon Web Services en el servicio de

almacenamiento.

certificados.institutoeuropa.com
49 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

El servicio de almacenamiento en la nube de Amazon permite almacenar hasta 5 GB (ampliables

también a través de suscripciones de pago). El acceso a los datos es ilimitado y desde cualquier

dispositivo y, además se tiene la garantía de calidad, seguridad, y fiabilidad de ser un servicio

ofrecido por uno de los proveedores más estables y seguros de la nube.

También dispone de la aplicación Cloud Drive Fotos, a través de la cual un usuario puede acceder

m
a sus fotos y vídeos personales desde cualquier dispositivo con acceso a la red.

co
Amazon EC2 (https://aws.amazon.com/es/windows/products/ec2/)

a.
op
Amazon EC2 (Amazon Elastic Compute Cloud) es un servicio web de Amazon que facilita capacidad

informática de tamaño variable a través de la nube. Su finalidad principal, como todo modelo IaaS,

ur
es proporcionar a los desarrolladores la capacidad de computación necesaria de forma escalable y
oe
adaptable en todo momento.
ut

Amazon EC2 se presenta como un servicio web que ofrece “virtualización ilimitada bajo
it

demanda y escalabilidad”.
st
.in

Su infraestructura física se distribuye en múltiples localidades de varios países europeos y de


s

Estados unidos, para evitar problemas de falta de disponibilidad del servicio.


do

Además, para garantizar una mayor disponibilidad y evitar problemas de incompatibilidades


ca

permite máquinas virtuales basadas en los siguientes sistemas operativos:


ifi

Linux.
rt

OpenSolaris.
ce

Windows (tanto de 32 como de 64 bits).

Como todo IaaS, se basa en pago por uso, facturando así por hora de utilización de los recursos y

por el ancho de banda consumido en dicha hora.

certificados.institutoeuropa.com
50 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

m
co
a.
op
ur
Atendiendo a las necesidades de cada cliente, Amazon EC2 ofrece distintos tipos de instancia,
oe
siendo algunos ejemplos los siguientes:
ut
it

Instancia extra grande doble, que ofrece:


st

30 GiB de memoria.
.in

26 unidades EC2: 8 núcleos virtuales con 3,25 unidades EC2 cada uno de ellos.
s

Almacenamiento de EBS.
do

Plataforma de 64 bits.
ca

Cluster, cuyas características son:


ifi

60,5 GiB de memoria.


rt

88 unidades informáticas de EC2.


ce

370 GB de almacena miento de instancias local.

Plataforma de 64 bits.

Ethernet de 10 Gigabits.

Cluster GPU, que ofrece:

22 GiB de memoria.

33,5 unidades informáticas de EC2.

2 GPU NVIDIA Tesla Fermi M2050.

certificados.institutoeuropa.com
51 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

1690 GB de almacenamiento de instancias local.

Plataforma de 64 bits.

Ethernet de 10 Gigabits.

Además, Amazon también facilita determinados servicios gratuitos de fácil utilización:

750 horas de uso de microinstancias Linux y Windows.

30 GB de Amazon Elastic Block Storacg.

m
2 millones de E/S.

co
1 GB de almacenamiento de instancias.

a.
1 Millón de llamadas a función lambda.

op
Qué es una nube privada

ur
Los modelos de despliegue que pueden implementarse en las empresas son los siguientes:
oe
ut
it
st
s .in
do

El modelo de nube comunitaria propuesto por el NIST no ha sido muy aceptado por la industria
ca

informática de modo que, siendo estrictos, y analizando la bibliografía técnica especializada, las

categorías de modelos de despliegue fundamentales son sólo las nubes privadas, públicas e híbridas.
ifi
rt

En cada uno de estos modelos de despliegue existen distintos “submodelos”. Por ejemplo, el modelo
ce

de nube SaaS o Software como servicio que ya hemos estudiado lo podemos encontrar tanto en

nubes públicas, como privadas, como híbridas.

Debido a que la gran preocupación de los usuarios es el tema de la seguridad y de la privacidad de

los datos, el modelo más extendido en el mundo empresarial son las nubes privadas para evitar

correr los riesgos de poner a disposición de terceros la gestión y administración de una información

de especial relevancia.

En relación a las nubes privadas, se trata de nubes en las que se aplica la tecnología de cloud

certificados.institutoeuropa.com
52 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

computing pero con un modelo de carácter privado, es decir, mediante la utilización de un medio en

el que exclusivamente la organización tiene acceso a los recursos necesarios para implementar la

nube. En otras palabras, una nube privada es una nube puesta en funcionamiento por una misma

organización con sus propios recursos (equipos, redes, almacenamiento, centros de datos, etc.).

La principal característica de este tipo de nubes es el control de la información: la nube privada

es propiedad de la empresa que la utiliza y, por ello, es la que debe tener acceso a la misma y

ejercer el control sobre ella.

m
co
Un ejemplo de nube privada lo podemos encontrar en una empresa u organización del ámbito de

ciencias de la salud como hospitales, clínicas privadas, etc. Generalmente, la normativa de

a.
protección de datos de carácter personal es muy estricta con los datos relativos a la salud y suelen

op
requerir que éstos estén almacenados dentro del país en el que se generan. En estos casos, lo más

ur
habitual sería que los datos se almacenasen en nubes privadas para garantizar un nivel de seguridad
oe
máximo y evitar accesos no autorizados y un mal uso de la información.
ut

Otro ejemplo lo tenemos en las Fuerzas Aéreas de Estados Unidos, que dispone de
it

aproximadamente 100 bases aéreas en todo el mundo y unos 700.000 militares en activos y ha
st

encargado a la compañía IBM el diseño y desarrollo de un entorno de nube privada para almacenar,
.in

gestionar y proteger la información confidencial de sus bases de datos.


s
do

Las nubes privadas tienen un funcionamiento muy similar a una red o a un centro de datos privado y
ca

la infraestructura puede existir dentro de la misma organización (on-premise), o bien fuera de ésta

(off-premise).
ifi
rt
ce

certificados.institutoeuropa.com
53 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

En una nube privada, el cliente establece un entorno virtualizado en servidores propios, en sus

propios centros de datos o en los de su proveedor de servicios. Así, las organizaciones deben

adquirir, construir, implantar y gestionar su nube a cambio de disponer el control exclusivo de la

misma, lo que supone un elevado coste y una gran inversión inicial.

Así, por lo que en el momento de elegir qué tipo de modelo de despliegue utilizar las organizaciones

deben realizar una valoración previa de los costes que les puede suponer la utilización de cada uno

m
de los modelos de despliegue y de los costes que puede suponer un fallo de seguridad en la

co
información que quieren gestionar. Si la información no es lo suficientemente relevante o no

a.
necesita unas medidas de protección especial, la inversión en nubes privadas no es una buena

op
opción.

ur
Además, la estructura de nube privada es de gran utilidad para empresas que:
oe
Ya disponen de inversiones significativas en sus tecnologías de la información.
ut

Consideran que necesitan de forma imprescindible un control total sobre los distintos aspectos
it

de la infraestructura de la nube.
st
.in

En general, un modelo de despliegue de nube privada, la gestión de la seguridad y la operativa de


s

los procesos diarios de los servicios alojados se llevan a cabo bajo la responsabilidad del
do

departamento interno de tecnologías de la información de la organización, aunque también existe la


ca

posibilidad de subcontratar el servicio a una empresa externa (teniendo en cuenta, que perdemos
ifi

seguridad).
rt

En resumen, en una nube privada el cliente debe disponer de un elevado grado de control sobre los
ce

aspectos físicos y lógicos de seguridad de su infraestructura y, como consecuencia, podrá cumplir y

asegurar los estándares, políticas y regulación relativa a la seguridad de la información con mayor

facilidad.

Ventajas e inconvenientes del servicio de la nube privada

Un servicio de nube privada también puede denominarse en ocasiones nube interna o nube de

empresa y, como ya se ha ido comentando, se trata de una infraestructura alojada en una

plataforma privada en el centro de datos del cliente. Está enfocada específicamente a una

certificados.institutoeuropa.com
54 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

organización determinada y no se comparte con otras empresas.

La tecnología clave que sirve de apoyo a las organizaciones a poner en funcionamiento una nube

privada es la virtualización. La virtualización sirve de ayuda a las organizaciones para lograr un

ahorro en costes ya que les permite aprovechar el hardware ya existente y evitar así nuevas

adquisiciones de equipos adicionales de forma parecida a una nube pública.

La diferencia principal con una nube pública radica es que la nube privada se localiza en la

m
ubicación del cliente y le ofrece un mayor control sobre la infraestructura y sobre la información que

co
ésta gestiona.

a.
El servicio de nube privada ofrece una serie de ventajas que pueden convertirla en una solución de

op
nube más viable que una nube pública:

ur
Mayor control: Los equipos y todo el hardware se ubica en las instalaciones del cliente, por lo
oe
que las organizaciones disponen de un mayor control sobre sus datos. En este caso, es la
ut

organización la que se responsabiliza de supervisar y mantener la información, lo que les


it

otorga una visibilidad total sobre sus datos.


st

Mayor seguridad: Los servicios de nube privada se dedican a una organización en particular,
.in

de modo que el hardware, el almacenamiento de la información y la red pueden diseñarse para


s

garantizar elevados niveles de seguridad a los que se puede denegar el acceso a otros clientes
do

del mismo centro de datos.


ca

Amplio abanico de funcionalidades: Mientras que los servicios de nube pública suelen estar
ifi

especializados en una o dos funcionalidades, el hecho de disponer de una nube privada puede
rt

ofrecer a la organización una gran cantidad de posibilidades en el momento de trabajar con


ce

ella: sincronización, calendarios, tareas, galerías de fotos, etc. La cantidad de funcionalidades

dependerá siempre de las limitaciones de capacidad de la organización y de las aplicaciones

que ésta desee instalar en la nube.

Mayor rendimiento: Una nube privada está implementada en el interior del firewall de la

intranet de una empresa, lo que conlleva que la velocidad de transferencia de información se

incremente sustancialmente en comparación a la utilización de Internet. Además, la empresa

cliente no debe preocuparse por la escasa velocidad de acceso a las páginas que puede darse

cuando se utiliza una nube pública.

certificados.institutoeuropa.com
55 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

Personalización: Al ser la infraestructura propiedad de la organización, el rendimiento del

hardware, de la red y del almacenamiento de la información pueden ser especificados y

personalizados en la nube privada según sus propios requerimientos.

m
co
a.
op
Así, un mayor control de la infraestructura por parte del cliente significa una menor preocupación

en materia de seguridad para los usuarios de una nube privada. Al trasladar el tradicional sistema

ur
informático basado en hardware a la nube, el cliente puede seguir aprovechándose de las ventajas
oe
de flexibilidad, escalabilidad y productividad sin tener que sacrificar el control y la seguridad de los
ut

datos que puede perderse en un servicio de nube pública.


it
st

El servicio de nube privada ofrece una serie de ventajas que pueden convertirla
en una solución de nube más viable que una nube pública:
.in

Menor control.
s
do

Mayor seguridad.
ca
ifi

Personalización.
rt
ce

No obstante, aunque los servicios de nube privada ofrecen numerosas ventajas relativas a una

mayor seguridad y a un mejor control de los datos, también hay que tener en cuenta una serie de

desventajas:

Incremento de costes: En general, los servicios de nube privada suelen ser bastante más

costosos que los servicios de nube pública, al requerir determinado hardware y profesionales

de mantenimiento especializados. Para poner en funcionamiento una nube privada, las

organizaciones deben realizar una inversión importante en hardware o aprovechar los sistemas

certificados.institutoeuropa.com
56 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

y equipos ya existentes. Sin embargo, en una nube pública, todo se gestiona fuera de las

instalaciones de la organización y la inversión inicial es mínima. Por otra parte, las nubes

privadas requieren la contratación de administradores de sistemas, lo que genera unos costes

en personal sustancialmente superiores.

Mantenimiento de las instalaciones: La nube se aloja en las instalaciones de la

organización, lo que supone que ésta debe facilitar todos los suministros necesarios para su

funcionamiento como energía, refrigeración y mantenimiento general que se requiera en cada

m
momento. La organización además, también está expuesta a la pérdida de datos que puede

co
darse por producirse algún tipo de daño físico de la unidad (incendio, sobre tensión, daños

causados por agua, etc.). Además, si una organización dispone de varios centros de datos, con

a.
una nube privada cada uno de ellos, el mantenimiento de las distintas instalaciones y los costes

op
asociados a éstas se incrementan de forma considerable.

ur
Capacidad limitada: Cuando la infraestructura de la nube se ubica e implanta dentro de las
oe
instalaciones de una organización, siempre hay un límite de capacidad generado por las
ut

limitaciones del hardware físico en el centro de datos de la empresa. Por ejemplo, existe la

posibilidad que en las instalaciones de la organización sólo dispongan de espacio suficiente


it
st

para implementar una cantidad determinada de servidores de hardware.


.in

NUBES PRIVADAS
s
do

Ventajas Desventajas
Mayor control Mayor coste
ca

Mayor seguridad Mantenimiento de las instalaciones


ifi

Más funcionalidades Capacidad limitada


Personalización
rt

Mayor rendimiento
ce

En general, la mayor crítica que puede recibir un servicio de nube privada es que el cliente debe

realizar una inversión importante y debe responsabilizarse de la adquisición, configuración y

mantenimiento del sistema o de la infraestructura virtualizada. Sin embargo, el cliente de un

servicio de nube pública puede adquirir un sistema básico y económico ya listo para ser utilizado

directamente, mientras que el cliente de un servicio de nube privada debe destinar ya inicialmente

un capital importante para comprar un sistema que deberá alojar de forma interna y,

posteriormente, deberá encargarse de su gestión y mantenimiento desde ese mismo momento.

certificados.institutoeuropa.com
57 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

Según el NIST, el modelo de la nube está formado de cinco características


fundamentales, tres modelos de servicio y cuatro modelos de despliegue.

Verdadero.

Falso.

m
El equipo de desarrollo del proveedor puede gestionar y periodificar con mayor
facilidad la gestión de los procesos de errores y de las aplicaciones de modo que

co
se realicen actualizaciones, controles y revisiones de forma continua cada cierto

a.
período de tiempo.

op
Verdadero.

ur
Falso.
oe
ut
it

Es el servicio de cloud storage que ofrece Apple y permite conectar todos los
st

dispositivos Apple de un usuario:


.in

Cloud Drive
s
do

iCloud
ca
ifi
rt
ce

certificados.institutoeuropa.com
58 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

Google Cloud Platform.

Google Cloud Platform , es una suite de servicios de computación en la nube que se ejecuta en la

misma infraestructura que Google usa internamente para sus productos finales, como la búsqueda

de Google y Youtube.

Además de un conjunto de herramientas de administración, provee una serie de servicios en la

nube modulares que incluye computación, almacenamiento de datos, análisis de datos y aprendizaje

m
máquina. La Google Cloud Platform provee infraestructura como servicio, plataforma como servicio

co
y entorno de computación Serverless.

a.
Cloud Platform otorga los productos, servicios y herramientas para poder diseñar, testear y ejecutar

op
las aplicaciones en la plataforma garantizando una gran escalabilidad y seguridad gracias al diseño

ur
de la infraestructura proporcionada por Google. oe
Esta infraestructura se divide en regiones y zonas.
ut

Dentro de la plataforma, existen las siguientes categorías:


it
st
.in

Computing

Networking
s
do

Storage

Big data
ca

Machine learning
ifi
rt

COMPUTING
ce

Conjunto de productos que proporcionan un rango escalable de opciones para dar soporte a

necesidades que tengan relación con la computación. Estos productos abarcan desde servicios

globales y de balanceo de carga a máquinas virtuales flexibles de una sola instancia.

App Engine: Servicio que está enfocado a crear y poner en marcha aplicaciones.

Compute Engine: Plataforma que otorga el poder computacional a nuestros

equipos para el cloud.

certificados.institutoeuropa.com
59 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

Kubernetes Engine: Están basados en contenedores que combina los dos

sistemas anteriores y crea un sistema híbrido.

NETWORKING

Servicio formado por el conjunto de herramientas que se muestran en la imagen. Estos permiten

administrar todo lo relacionado con el funcionamiento de la red.

m
co
a.
op
ur
oe
ut
it
st
.in

Fuente: http://www.doctormetrics.com
s
do

Un ejemplo de Networking es el de conectar varias maquinas virtuales (VM).


ca

STORAGE
ifi

Conjunto de productos de almacenamiento de datos en la nube. El almacenamiento de objetos


rt

abarca las diferentes necesidades y precios, y también ofrecen administración MySQL, Postgres y de
ce

bases de datos NoSQL escalables con mayor rendimiento que los competidores.

Cloud Storage: Sistema que almacena objetos y permite almacenar datos que no

tengan estructura y ficheros muy grandes (PB).

Datastore: Base de datos NoSQL para almacenar datos de aplicaciones. Almacena

objetos que se pueden usar en nuestra aplicación.

Bigtable: Servicio de BD NoSQL que permite gestionar cargas de trabajo muy

grandes con una latencia baja y un alto rendimiento.

certificados.institutoeuropa.com
60 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

SQL: Servicio de bases de datos MySQL y PostgreSQL que está totalmente

administrado por lo que facilita la configuración, administración y mantenimiento.

Spanner: Servicio definido por Google que otroga una base de datos relacional

que no tiene inconsistencia y que es escalable horizontalmente.

BIG DATA

m
Tiene un conjunto de servicios que permiten procesar y consultar Big Data en el cloud para obtener

co
respuestas de forma rápida.

a.
op
BigQuery: BD interactiva para realizar análisis de volúmenes de datos grandes

ur
con unos tiempos de respuesta muy rápidos. Es de tipo WORM (Write one read
oe
multiple).
ut

Pub/Sub: Servicio que registra streams de eventos y los transfiere a Cloud


it

Dataflow para que lo procese y posteriormente que sea analizado por BigQuery.
st

Dataflow: Modelo de programación para desarrollar y ejecutar una gran


.in

diversidad de patrones de procesamiento de datos como pueden ser ETL's,

operaciones informáticas,...
s
do

Dataproc: Herramienta para gestionar la infraestructura y optimizar los servicios

de Hadoop, Spark, Pig y Hive.


ca

Datalab: Herramienta para explorar datos, analizarlos y visualizarlos. Esta basada


ifi

en Jupyter (IPython).
rt

DataPrep: Servicio que permite explorar, limpiar y preparar los datos para su
ce

análisis.

Genomics: Base de datos para procesar eficientemente cantidades de datos

genómicos muy grandes.

MACHINE LEARNING

Disciplina de las Ciencias de la computación y la inteligencia artificial que pretende desarrollar

certificados.institutoeuropa.com
61 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

técnicas que identifiquen patrones y que un ordenador pueda aprender de estos.

Google proporciona su propio servicio Cloud Machine Learning Engine para el desarrollo de

proyectos que se sirvan de los principios de Machine Learning.

Cloud Machine Learning Engine tiene las siguientes librerías y APIs:

TensorFlow

m
Vision API

co
Speech API

Natural Language API

a.
Translate API

op
ur
Google Cloud Platform nos ofrece de igual forma que Amazon infraestructura como servicio (IaaS),
oe
plataforma como servicio (PaaS)y Software como servicio (SaaS). Vamos a explicar cada modelo de
ut

negocio para tener una idea más clara de cómo funciona:


it
st

IaaS
.in

El IaaS, Infraestructura como servicio o Infraestructure as a Service se puede definir como un


s

modelo de servicio en el que el hardware está virtualizado en la nube. En este modelo el proveedor
do

facilita servidores, almacenamiento, redes y todos los demás recursos que forman parte de la
ca

infraestructura.
ifi

Sus distintas utilidades y su gran escalabilidad hacen que el IaaS pueda utilizarse en cualquier tipo
rt

de negocio: desde una pequeña o mediana empresa de pocos empleados hasta una gran corporación.
ce

La adopción y crecimiento de este tipo de modelo ha sido apoyado e impulsado por la gran multitud

de startups han decidido emprender en época de crisis y desean ahorrar costes evitando

inversiones importantes en datacenters propios.

Se caracteriza por los siguientes aspectos fundamentales:

Se trata del nivel más bajo de la arquitectura cloud.

El usuario final es, generalmente, un administrador de sistemas.

certificados.institutoeuropa.com
62 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

El almacenamiento de la información suele localizarse en distintas ubicaciones.

Hay una alta disponibilidad del hardware.

El cliente que contrata el servicio no alquila recursos físicos, sino que alquila capacidad de

computación (y evita así, gastos en mantenimiento y reparaciones).

Los servicios que puede ofrecer la Infraestructura como Servicio también son de lo más variados.
No obstante, cabe destacar los siguientes:

Almacenamiento de información.

m
Capacidades de cómputo.

co
Sistemas operativos.

a.
Monitorización de recursos.

op
Gestión de bases de datos.

ur
Balanceo de carga (técnica utilizada para compartir las tareas a realizar entre varios procesos

y otros recursos).
oe
ut

Si tenemos en cuenta que un cliente que utiliza un entorno local tradicional debe realizar una
it

inversión importante en hardware (centros de datos principalmente), realizar un mantenimiento del


st

mismo ante posibles averías y garantizar una debida disponibilidad del servicio, el hecho de utilizar
.in

un IaaS para externalizar la infraestructura se plantea como la opción más óptima.


s
do
ca
ifi
rt
ce

Además, la utilización de entornos locales conlleva una serie de desventajas como:

La rapidez en la que pueden quedarse los recursos y el hardware obsoletos.

La variabilidad de necesidades de recursos que puede tener un negocio a lo largo del tiempo

(compatibilidades, volumen de datos a gestionar, etc.,…).

El volumen de actividad de cualquier negocio también tiene una elevada variabilidad, incluso

certificados.institutoeuropa.com
63 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

dentro de un mismo ejercicio. Por ejemplo, hay empresas que tienen su mayor volumen de

actividad en épocas de vacaciones, en Navidad, etc.

Comenzar Actividad

m
Relaciona los elementos de la columna Derecha con la columna Izquierda

co
Dataflow 1 BD interactiva para realizar

a.
análisis de volúmenes de datos
grandes con unos tiempos de

op
BigQuery 2 respuesta muy rápidos. Es de tipo
WORM (Write one read multiple).

ur
DataPrep
oe
3
Modelo de programación para
desarrollar y ejecutar una gran
ut

diversidad de patrones de
procesamiento de datos como
it

pueden ser ETL's, operaciones


st

informáticas,...
.in

Servicio que permite explorar,


s

limpiar y preparar los datos para


do

su análisis.
ca
ifi

El Computing es el conjunto de productos que proporcionan un rango escalable


rt

de opciones para dar soporte a necesidades que tengan relación con la


computación.
ce

Ante estas situaciones, la utilización de un IaaS puede ofrecer grandes ventajas como solución a
todos los inconvenientes de un sistema tradicional:

En un IaaS, el cliente simplemente contrata un volumen concreto de computación (volumen

que puede variar según sus necesidades). El proveedor es el que se debe encargar de

garantizar la disponibilidad y la calidad del servicio en todo momento.

certificados.institutoeuropa.com
64 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

El hardware se actualiza y repara de forma transparente al cliente.

Se establece el sistema de pago por uso, es decir, el cliente sólo paga por aquellos recursos que

utiliza en cada momento, ahorrando así costes en infrautilización de recursos.

Se trata de una infraestructura altamente escalable, pudiéndose adaptar con gran facilidad a

las necesidades de cada cliente.

Las empresas que contratan servicios IaaS pueden utilizar los recursos hardware como si

fuesen de su propiedad y los tuviesen físicamente. Además, podrán incrementar o reducir

m
dichos recursos atendiendo a su volumen de actividad y a la demanda de sus propios clientes.

co
Viendo sus características y ventajas se deduce con facilidad que el modelo IaaS puede dirigirse a

a.
cualquier tipo de empresa que pretenda delegar la implantación de sus aplicaciones y su software en

op
la infraestructura hardware de un proveedor externo. Así, el proveedor será el propietario de la

ur
infraestructura física y la ofrece como servicio a los usuarios mediante entornos que les permitan
oe
gestionarlos con cierta facilidad.
ut

En el mercado podemos encontrar numerosos proveedores y ejemplos de Infraestructura como


it

Servicio, pero en esta unidad didáctica haremos mención a un ejemplo de gran utilidad:
st
.in

Rackspace Cloud (https://www.rackspace.com/es/cloud)


s

Rackspace Cloud es otro proveedor de gestión de infraestructuras cloud, fundada en Estados Unidos
do

pero con oficinas en Australia, Reino Unido, Suiza, Israel, Países Bajos, India y Hong Kong.
ca

Destaca su gran variedad de servicios cloud que ofrece, entre otros:


ifi
rt

Cloud files: Almacenamiento de objetos en línea para archivos y medios. Permite almacenar
ce

cualquier tipo de archivo, incluso los de gran tamaño.

Cloud servers: Máquinas virtuales administradas y servidores dedicados en la nube.

Cloud sites: Solución de hospedaje Premium para desarrolladores. Permite un gran volumen

de tráfico de red, lo que garantiza la disponibilidad del servicio en todo momento y evita caídas

del servidor.

Cloud monitoring: Monitorización remota y personalizable de toda la infraestructura cloud,

de modo que se logra la detección y solución precoz de cualquier tipo de incidencia.

Cloud databases: Base de datos con rendimiento optimizado para las aplicaciones alojadas en

certificados.institutoeuropa.com
65 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

la nube.

Cloud block storage: Ofrece almacenamiento confiable y de alto rendimiento atendiendo a las

aplicaciones hospedadas en Cloud Servers.

m
co
a.
op
ur
oe
ut
it
st

PaaS
.in

Una plataforma como servicio (platform as a service) o PaaS es una categoría de servicios en la
s

nube que facilita una plataforma y un entorno de tal forma que los desarrolladores pueden crear
do

aplicaciones y servicios que funcionen a través de internet.


ca

Del mismo modo que en la infraestructura como servicio, los servicios PaaS están alojados en la
ifi

nube y los usuarios pueden acceder a ellos a través de su navegador web.


rt
ce

Se trata de un modelo que permite a los desarrolladores y usuarios la creación de aplicaciones

software a través de herramientas facilitadas proveedor. Así, estos servicios PaaS pueden estar

formadas por una serie de funcionalidades preconfiguradas a los que los usuarios pueden

suscribirse, eligiendo así aquellas que deseen incluir en sus aplicaciones software para satisfacer

sus necesidades y descartando las que no tengan necesidad de utilizar.

De este modo, un paquete PaaS puede ofrecer múltiples variaciones: desde un entorno simple que

no requiera ningún tipo de conocimiento específico o instalación especial por parte del cliente, hasta

certificados.institutoeuropa.com
66 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

el suministro de funcionalidades de infraestructura para un desarrollo más avanzado.

El proveedor Paas realiza la gestión de la infraestructura y de las aplicaciones en nombre del

cliente y facilita también soporte técnico continuo, de forma que realiza actualizaciones constantes,

mejora las funcionalidades ya existentes y añade continuamente nuevas funcionalidades.

Por otra parte, los proveedores PaaS pueden también colaborar con los mismos clientes

desarrolladores en cualquier fase del desarrollo: desde la formulación y concepción de una idea

m
hasta la creación de la aplicación en sí, las fases de prueba o la implantación.

co
Del mismo modo que en la mayoría de servicios cloud, los servicios PaaS utilizan el sistema de pago

a.
por uso, en el que el proveedor sólo factura y cobra a su cliente por los servicios que ha utilizado y

op
el período de utilización de los mismos.

ur
Algunas de las funcionalidades que puede ofrecer un proveedor PaaS son las siguientes:
oe
ut

Sistemas de gestión de bases de datos.


it

Software de servidor.
st

Sistemas operativos.
.in

Soporte técnico.

Servicio de almacenamiento.
s
do

Servicio de acceso a la red.

Herramientas de diseño y desarrollo de aplicaciones software.


ca

Servicios de hosting.
ifi
rt

Se trata de un modelo que aporta numerosas ventajas a cualquier tipo de cliente, tanto a las
ce

empresas como a los desarrolladores de software como a los programadores de sitios web.

Por ejemplo, una empresa que desarrolla sus propias aplicaciones software pueden aprovechar un

servicio PaaS para crear entornos de pruebas independientes y aislados de entornos de desarrollo.

Las principales ventajas que puede aportar un servicio PaaS a los desarrolladores de aplicaciones

son las siguientes:

Falta de infraestructura física: El hecho de poder arrendar una infraestructura virtual

certificados.institutoeuropa.com
67 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

supone un importante ahorro en costes a cualquier negocio. Se ahorra la adquisición de

hardware y la inversión en infraestructura física. Por otra parte, también se ahorra la

necesidad de disponer de personal especializado en la administración y mantenimiento de

dicha infraestructura, lo que supone un ahorro tanto económico como en tiempo de formación.

m
co
a.
op
ur
oe
ut
it
st
.in

Escalabilidad: De igual modo que en los demás servicios cloud, PaaS es un servicio escalable

lo que permite al cliente contratar los recursos que necesite en cada momento, si necesidad de
s
do

realizar inversiones en capacidad fija que no vaya a utilizarse en momentos de baja actividad.
ca

Formación: Con algunas propuestas de servicio PaaS, no se requiere formación específica

para su utilización, de modo que cualquiera con conocimientos básicos puede desarrollar una
ifi

aplicación simple.
rt

Flexibilidad: El control que pueden ejercer los clientes sobre las herramientas que se instalen
ce

en sus plataformas es total. Además, se le ofrece al cliente la posibilidad de crear una

plataforma que esté completamente adaptada a sus necesidades concretas, debiendo

simplemente seleccionar las funcionalidades que requiera.

Adaptabilidad: Las funcionalidades que requiera el cliente pueden modificarse según las

necesidades y requerimientos de éste en cada momento.

Colaboración: Para acceder a las funcionalidades de la PaaS sólo se necesita una conexión a

Internet y un navegador web, lo que permite que los desarrolladores puedan trabajar de forma

certificados.institutoeuropa.com
68 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

simultánea desde distintas ubicaciones y colaborar conjuntamente en el desarrollo de la

aplicación.

Seguridad: El proveedor ofrece herramientas y mecanismos que permiten mantener un nivel

óptimo de seguridad de la información, entre ellos la protección de los datos y la realización y

recuperación de copias de seguridad.

Disponibilidad: Un servicio PaaS llega a tener una disponibilidad del 99,99% asegurando así

al cliente que no va a tener prácticamente ninguna interrupción en el servicio.

m
No obstante, no todo son ventajas. También es importante comentar una serie de inconvenientes

co
que conviene tener en cuenta cuando se pretende contratar una solución PaaS:

a.
Duración del contrato: Los contratos con proveedores de PaaS suelen ser de larga duración,

op
lo que supone una elevada dependencia por parte del cliente.

ur
Herramientas muy limitadas: En la gran mayoría de soluciones PaaS, las herramientas que
oe
facilita el proveedor para desarrollar aplicaciones software suelen ser muy limitadas.

Alta dependencia del proveedor: Cambiar de proveedor suele convertirse en una tarea de
ut

gran complejidad ya que no suelen disponer de herramientas de desarrollo software


it

compatibles y es muy frecuente encontrarnos con trabas en el contrato o en la migración de los


st

datos.
s .in

Aunque las desventajas son importantes, como podemos observar, las ventajas pueden ser muy
do

superiores a los inconvenientes, aunque siempre dependerá del tipo de aplicaciones que se
ca

pretendan gestionar y de las necesidades de cada negocio.


ifi

En resumen, una propuesta de PaaS facilita un entorno de trabajo para el desarrollo de las
rt

aplicaciones. Es decir, el proveedor ofrece tanto la arquitectura como la infraestructura general


ce

necesaria para poder desarrollar una aplicación, lo que puede incluir todo tipo de recursos como

recursos de red, almacenamiento de datos, servicios de administración de aplicaciones o soporte

técnico, entre muchos otros.

SaaS

El Software como Servicio (Software as a service o SaaS) hace referencia a cualquier servicio

cloud en el cual los consumidores puedan acceder a las aplicaciones software a través de la red.

certificados.institutoeuropa.com
69 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

Estas aplicaciones están hospedadas en la nube y pueden ser utilizadas para llevar a cabo multitud

de tareas, tanto particulares como de cualquier tipo de organización.

Son ejemplos de SaaS las conocidas redes sociales Google, Twitter, Facebook o incluso Flickr y los

usuarios pueden acceder a ellas desde cualquier dispositivo que esté conectado a la red. Así, los

usuarios pueden utilizar una solución SaaS para resolver necesidades de lo más variadas: desde

llevar la contabilidad de una empresa, como realizar un seguimiento de ventas o una planificación de

un proyecto y las comunicaciones entre los empleados.

m
co
a.
op
ur
Este modelo también es conocido como “software a demanda” ya que, en definitiva, se trata de
oe
contratar el software que el usuario necesita en lugar de desarrollarlo dentro de la misma
ut

organización y utilizar una infraestructura propia.


it
st

Mientras que en las aplicaciones tradicionales, el software se adquiría como un paquete integrado
.in

y se instalaba en el ordenador del usuario, con una solución SaaS el cliente se suscribe al software

durante un período de tiempo determinado, que suele tratarse de una suscripción mensual. Así, las
s
do

aplicaciones se adquieren y utilizan a través de internet y los archivos que se utilizan, en lugar de

almacenarse en el disco duro del cliente, se almacenan en la red.


ca
ifi

Las ventajas que un modelo SaaS puede aportar a sus clientes, tanto empresas como particulares,
rt

son las siguientes:


ce

Costes reducidos: No requiere un coste o una inversión adicional de hardware, ya que la

potencia de procesamiento suficiente para hacer funcionar las aplicaciones las facilita el

proveedor cloud.

Reducidos costes de alta: Las aplicaciones están disponibles desde el mismo momento en el

que el usuario contrata el servicio, de modo que el tiempo de interrupción del servicio es

extremadamente reducido.

Pago por uso: Del mismo modo que en los modelos PaaS e Iaas, el proveedor sólo cobra por

certificados.institutoeuropa.com
70 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

aquellos servicios que utiliza y el tiempo que los utiliza. Además, las suscripciones pueden

cancelarse en cualquier momento.

Escalabilidad: El uso del servicio es completamente escalable de modo que, si un cliente

requiere más espacio de almacenamiento o contratar algún servicio adicional, puede acceder a

ellos sin necesidad de instalar más software.

Actualizaciones automáticas: Las actualizaciones están siempre disponibles online de forma

inmediata para los clientes y, en general, gratuitamente. No se necesita ningún software nuevo

m
y generalmente las actualizaciones son desplegadas automáticamente por el proveedor.

co
Compatibilidad: Se puede acceder a las aplicaciones SaaS desde cualquier dispositivo que

disponga de conexión a internet, por lo que un mismo usuario puede utilizar varios dispositivos

a.
sin encontrar diferencia alguna entre ellos.

op
Accesibilidad: La aplicación SaaS puede estar accesible desde cualquier ubicación y

ur
dispositivo con acceso a la red. oe
Personalización: Algunas aplicaciones software ofrecen la posibilidad de personalizarse, es
ut

decir, se pueden modificar para adaptarlas a las necesidades y a la imagen de marca del

cliente.
it
st
.in

El mejor ejemplo que podemos encontrar de un modelo SaaS en un negocio lo encontramos en los

software ofimáticos. De hecho, cualquier tarea relacionada con la contabilidad, facturación, ventas
s
do

y planificación pueden ser ejecutadas bajo la modalidad de software como servicio.


ca

Las ventajas que un modelo SaaS puede aportar a sus clientes, tanto empresas
ifi

como particulares, son las siguientes:


rt

Costes aumentados.
ce

Reducidos costes de alta.

Pago por uso.

Compatibilidad.

Así, el cliente que contrate un servicio SaaS, puede conseguir el software que necesita

certificados.institutoeuropa.com
71 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

suscribiéndose a él y, a partir de ese momento, acceder online a dicho software desde cualquier

ordenador o dispositivo de su oficina o de cualquier otra ubicación, simplemente introduciendo un

nombre de usuario y una contraseña.

Además, si por cualquier motivo cambian sus necesidades, el cliente podrá cambiar fácilmente al

software que mejor se adapte a ellas. Sea como fuere, una solución SaaS puede ser de gran

utilidad para cualquier a que necesite acceder a un software determinado, sea una única persona

o sea una gran corporación con cientos de trabajadores.

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
72 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

Recuerda

[[[Elemento Multimedia]]]

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
73 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

Autoevaluación

Amazon Web Services…

Amazon Web Services es un grupo de servicios de computación en la nube ofrecidos a


través de internet por Amazon.

m
Amazos Web Services es un grupo de servicios de almacenamiento en la nube

co
ofrecidos a través de internet por Amazon.

a.
op
Amazos Web Services es un grupo de servicios de programación en la nube ofrecidos
a través de internet por Amazon.

ur
oe
Una nube privada…
ut
it

Se trata de nubes en las que se aplica la tecnología de cloud computing pero con un
st

modelo de carácter privado.


s .in

Se trata de nubes en las que se aplica la tecnología de cloud computing pero con un
do

modelo de carácter público.


ca
ifi

Se trata de nubes en las que se aplica la tecnología de cloud computing pero con un
modelo de carácter comunitario.
rt
ce

Google Cloud Platform…

Es una suite de servicios de computación en la nube que se ejecuta en el equipo local.

Es una suite de servicios de computación en la nube que se ejecuta en una


infraestructura distinta a la de Google.

certificados.institutoeuropa.com
74 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080717] CLOUD COMPUTING.

Es una suite de servicios de computación en la nube que se ejecuta en la misma


infraestructura que Google usa internamente para sus productos finales.

Indica si la siguiente afirmación es verdadera o falsa: “El IaaS, Infraestructura


como servicio o Infraestructure as a Service se puede definir como un modelo de
servicio en el que el hardware está virtualizado en la nube”.

m
Verdadero.

co
a.
Falso.

op
ur
Indica si la siguiente afirmación es verdadera o falsa: “Una plataforma como
oe
servicio es una categoría de equipos en la nube que facilita una plataforma y un
entorno”.
ut
it

Verdadero.
st
.in

Falso.
s
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
75 / 75
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080718] ADMINISTRACIÓN DE SISTEMAS BIG.

Introducción

Para administrar un sistema big hay que asegurar que en todo momento los datos estén

autorizados, organizados y con los permisos de usuario necesarios dentro de una base de datos.

A la vez hay que intentar tener el menor número de errores posible a la vez que se mantiene la

seguridad y privacidad.

m
Unos pasos recomendados para conseguir este objetivo serían:

co
Acceso y autorización a los datos de forma granular

a.
En todo sistema big hay que controlar el acceso y esto se puede lograr con controles granulares a

op
través de expresiones.

ur
Estas expresiones utilizan agrupación y lógica booleana para garantizar tanto el acceso como la
oe
autorización y los permisos se basan en roles y configuraciones de vista.
ut
it

Los administradores tienen mayor visibilidad y acceso mientras que a niveles más bajos el acceso
st

es menor y se tienen menos vistas.


.in

Seguridad, protección de datos y autentificación


s
do

Tiene que haber seguridad en el punto final de la cadena. Es muy importante poner un cortafuegos
ca

alrededor de los datos que esté integrado con los sistemas y estándares de autentificación.
ifi

Para la autentificación hay que integrarse con LDAP (Lightweight Directory Access Protocol),
rt

Active Directory y otros servicios.


ce

Para el soporte de autentificación también se puede usar herramientas como Kerberos.

Lo importante es integrarse en la estructura ya existente.

Encriptación y tokenización de datos

Después de proteger el perímetro mediante cortafuegos y otorgar el acceso granular a los datos, hay

que asegurarse que los archivos y datos estén encriptados y tokenizados entre los extremos del

pipeline de datos.

certificados.institutoeuropa.com
1 / 30
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080718] ADMINISTRACIÓN DE SISTEMAS BIG.

Este paso es muy importante para garantizar la seguridad.

Auditoría y análisis

Para mantener esta estrategia, hay que hacer constantes auditorías y análisis.

Es fundamental que se pueda rastrear los accesos y reconocer patrones de los datos para analizarlos

y corregir la estrategia en caso de que se encuentren errores.

m
Esta auditoría y análisis puede ser tan facil como seguir los archivos JSON.

co
Arquitectura de datos unificada

a.
op
El responsable del sistema tiene que supervisar todos estos detalles de acceso y encriptación de los

datos y como estos integran en la arquitectura de forma global.

ur
oe
Hay que ver también como se consigue que la infraestructura sea escalable y segura.
ut

Esta arquitectura es más que un conjunto de reglas para la seguridad, es una arquitectura única
it

en la que se crean roles y se sincronizan mediante la plataforma y las herramientas que se aportan a
st

ella.
s .in
do

Cloudera:
Es una compañía que proporciona software basado en Apache Hadoop. De este software nosotros
ca

nos vamos a centrar en cloudera-manager.


ifi
rt
ce

Cloudera-manager:
Nos permite rápidamente desplegar un clúster optimizado para las especificaciones de nuestro

sistema. Nos provee una interfaz centralizada para configurar fácilmente el cluster y administrar los

recursos.

certificados.institutoeuropa.com
2 / 30
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080718] ADMINISTRACIÓN DE SISTEMAS BIG.

Objetivos

La presente unidad está orientada a alcanzar los siguientes objetivos:

Conocer la administración de sistemas BIG

Conocer las diferentes herramientas de Administración

Gestionar los sistemas con Cloudera

Estudiar los procesos de optimización y seguridad

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
3 / 30
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080718] ADMINISTRACIÓN DE SISTEMAS BIG.

Mapa Conceptual

[[[Elemento Multimedia]]]

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
4 / 30
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080718] ADMINISTRACIÓN DE SISTEMAS BIG.

Administración e Instalación de clusters: Cloudera y


Hortonworks.

Cloudera fue desarrollada en 2008 en la unión de 3 ingenieros de Facebook, Google y Yahoo con un

ejecutivo de Oracle.

Este último (Mike Olson) era el CEO de Sleepycat Software que fue la empresa que creo Berkeley

DB.

m
co
Amr Awadallah (Yahoo) había trabajado desarrollando una de las primeras unidades de negocio en

a.
la que se utilizaba Hadoop para analizar los datos.

op
Jeff Hammerbacher (Facebook) usó Hadoop para desarrollar aplicaciones de análisis de volúmenes

ur
muy grandes de datos de usuarios. oe
A mediados de 2013, Tom Reilly (Era director ejecutivo en ArcSight cuando la compró HP en 2010)
ut

pasó a ser director ejecutivo mientras que Mike Olson seguía siendo presidente y director
it

estratégico de la empresa.
st
.in

Características
s

Cloudera ofrece las siguiente características:


do
ca

Escalabilidad: Se moderniza la arquitectura mediante el paso a un EDH.


ifi

Fiabilidad: Excelente rendimiento a un bajo coste. Es la distribución principal de

Apache Hadoop.
rt
ce

Enterprise: Gestiona fácilmente Hadoop.

Abierta: Es el mayor contribuyente al repositorio de código de Hadoop.

Cloudera ofrece las siguiente características:

Escalabilidad.

Fiabilidad.

certificados.institutoeuropa.com
5 / 30
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080718] ADMINISTRACIÓN DE SISTEMAS BIG.

Cerrada.

Enterprise.

Cloudera ofrece servicios, software y soporte en 3 paquetes:

Cloudera Enterprise: Incluye CDH (Cloudera Distribution Hadoop) y una licencia

m
anual a Cloudera Manager además de soporte técnico. Existen 3 modos: Basic,

co
Flex y Data Hub.

a.
Cloudera Express: Incluye CDH y Cloudera Manager sin características de

op
negocio.

CDH: Se puede bajar también simplemente la distribución básica sin soporte

ur
técnico ni Clouder Manager.
oe
ut

CDH tiene el núcleo, los principales elementos que proporciona Hadoop y componentes específicos
it

para empresas.
st
.in

A finales de 2012, Cloudera crea el proyecto Cloudera Impala que es un motor de código abierto
s

distribuido para Apache Hadoop.


do
ca

Ventajas de Cloudera
ifi

Cloudera ofrece las siguientes ventajas:


rt
ce

Capacidad de adaptación.

Crecimiento para los negocios a partir de los datos.

Software con código abierto (Open-source).

Información de calidad mediante Clarcat.

Supongamos que tenemos tres equipos los cuales vamos a utilizar para el clúster y un equipo que

será el administrado. Lo primera será desactivar la seguridad SElinux en todos los equipos.

Editaremos el archivo /etc/selinux/config.

certificados.institutoeuropa.com
6 / 30
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080718] ADMINISTRACIÓN DE SISTEMAS BIG.

Buscaremos la propiedad SELINUX y la pondremos disabled.

Cada equipo del clúster deberá de tener un nombre host único que haga referencia a él. Podemos

utilizar el comando hostname nombre para cambiar el hostname.

Una vez tengamos el nombre modificaremos el archivo /etc/hosts y añadiremos el hostname y la ip

de todos los equipos del clúster y del administrador en todos los equipos.

Una vez hecho esto en el administrador instalaremos Cloudera-Manager.

m
co
Wget https://www.cloudera.com/downloads/hortonworks-sandbox.html

a.
Una vez descargado el paquete le daremos permisos de ejecución y lo ejecutaremos.

op
Nos aparecerá un asistente en el que iremos avanzando con las opciones por defecto:

ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

Al finalizar nos saldrá la siguiente ventana indicando que ya podemos acceder al servidor web:

certificados.institutoeuropa.com
7 / 30
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080718] ADMINISTRACIÓN DE SISTEMAS BIG.

m
co
Accederemos al servidor como admin/admin:

a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt

Nos pedirá elegir que edición queremos utilizar elegiremos la Cloudera Enterprise Data Hub:
ce

certificados.institutoeuropa.com
8 / 30
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080718] ADMINISTRACIÓN DE SISTEMAS BIG.

m
co
a.
op
Una vez seleccionada elegiremos los equipos que usaremos en el cluster:

ur
oe
ut
it
st
s .in
do

Es importante que nuestros nodos tengan un servidor SSH funcionando con una clave privada
ca

creada o si todos los nodos presentan el mismo usuario y contraseña podremos utilizarlo también en
ifi

vez de la clave:
rt
ce

certificados.institutoeuropa.com
9 / 30
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080718] ADMINISTRACIÓN DE SISTEMAS BIG.

m
co
a.
op
En este caso vamos a utilizar la clave privada.

ur
Una vez elegido iniciara la instalación de cloudera-manager-agente en cada nodo.
oe
Una vez instalado nos aparecerá una serie de ventanas en las que avanzaremos con las opciones
ut

por defecto.
it
st

Una vez hayamos finalizado se nos iniciarán cada uno de los dominios en cada nodo:
s .in
do
ca
ifi
rt
ce

Y se nos mostrará la ventana principal:

certificados.institutoeuropa.com
10 / 30
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080718] ADMINISTRACIÓN DE SISTEMAS BIG.

m
co
a.
op
ur
oe
Ya tendremos nuestro cluster hadoop administrado con cloudera-manager.
ut

HortonWorks
it
st

HortonWorks es una compañía de software de big data. La compañía desarrolla Apache Hadoop,
.in

para el procesamiento de big data a traves de clusters de ordenadores.


s

Se formó a mediados de 2011 financiado por Yahoo y Benchmark Capital como una compañía
do

independiente.
ca

La primera oficina se situó en Sunnyvale, California.


ifi
rt

HDP (Hortonworks Plataforma de Datos) incluye Hadoop y se usa para guardar, procesar y analizar
ce

volúmenes de datos muy grandes.

Esta plataforma incluye tecnologías Hadoop como pueden ser MapReduce, Pig, HBase, Hive,

ZooKeeper,...

Asociaciones

Hortonworks se asocia con varias compañías de software en las que incluye BMC Software para

administrar servicios empresariales y automatización, SAP y VMware para la nube y base de datos,

Attunity31 y Cleo para integrar datos y Stratoscale.

certificados.institutoeuropa.com
11 / 30
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080718] ADMINISTRACIÓN DE SISTEMAS BIG.

En el año 2015, Hortonworks empezó a asociarse con ManTech Servicios Comerciales y B23 para

el desarrollo OpenSOC.

Vamos a utilizar la Hortonwork para crear nuestro cluster.

Vamos a utilizar una maquina CentOS.

De igual manera que con Cloudera deberemos desactivar la seguridad selinux, en el archivo host

poner el hostname de nuestra maquina y configurar ssh para poder acceder a la maquina sin

m
necesidad de contraseña.

co
a.
Una vez realizado estos pasos como con cloudera nos descargaremos e instalaremos Hortonworks

op
Data Platform With HMC.

ur
Instalaremos los paquetes extra para linux enterprise: oe
yum install epel-release
ut

Instalaremos HMC:
it
st

Yum install hmc


.in

Iniciaremos el servicio HMC:


s
do

Service hmc start


ca

Y detendremos el firewall:
ifi
rt

/etc/init.d/iptables stop
ce

Una vez hecho esto nos iremos a la página principal de Hortonworks http://localhost/hmc/html y

seguiremos los pasos del asistente hasta que lleguemos a esta ventana:

certificados.institutoeuropa.com
12 / 30
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080718] ADMINISTRACIÓN DE SISTEMAS BIG.

m
co
a.
op
ur
oe
Cambiaremos el punto de montaje propuesto por el asistente a otro como por ejemplo /data y
ut

seguiremos con el asistente. Una vez que la instalación se haya realizado veremos la siguiente
it

ventana:
st
s .in
do
ca
ifi
rt
ce

Ahora podremos irnos al tablero principal para ver el estado de nuestro clúster:

certificados.institutoeuropa.com
13 / 30
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080718] ADMINISTRACIÓN DE SISTEMAS BIG.

m
co
a.
op
ur
oe
Ya tendríamos nuestro clúster listo y funcionando.
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
14 / 30
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080718] ADMINISTRACIÓN DE SISTEMAS BIG.

Optimización y monitorización de servicios.

En primera instancia, la abstracción del hardware que supone la utilización de servicios en la nube

puede dar una sensación de menor seguridad respecto a los modelos tradicionales. Si bien es cierto

que en algunos modelos se puede perder cierto control de seguridad sobre dichos servicios, si las

políticas de seguridad del proveedor se definen correctamente y el cliente las ejecuta debidamente,

la utilización de la nube para gestionar información puede suponer una mejora en la seguridad.

m
A diferencia de los modelos de computación tradicional, el usuario final desconoce dónde se

co
almacena su información, por lo que el hecho de trasladar toda la información a la nube puede

a.
significar para el usuario “confiar la seguridad a terceros” y, en consecuencia ser motivo de

op
preocupación.

ur
De este modo, pueden plantearse una serie de preguntas clave en la estrategia de seguridad en la
oe
nube, como las siguientes:
ut

¿Dónde están desplegados los datos?


it

¿Qué protección tienen?


st

¿Quién se responsabiliza de los datos y de su protección?


s .in

Si preguntásemos a los grandes proveedores, su respuesta sería clara: la responsabilidad de los


do

datos cae siempre sobre el cliente y debe partir de este. Cuando una organización quiere migrar a
ca

la nube y trasladar sus datos, debe tener claro qué preferencias tiene y manifestarlas al proveedor.
ifi

Así, el proveedor podrá diseñar un servicio específico para la organización que cumpla
rt

específicamente todos los requisitos que ésta manifieste.


ce

Una de las principales críticas negativas en relación al cloud computing es, como se ha ido

comentando en unidades anteriores, la relativa a la seguridad y el control de los datos. En un

principio, parece que las empresas tienen un control más firme sobre los datos almacenados en su

infraestructura propia que si los traslada a una nube y, más si se trata de una nube pública.

No obstante, la nube puede disponer de mayor grado de protección y seguridad que un centro de

datos tradicional, aunque la forma de incrementar la seguridad en un modelo y otro sea

completamente diferente.

certificados.institutoeuropa.com
15 / 30
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080718] ADMINISTRACIÓN DE SISTEMAS BIG.

El cloud computing dispone de ciertas características específicas que requieren un análisis y una

evaluación de los riesgos en diferentes áreas de la organización como, por ejemplo, las siguientes:

Integridad de los datos.

Recuperación de los datos.

Privacidad de los datos.

Normativa de regulación.

Auditoría de los Sistemas de Seguridad de la Información.

m
co
Por ello, la evaluación de los riesgos y de la seguridad en la nube supone en un primer momento

a.
tener que considerar las distintas opciones de despliegue en la nube (nube privada, pública o

op
híbrida) y los modelos de entrega de servicios (SaaS, IaaS, PaaS,…). Aunque es imposible que los

ur
controles de seguridad preestablecidos cubra todas las posibles circunstancias e incidencias, la
oe
adopción de estrategias enfocadas al análisis de riesgos para decidir la migración a la nube es la

mejor opción y ayuda para decidir y seleccionar las mejores opciones de seguridad para la
ut

protección de la información de la organización.


it
st

El cloud computing dispone de ciertas características específicas que requieren


.in

un análisis y una evaluación de los riesgos en diferentes áreas de la organización


como, por ejemplo, las siguientes:
s
do

Integridad de los datos.


ca

Recuperación de los datos.


ifi
rt

Publicidad de los datos.


ce

Normativa de regulación.

A lo largo de la presente unidad, iremos comentando los principales retos, riesgos y amenazas de

seguridad relacionados con el cloud computing, además de las principales normativas de seguridad

de obligatorio cumplimiento para toda organización.

certificados.institutoeuropa.com
16 / 30
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080718] ADMINISTRACIÓN DE SISTEMAS BIG.

Gestión de riesgos en el negocio

La gestión de los riesgos efectivos de todo negocio en entornos de computación en la nube proviene

de una falta de atención y precaución en los procesos de gobierno de la seguridad de la

información.

Inicialmente, si los procesos de seguridad de la información se desarrollan debidamente se puede

lograr una política de gestión de la seguridad escalable completamente con el negocio, además de

obtener información medible, sostenible, defendible, en mejora continua y rentable siempre en

m
concordancia con los objetivos marcados por la organización.

co
a.
op
ur
oe
ut
it

Sin embargo, los principales problemas en la gestión de riesgos de la empresa en cloud computing
st

se refieren a los siguientes aspectos:


s .in

Identificación e implementación de las estructuras.


do

Implementación de procesos y controles organizativos adecuados para una gestión de riesgos


ca

óptima y un cumplimiento normativo efectivo.

Falta de garantías de seguridad de la cadena de suministro de la información en todos sus


ifi

actores: proveedores, usuarios de servicios cloud, terceros distribuidores, etc.


rt
ce

Por ello, se formulan una serie de recomendaciones para una correcta gestión y gobierno de los

riesgos asociados a la computación en la nube consiguiendo así un funcionamiento optimo.

Recomendaciones para una correcta gestión de riesgos

Del mismo modo que en cualquier proceso dentro de una organización, resulta imprescindible

disponer de unas buenas prácticas para la gestión de riesgos. Estas buenas prácticas deben ser

proporcionales a las peculiaridades de los servicios en la nube contratados, que pueden ir desde el

simple procesamiento de datos inofensivos hasta unos procesos de negocio críticos con una

certificados.institutoeuropa.com
17 / 30
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080718] ADMINISTRACIÓN DE SISTEMAS BIG.

información confidencial e imprescindible para la buena marcha de la organización.

Sea como fuere, se establecen una serie de recomendaciones específicas para el cloud computing

que toda empresa debería tener en cuenta para los procesos de gestión de riesgos:

En numerosas ocasiones, y como se ha comentado ya varias veces, se produce una falta de

control físico sobre la infraestructura en la gran mayoría de modelos de despliegue de cloud

computing. Por ello, los contratos de nivel de servicio, los requisitos establecidos en los

m
contratos y la documentación del proveedor requieren un minucioso y detallado análisis y

co
cuidado; más incluso que el control de la infraestructura tradicional propiedad del negocio.

a.
La contratación de servicios a la carta y la multiposesión relacionados con el cloud computing

op
generan que las auditorías y los procesos de evaluación tradicionales no sean adecuados para

la gestión de riesgos y requieran modificaciones para garantizar la seguridad.

ur
La estrategia de gestión de riesgos debe incluir siempre los siguientes aspectos clave:
oe
ut

Identificación y valoración de los activos.


it

Identificación y análisis de amenazas y vulnerabilidades, además del potencial impacto de éstos


st

en los activos.
.in

Análisis de la probabilidad de ocurrencia de los distintos eventos y escenarios posibles.


s

Establecimiento de niveles y criterios de aceptación de riesgos.


do

Desarrollo de planes de gestión y tratamiento de riesgos incluidos en los contratos de


ca

prestación de servicios cloud.


ifi

Los inventarios de los activos deben incluir también aquellos activos que acojan servicios en la
rt

nube y que estén controlados por el proveedor.


ce

certificados.institutoeuropa.com
18 / 30
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080718] ADMINISTRACIÓN DE SISTEMAS BIG.

4. Las estrategias de evaluación de riesgos establecidas entre el proveedor y la empresa deben


ser sistemáticas, con unos criterios preestablecidos para el análisis de impactos y el establecimiento
de probabilidades de ocurrencia de eventos. El proveedor y la empresa deben establecer
conjuntamente los distintos escenarios de riesgo posibles por la contratación de servicios cloud.
5. No sólo el distribuidor del servicio debe ser objeto de la evaluación de riesgos, sino que también
debe serlo el servicio en sí. Tanto la utilización de servicios cloud, como los modelos de servicio y
despliegue a implantar y utilizar deben ir en concordancia con los objetivos de gestión de riesgos
definidos por la organización y con los objetivos de negocio en general.
6. En el momento en el que un proveedor no pueda demostrar una cierta efectividad y control de sus
procesos de gestión de riesgos, las organizaciones deben evaluar con más detalle la utilización del
distribuidor y sus propias capacidades para compensar posibles deficiencias y lagunas en la gestión.

m
Toda organización, además, debe cuestionarse si en su seno se han definido tolerancias al riesgo

co
con los servicios cloud y la aceptación de posibles riesgos residuales derivados de la utilización de

a.
estos servicios

op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
19 / 30
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080718] ADMINISTRACIÓN DE SISTEMAS BIG.

Seguridad: Apache Knox, Ranger y Sentry.

Los distintos modelos y arquitecturas cloud ya se han establecido como medios viables y rentables

para externalizar desde datos inocuos hasta procesos de negocio enteros. Todo ello implica un

incremento de dificultad sustancial para mantener el cumplimiento de la política de seguridad de

una organización, sobre todo si tenemos en cuenta el posible desconocimiento de la empresa de las

novedades en requisitos normativos y legislativos.

m
En sus inicios, la gran mayoría de normativas y leyes relacionadas con las nuevas tecnologías y con

co
la informática en general no fueron diseñadas teniendo en consideración los preceptos y

a.
características del cloud computing. Por ello, es muy probable que tanto los auditores de

op
seguridad como los asesores no estén lo suficientemente familiarizados con los servicios cloud en

general y con algún servicio de computación en la nube en particular.

ur
oe
Así, es importante que el cliente de la nube se encargue de gestionar los siguientes
ut

aspectos:
it

La aplicabilidad normativa de servicios concretos en la nube.


st

La asignación de responsabilidades relacionadas con el cumplimiento normativo en el


.in

proveedor y el cliente del servicio cloud.


s
do

La comprobación de la capacidad del proveedor para proveer evidencias para el cumplimiento

legislativo.
ca

El papel del cliente del servicio en el momento de relacionar el proveedor del servicio cloud y
ifi

el auditor o asesor encargado de realizar las comprobaciones del servicio.


rt
ce

Para garantizar el debido cumplimiento normativo por parte de la empresa y la correcta gestión y

elaboración de auditorías de seguridad, se formulan una serie de recomendaciones:

Establecer la debida implicación de los equipos legales y contractuales. Es muy

probable que los términos contractuales estándares del proveedor de la nube no cumpla con las

necesidades de cumplimiento de la organización, lo que implica la necesidad de implicación de

su equipo legal en la elaboración del contrato y en la negociación de las condiciones para

garantizar el cumplimiento normativo.

certificados.institutoeuropa.com
20 / 30
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080718] ADMINISTRACIÓN DE SISTEMAS BIG.

Establecer una cláusula de derecho a auditoría. Habitualmente, todo cliente de servicio

cloud necesita poder auditar al proveedor del servicio cloud. Por ello, es especialmente

importante que en el contrato de prestación de servicios exista una cláusula en la que se

mencione el derecho a auditar por parte del cliente (sobre todo en casos en los que el cliente

tiene responsabilidades de cumplimiento normativo).

Analizar el alcance del cumplimiento normativo. Ello implica determinar si las distintas

normativas y leyes de obligado cumplimiento por parte de la empresa pueden verse afectadas

m
por la utilización de servicios cloud.

co
a.
op
ur
oe
ut
it

Analizar el impacto de la normativa vigente en la seguridad de la información. Los clientes


st

de los servicios cloud deben considerar cuáles deben ser las aplicaciones y datos que se desean
.in

trasladar a la nube y hasta qué punto puede vulnerarse alguna normativa relacionada con ellos.
s

Evaluar y revisar los principales proveedores de servicios cloud y sus socios para
do

garantizar que las relaciones entre éstos no tengan consecuencias negativas ante el
ca

cumplimiento normativo. Así, se recomienda en todo momento evaluar a los proveedores de


ifi

servicios que están procesando información, la normativa a la que están sujetos, los controles
rt

de seguridad que éstos proporcionan y la relación que tienen con terceros distribuidores.
ce

Entender perfectamente las responsabilidades contractuales asignadas por las normativas

de protección de datos, tanto a nivel local como global. Desde el punto de vista contractual, es

fundamental para el cliente comprender los requisitos específicos y garantizar que los

contratos de servicios y de nivel de servicio los cubren de forma correcta y óptima.

Analizar el impacto de las normativas sobre la infraestructura del proveedor del servicio.

Hay que considerar que algunos requisitos legislativos pueden exigir determinados controles

difíciles de alcanzar en un servicio cloud.

Analizar el impacto de la legislación en las políticas y procedimientos de la organización

certificados.institutoeuropa.com
21 / 30
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080718] ADMINISTRACIÓN DE SISTEMAS BIG.

en relación al cloud computing. El simple hecho de trasladar información y aplicaciones a la

nube puede conllevar importantes consecuencias en las políticas y procedimientos de la

organización. Por ello, los clientes, antes de decidir la utilización de un servicio en la nube,

deben evaluar cuáles serán las políticas y procedimientos implicados en dicha utilización que

pueden afectar en el cumplimiento de normativas.

Preparar evidencias y métricas sobre cómo se cumple cada requisito normativo

especificado. Toda empresa que contrate un servicio cloud debe desarrollar procesos para

m
recabar y almacenar evidencias del cumplimiento legislativo que incluyan registros de

co
auditoría, informes de actividad, informes de gestión de cambios, resultados de procedimientos

de evaluación, etc.

a.
Evaluar y seleccionar a los auditores. En numerosas ocasiones, la empresa no puede influir

op
en la selección de auditores de seguridad. No obstante, en caso contrario, se recomienda que la

ur
empresa elija a un auditor que esté familiarizado con las peculiaridades de la computación en
oe
la nube. Preguntar al auditor si conoce las características de IaaS, PaaS y Saas es fundamental
ut

para determinar su nivel de conocimiento en la materia.

SAS 70 Type II. Los proveedores de servicios en la nube que pretendamos contratar deberían
it
st

tener como mínimo la certificación de auditoría SAS 70 Type II. Esta certificación garantiza
.in

que los controles de seguridad se están implementando tal como está documentado y que

cumplen con los requisitos.


s
do

ISO 27001/27002. Los proveedores de la nube que prestan servicios críticos deberían contar

con el estándar ISO 27002 para los sistemas de gestión de la información. En el caso de no
ca

disponer de la certificación ISO 27001, el proveedor debería mostrarse conforme con las
ifi

prácticas establecidas en la ISO 27002 y presentar un proyecto y una hoja de ruta para la
rt

obtención de la certificación.
ce

Apache Knox

La pasarela Apache Knox es un sistema que otorga un lugar para el acceso y autentificación únicos

de los servicios Apache Hadoop en un clúster.

Esta pasarela de Knox hace más simple la seguridad de Hadoop para usuarios que entran a los datos

del clúster y realiza trabajos y operadores que controlan el acceso y la gestión del clúster.

certificados.institutoeuropa.com
22 / 30
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080718] ADMINISTRACIÓN DE SISTEMAS BIG.

Es ejecutada como un servidor por lo que proporciona un acceso centralizado a 1 o más clústeres de

Hadoop.

Knox Gateway tiene que desplegarse en la red pública. Si se usa servidor LDAP para logearse con

Knox, también se instalará en la red pública. Los nodos maestros están en redes duales y se pueden

acceder a la pasarela de Knox y el servidor LDAP.

En el siguiente imagen podemos ver un diagrama que expone la configuración que se recomienda

m
para los nodos maestros.

co
a.
op
ur
oe
ut
it
st
s .in
do
ca

Fuente: https://www.ibm.com
ifi
rt

Los nodos de computación pueden desplegarse en redes privadas para que el acceso entre todos
ce

los nodos de computación y los maestros sean con tráfico privado.

Apache Knox se integra con SSO y sistemas de gestión de identidad.

Knox permite proteger varios clústeres de Hadoop mientras el uso de paralelas. Knox amplía los

servicios REST/HTTP de encapsulado Kerberos en el clúster.

Al poderse mostrar los servicios REST/HTTP de Hadoop sin mostrar los detalles de la red, la

seguridad mejora.

certificados.institutoeuropa.com
23 / 30
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080718] ADMINISTRACIÓN DE SISTEMAS BIG.

Apache Knox utiliza una seguridad centralizada de la API mediante el direccionamiento de las

solicitudes a varios clústeres de Hadoop.

Knox Gateway permite LDAP, SSO, Active Directory y otros sistemas para la autentificación.

Puede dar una solución para la seguridad que incluya estas características:

Integración en soluciones empresariales que gestionen identidades

m
Protección de detalles del despliegue del clúster de Hadoop

co
Simplificación del número de servicios con los que un cliente debe interactuar

a.
op
Esta pasarela de Apache Knox se configura para que se ejecute SSL.

ur
Apache Knox solamente permite llamadas API REST para estos servicios Hadoop:
oe
ut

WebHCat

WebHDFS
it
st

HBase
.in

Hive

Yarn
s
do

Oozie
ca

Apache Ranger
ifi
rt

Apache Ranger permite controlar, habilitar y administrar la seguridad de datos sobre la plataforma
ce

Hadoop.

Proporciona seguridad integral sobre Apache Hadoop.

Las empresas que utilicen Ranger pueden ejecutar varias cargas de trabajo en donde hay múltiples

inquilinos.

Dentro de Hadoop la seguridad de los datos tiene que evolucionar para poder admitir varios casos

de uso para acceder a los datos mientras que se otorga un marco central de políticas de seguridad y

certificados.institutoeuropa.com
24 / 30
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080718] ADMINISTRACIÓN DE SISTEMAS BIG.

supervisión del acceso de los usuarios.

Objetivos

Apache Ranger tiene los siguientes objetivos:

Centralización de la administración de la seguridad.

Autorización detallada para la realización de cualquier acción/operación

m
específica.

co
Estandarización del método de autorización.

Mejora del soporte para distintos métodos de autorización.

a.
Centralizar la auditoria de las acciones administrativas y el acceso del usuario.

op
Arquitectura Ranger
ur
oe
ut

La arquitectura Ranger podría representarse según se muestra en la siguiente imagen:


it
st
s .in
do
ca
ifi
rt
ce

Fuente: https://hortonworks.com

certificados.institutoeuropa.com
25 / 30
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080718] ADMINISTRACIÓN DE SISTEMAS BIG.

Cuando un complemento Ranger se activa para un componente (HDFS, HBase,...), Ranger

controlará, de forma total, cualquier acceso.

Existe una comunicación bidireccional entre Ranger y RPS (Servidor de políticas Ranger):

Complementos para RPS: Se llama regularmente para comprobar si se han definido nuevas

políticas en el RAP (Portal de administración de Ranger).

RPS a componentes: El RPS consulta el componente para basar las políticas.

m
co
El primer canal es primordial para que funcione el complemento Ranger mientras que el segundo

a.
canal es opcional.

op
Apache Sentry

ur
oe
Apache Sentry es un módulo basado en roles de autorización granular para Hadoop.
ut

Proporciona la posibilidad de controlar y aplicar niveles de privilegios para los datos en usuarios
it

autentificados y aplicaciones en un clúster de Hadoop.


st

Actualmente, Sentry funciona automáticamente con Apache Hive, Apache Solr, Hive
.in

Metastore/HCatalog, Impala y HDFS.


s
do

Sentry está diseñado para servir como un motor de autorización para los componentes de Hadoop.
ca

Permite crear reglas de autorización.


ifi
rt

Es altamente modular.
ce

Arquitectura Sentry

Apache Sentry tiene una estructura como la que se aprecia en la siguiente imagen:

certificados.institutoeuropa.com
26 / 30
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080718] ADMINISTRACIÓN DE SISTEMAS BIG.

m
Fuente: https://www.cloudera.com

co
Existen tres componentes que están involucrados en el proceso de autorización y son:

a.
op
Servidor Sentry: Gestiona los metadatos de autorización. Permite tener interfaces

ur
para recuperar y trabajar con metadatos de forma segura.

Motor de datos: Aplicación que procesa datos (Como Impala o Hive). Necesita
oe
autorizar el acceso a datos. Este motor de datos carga el plugin de Sentry y todas
ut

las solicitudes de los clientes.


it

Plugin Sentry: Se ejecuta en el motor de datos. Otorga interfaces para poder


st

manipular los metadatos e incluye el motor de política de autorización.


s .in
do

Existen tres componentes que están involucrados en el proceso de autorización.


ca

¿Cuáles de los siguientes se incluyen?


ifi

Servidor Sentry.
rt
ce

Motor Sentry.

Plugin Sentry.

certificados.institutoeuropa.com
27 / 30
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080718] ADMINISTRACIÓN DE SISTEMAS BIG.

Recuerda

[[[Elemento Multimedia]]]

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
28 / 30
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080718] ADMINISTRACIÓN DE SISTEMAS BIG.

Autoevaluación

Cloudera…

Nos permite rápidamente desplegar un clúster optimizado para las especificaciones


de nuestro sistema.

m
Nos permite rápidamente desplegar un sistema para especificaciones de nuestro

co
sistema.

a.
op
Nos permite rápidamente desplegar un servidor optimizado para las especificaciones
de nuestro sistema.

ur
oe
HortonWorks…
ut
it

Es una compañía de software de big data.


st
.in

Es una compañía de auditoria de big data.


s
do

Es una compañía de análisis de big data.


ca
ifi
rt

La gestión de riesgos…
ce

En entornos de computación en la nube proviene de una falta de atención y


precaución en los procesos de gobierno de la seguridad, pero no de la información.

En entornos de computación en la nube proviene de una enorme cantidad de atención


y precaución en los procesos de gobierno de la seguridad de la información.

En entornos de computación en la nube proviene de una falta de atención y

certificados.institutoeuropa.com
29 / 30
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080718] ADMINISTRACIÓN DE SISTEMAS BIG.

precaución en los procesos de gobierno de la seguridad de la información.

Indica si la siguiente afirmación es verdadera o falsa: “Apache Knox es un


sistema que otorga un lugar para el acceso y autentificación únicos de los
servicios Apache Hadoop en un clúster”.

Verdadero.

m
co
Falso.

a.
op
Indica si la siguiente afirmación es verdadera o falsa: “Apache Sentry es un
módulo basado en roles de autorización granular para Hadoop”.

ur
oe
Verdadero.
ut
it

Falso.
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
30 / 30
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

Introducción

No solo es suficiente estudiar los datos de los que disponemos desde un punto de vista analítico,

sino que será clave poder visualizar y generar informes de los volúmenes de datos que manejamos

de una forma rápida, flexible y amigable.

Con el auge y el desarrollo del business Intelligence y la inteligencia analítica de negocio, surgen

diferentes herramientas que facilitan la presentación de los resultados, hablaremos a continuación

m
de las más usadas y conocidas por las funcionalidades que aportan.

co
Tableau

a.
op
Estamos ante una herramienta de visualización de datos interactiva, en donde el usuario puede

interactuar con los datos, comparando, filtrando, conectando unas variables con otras, etc. Su

ur
creciente popularidad quizás se deba a que no está pensado para un usuario técnico de sistemas,
oe
sino que está orientado a que cualquier persona en cualquier ámbito pueda manejar la información
ut

de manera sencilla y presentarla de una forma llamativa.


it

Permite el manejo de bases de datos en Excel, Access, Texto, MySQL, Oracle, o bien se puede usar
st

su API para la extracción sistemática de los datos. Además es multiplataforma y multidispositivo por
.in

lo que se puede acceder a la información desde cualquier lugar.


s
do

Una de las características de mayor relevancia de este software es su integración con R.


ca

Aunque es software propietario se puede adquirir una versión de prueba desde el enlace siguiente:
ifi

https://www.tableau.com/es-es/products/online/request-trial
rt

TIBCO Spotfire es una plataforma de análisis y visualización que permite analizar minuciosamente
ce

los datos. Proporciona un análisis de datos temporales y geospaciales de una manera sencilla y

dinámica, además de permitir el análisis en tiempo real.

Permite el análisis basado en eventos y el procesamiento de eventos particularmente complejos, así

como el análisis de transmisión de datos. A través de Spotfire Application Data Services se puede

conectar a más de 30 bases de datos, permitiendo el descubrimiento de datos, la creación de

cuadros de mando y aplicaciones para el análisis predictivo.

certificados.institutoeuropa.com
1 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

Así mismo se puede hacer análisis predictivo mediante la herramienta Spotfire Predictive

Analytics, lo que permite la anticipación de las tendencias, así como tomar medida preventivas para

minimizar el riesgo y tomar mejores decisiones. Con TIBCO Empresa Runtime para R, se pueden

crear nuevos modelos predictivos ajustados a las necesidades del usuario.

Como desventaja podemos señalar que no dispone de un ETL nativo, por lo que depende de otras

herramientas para la extracción, transformación y carga.

m
Al igual que Tableau es una herramienta distribuida bajo licencia, pero a través de su web

co
https://www.tibco.com/products/tibco-spotfire permite obtener una prueba gratuita.

a.
Carto

op
En este caso estamos ante una herramienta que permite el análisis y visualización de datos

ur
geolocalizados, facilitando la toma de decisiones a todos los niveles. Es decir, se trata de una
oe
herramienta para realizar análisis de datos con mapas, permitiendo a los usuarios analizar y crear
ut

herramientas con sus datos geoespaciales sin necesidad de conocimientos en programación, con el
it

objetivo de hacer de los mapas herramientas para el día a día en los diferentes departamentos de la
st

empresa.
.in

El hecho de presentar esta herramienta se debe a que a pesar de que cada vez más son las
s

empresas que explotan los datos que poseen, menos del 25% de ellas hacen uso de los datos
do

geolocalizados, pese a que entorno el 80% de los datos generados tienen un componente de
ca

localización. El punto fuerte de CARTO es la localización inteligente, analizar y conseguir la


ifi

información de los datos de localización de una forma sencilla y accesible para cualquier compañía y
rt

no solo para grande organizaciones con departamentos de inteligencia dedicados a esta labor.
ce

Con Carto Builder se puede analizar los datos mediante un sistema de localización inteligente

automática mediante cuadros de mando que pueden compartirse de una forma sencilla y rápida.

Estas son solo algunas de las herramientas que en el momento de redactar el presente manual se

encuentran a la vanguardia de la visualización de datos, puesto que estamos trabajando en un

mundo cambiante, pues el análisis de los grandes volúmenes de datos están en continuo desarrollo

debido al creciente auge, podremos encontrar un sinfín de herramientas similares a las expuestas,

tanto de software libre como propietario con las que trabajar en estos entornos.

certificados.institutoeuropa.com
2 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
3 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

Objetivos

La presente unidad está orientada a alcanzar los siguientes objetivos:

Conocer las distintas herramientas utilizadas para la visualización de datos

Ver y comprender el funcionamiento de las principales

Estudiar las diferentes características de las herramientas

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
4 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

Mapa Conceptual

[[[Elemento Multimedia]]]

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
5 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

Herramientas de visualización: Tableau y CartoDB.

Cuadros de mando: Definición y conceptos previos

La teoría de cuadros de mando, surgió en los años 90 impulsada por Robert S. Kaplan (profesor de la

Universidad de Harvard) y David P. Norton (consultor empresarial de Boston), que publicaron en la

revista Harvard Business Review un artículo denominado “The Balanced Scorecard, en el que se

concretaban los trabajos del profesor Kaplan sobre la medida del rendimiento empresarial. Los

m
autores pretendían establecer un nuevo modelo de medidas dentro de las empresas para generar un

co
valor añadido en el futuro y para conocer mejor las organizaciones.

a.
op
Según Kaplan y Norton podemos definir el Cuadro de Mando Integral (CMI) como la representación

en una estructura coherente de la estrategia de negocios, a través de objetivos encadenados entre

ur
sí, medidos con los indicadores de desempeño, sujeto al logro de unas metas determinadas y
oe
respaldados por un conjunto de iniciativas o proyectos.
ut

El Balance Scorecard, organiza los indicadores o medidas en cuatro grandes grupos o


it

perspectivas: financiera, cliente, interna e innovación y aprendizaje. Balanced refleja que los
st

indicadores tratan de mantener un equilibrio entre los objetivos a corto y largo plazo, entre las
.in

medidas financieras y las no financieras, entre los indicadores de retraso o liderazgo y entre las
s

perspectivas internas y externas.


do
ca

El CMI se trata por tanto de un instrumento o metodología de gestión que facilita la implantación de

la estrategia empresarial de una forma eficiente, permitiendo transmitir la misma de una manera
ifi

más clara y concisa a todos los integrantes de la organización, y a la vez poder traducir dichas
rt

estrategias en objetivos, indicadores y acciones concretas.


ce

Perspectivas del CMI

Como ya hemos adelantado, el cuadro de mandos integral, organiza los indicadores o medidas en

cuatro grandes grupos o perspectivas, que pasamos a definir en mayor detalle a continuación:

certificados.institutoeuropa.com
6 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
co
a.
Perspectiva Financiera

op
Este aspecto resume el propósito último de las organizaciones comerciales, y se enfoca en producir

ur
mejores ganancias en la estructura empresarial. Se sigue manteniendo porque es una forma de

medir las consecuencias económicas de las acciones tomadas en las organizaciones. Incorpora la
oe
visión de los accionistas y mide la creación de valor de la empresa.
ut

Desde esta perspectiva, se debe dar respuesta a la pregunta ¿qué objetivos financieros debemos
it
st

lograr para ser exitosos? Tradicionalmente, esta era la única visión que se tenía en cuenta por
.in

parte de las empresas para la supervisión estratégica y de los objetivos, relegando a un segundo

plano el resto de indicadores.


s
do

Todos aquellos indicadores que tengan que ver con la contabilidad y finanzas entrarán dentro de
ca

esta categoría, siempre y cuando reflejen la situación económica de la empresa. Objetivos desde esta
ifi

perspectiva podrían ser un aumento de las ventas o la generación de flujo de caja.


rt

No debemos olvidar que los objetivos financieros deben estar integrados y equilibrados y por ellos
ce

cada objetivo parcial debe contribuir en la medida necesaria y oportuna a la consecución de los

objetivos generales.

También debemos considerar desde esta perspectiva, la situación del negocio dentro del ciclo de

vida del producto, ya que obviamente los objetivos económicos son diferentes, no solo en lo que se

refiere a la rentabilidad de la inversión, sino también al capital para la financiación del stock o los

recursos publicitarios.

certificados.institutoeuropa.com
7 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

Perspectiva interna

Para poder mejorar la satisfacción del Cliente, o para mejorar la utilización de los recursos

reduciendo los gastos, se deben mejorar los procesos internos en cuanto a la cadena de valor.

Cualquier mejora en este aspecto, tiene un impacto en las perspectivas de Cliente y Financiera.

Los indicadores incluidos en esta perspectiva deberán estar relacionados por tanto, con la calidad

del proceso que implica la mayor calidad posible del producto y el menor coste del proceso.

m
Dentro de este enfoque, será necesario llevar a cabo el análisis de la innovación de modo que

co
partiendo de la identificación de las necesidades y demandas de los clientes, se desarrollen

a.
soluciones idóneas para que alcance la máxima satisfacción. La perspectiva interna finalizará con el

op
servicio postventa que garantice la adecuada atención y mantenimiento del cliente.

ur
Perspectiva del cliente
oe
En este sentido se refleja el posicionamiento de la empresa en el mercado donde quiere competir.
ut

Debemos medir por tanto, la satisfacción del cliente, retención y adquisición de nuevos clientes,

rentabilidad, cuota de mercado, nivel de precios con respecto a competidores, etc. Es lógico pensar
it
st

que un cliente más satisfecho, consumirá más de nuestros servicios o productos, mejorará nuestra
.in

imagen y nos posicionará mejor ante nuestra competencia, lo que repercutirá directamente en las

ganancias de la organización.
s
do

Algunos de los objetivos que se pueden fijar desde la perspectiva del cliente podrían ser mejorar
ca

plazos de entrega, desarrollar nuevos productos o anticiparse a las necesidades de los clientes.
ifi
rt

Perspectiva de aprendizaje y crecimiento


ce

Dentro de esta perspectiva se deben incluir aquellos aspectos relacionados con los recursos

humanos necesarios para poder implementar las mejoras en el resto de perspectivas. Es decir,

permite identificar la infraestructura que la organización debe construir para crear crecimiento y

valor a largo plazo.

La perspectiva de aprendizaje y crecimiento aparece entonces como la base del resto de

estrategias, tanto de manera operativa, para poder cumplir con los objetivos de mejora de los

procesos internos, como en la satisfacción de los empleados, condición necesaria para mejorar la

certificados.institutoeuropa.com
8 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

atención al Cliente.

Kaplan y Norton señalan tres principios para la integración de las cuatro perspectivas con la

finalidad de permitir que el cuadro de mandos integral se oriente hacia el éxito de la organización,

éstos son:

Relaciones causa-efecto

Inductores de actuación

m
Vinculación con las finanzas

co
a.
La estrategia debe basarse por tanto en relaciones causa-efecto que establezcan una consecuencia

op
entre lo que se debe hacer y los resultados que se esperan obtener y que pueden expresarse en una

declaración del tipo si ocurre X, entonces el resultado es Y.

ur
oe
Características de los CMI
ut
it

La filosofía principal para sugerir perspectivas de indicadores es que todos ellos deben estar en
st

perfecto balance, abarcando casi la totalidad de los indicadores necesarios para monitorear la
.in

empresa, pero la pregunta es cómo vincular las distintas perspectivas.


s
do

Todo lo que pasa en cualquier empresa es un conjunto de hipótesis sobre la causa y efecto entre

indicadores. Cualquier acción que se ejecute, tendrá un impacto directo sobre otra variables, es por
ca

eso que la perspectiva de Formación y Crecimiento es la base que permite crear la infraestructura
ifi

necesaria para crecer en las otras perspectivas. Lo importante es saber que ninguna perspectiva
rt

funciona en forma independiente, sino que puede iniciarse una acción con alguna de ellas y
ce

repercutirá sobre todas las demás.

Cuando vamos a una organización empresarial, la estrategias definidas se basan en multitud de

factores, entre los que se incluyen el análisis de la posición de la empresa en el mercado, recursos

con los que cuenta, los objetivos de largo y corto plazo, y por supuesto visión de futuro basado en

gran parte a la intuición que tiene el empresario. Por tanto la tarea de definir estrategias no es una

novedad, y es justamente el trabajo de los directivos de la empresa, si bien es cierto que contar con

buena información, facilita la definición de estrategias y la toma de decisiones, aun así no siempre

certificados.institutoeuropa.com
9 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

resulta tan simple bajar estas estrategias a objetivos y a acciones concretas.

m
co
a.
op
En base a esto, la teoría del CMI plantea que primero se deben definir las estrategias, es decir a

dónde se quiere llegar y cómo se va a medir el éxito de las mismas.

ur
oe
Luego se plantean los objetivos intermedios, y por último cómo se van a alcanzar. Estas definiciones

quedan claras para todos los integrantes de la organización, como si fueran parte de un gran equipo,
ut

y tienen manera de saber si sus acciones para lograr dichos objetivos son correctas o no.
it
st

La ventaja primordial de la metodología es que no se centra solamente en una perspectiva, sino que
.in

las considera todas simultáneamente, identificando las relaciones entre ellas. De esta forma es
s

posible establecer una cadena causa-efecto que permite tomar las iniciativas necesarias a cada nivel.
do

Conociendo cómo se enlazan los objetivos de las diferentes perspectivas, los resultados de los
ca

indicadores que se van obteniendo progresivamente permiten ver si hay que hacer ajustes en la
ifi

cadena para asegurar que se cumplan las metas a niveles superiores de la secuencia. De esta
rt

manera se fortalecen los recursos humanos, tecnológicos, de información y culturales, en la


ce

dirección exigida por los procesos, y estos se alinean con las expectativas de clientes, lo que a la

larga será la base para alcanzar los resultados financieros que garanticen el logro de la visión.

Podemos por tanto establecer que entre las características más significativas del CMI cabe

destacar las siguientes:

Intenta adoptar una perspectiva global ya que equilibra los objetivos a corto plazo con los

objetivos a largo plazo, los indicadores monetarios con los no monetarios y los datos

certificados.institutoeuropa.com
10 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

provisionales con los datos históricos. Esta combinación contribuye a que el control de gestión

adquiera una dimensión estratégica.

Los indicadores se construyen con la participación de los directivos, a partir de la estrategia de

la organización. Por tanto, el proceso de formulación del CMI es eminentemente participativo.

Los indicadores se estructuran, en general, en torno a las cuatro perspectivas clave de una

organización; perspectiva de los resultados económico-financieros perspectiva del cliente,

perspectiva de los procesos internos y perspectiva de los empleados. Como hemos visto, la

m
primera perspectiva suele orientarse más a corto plazo, mientras que las otras tres tienen, en

co
general, un horizonte más a largo plazo.

A modo de síntesis genérica, el CMI se basa en la hipótesis de que si se actúa sobre la

a.
perspectiva de los empleados, éstos serán el motor de la mejora de los procesos. Esta mejora

op
redundarán en un mejor equilibrio presupuestario, lo que han de repercutir en unos usuarios

ur
más satisfechos. oe
Para cada perspectiva no sólo se han de identificar los factores clave de éxito, y los indicadores
ut

correspondientes, sino también las relaciones causa-efecto entre los distintos indicadores que

explican cómo conseguir mejores resultados. Por tanto, no se trata de ubicar indicadores de
it
st

cualquier manera, sino que se pretende que todos los indicadores estén relacionados entre sí.
.in

De esta forma, no sólo se obtienen información sobre lo que está pasando, sino también del

porqué de lo que está sucediendo.


s
do
ca

Tipos de CMI
ifi

En la actualidad, no todos los cuadros de mando integral están basado en los principios de Kaplan y
rt

Norton, aunque sí influenciados en alguna medida por ellos. De forma genérica, un CMI engloba
ce

varias herramientas que muestran información relevante para la empresa a través de los KPIs.

Un cuadro de mando integral puede elaborarse por tanto en base a múltiples criterios, en función

de la empresa, del sector económico en el que lleva a cabo su actividad mercantil, la duración del

ejercicio fiscal, etc. No obstante, los más usuales e importantes son:

Criterios económicos

Criterios de responsabilidad dentro de la compañía

certificados.institutoeuropa.com
11 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

Criterios de tiempo

Criterios por departamentos o áreas de negocio.

En base a lo anterior, y según su función podemos clasificar los cuadros de mando en:

Cuadro de mando operacional

Este tipo de cuadro de mando nos ayudará en la ejecución de procesos, ya que ofrecen grandes

m
posibilidades como sistema de medición del desempeño de actividades interdepartamentales, y de

co
procesos de pequeño o mediano calado corporativo mediante variables operativas.

a.
op
ur
oe
ut
it
st
s .in
do
ca

El CMO muestra datos operacionales de la organización, por lo que se diferencia del CMI en su
ifi

visión cortoplacista y en que comprende cada uno de los departamentos o áreas de la organización,
rt

con la misión de evaluar todos los aspectos para cada sección así como facilitar la toma de
ce

decisiones. El conjunto de indicadores que conformarán estos cuadros de mando pueden ser

totalmente diferentes en función del departamento, ya que mientras en el departamento financiero

un indicador clave podría ser las ventas mensuales, para el departamento de marketing se podría

hablar del sentimiento y fidelidad de marca que tiene los clientes con nuestra empresa.

Por tanto, en el CMO los resultados de la medición del desempeño de los procesos que se llevan a

cabo en cada departamento o área de la compañía, conlleva un conjunto de datos mucho más

abundantes, detallados y variados que los obtenidos en el CMI; por el contrario el CMO, al no estar

certificados.institutoeuropa.com
12 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

enmarcado dentro de un sistema de soporte de ayuda a la decisión (DSS), ve limitado su alcance y

profundidad quedando como una herramienta de medición.

El enfoque aportado por los CMO constituye una clara necesidad para que las compañías creen valor

para sus clientes, las personas que trabajan en ellas, sus accionistas y la sociedad en general. Es a

través de los procesos como se introduce la “opinión del cliente” en todos los ámbitos de la

compañía y es la actuación basada en dichos procesos, la que permite una rápida reacción a los

cambios en el entono e implantar la mejora continua.

m
co
El objetivo de este sistema de medida es por tanto, poder evaluar y conocer las situaciones en las

que no haya conformidad de los resultados con las previsiones y las situaciones que de forma visible

a.
o latente contengan oportunidades de mejora. Su implementación no entraña grandes dificultades:

op
tras determinar el proceso a controlar, solo es necesario establecer las variables operativas que

ur
permitirán evaluar su desempeño, sin que ello repercuta en las competencias para el análisis del
oe
CMI, o de otros CMO.
ut

Una independencia que sin embargo no es absoluta, pues es importante que las variables a las que
it

aludimos, se establezcan de acuerdo con la estrategia corporativa adoptada, es decir, que evidencie
st

el compromiso del área o departamento con el mapa estratégico integral de la organización.


.in

Los beneficios obtenidos a partir de un CMO son:


s
do

Despliegue e Implantación de la estrategia mediante el diseño e implementación de un cuadro


ca

de mando de indicadores de procesos


ifi

Comunicación de la estrategia a todos los niveles de la organización


rt

Implantación/consolidación de la mejora continua


ce

Mejora de la posición competitiva de la organización.

Cuadro de mando táctico

El cuadro de mando táctico nos muestra información que ayuda a controlar procesos. Entre sus

objetivos está el contribuir a monitorizar los resultados con el fin de lograr el cumplimento de

objetivos, fomentar la acción y dar respuesta a cuestiones que permitan conocer, entender, detallar,

comunicar y actuar dentro de la organización.

certificados.institutoeuropa.com
13 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

A diferencia del CMI, su función no es medir y gestionar la adecuación de dichos procesos a la

estrategia corporativa, por lo que su diseño no está pensando para servir con fines directivos y

gerenciales, sino para proporcionar la información que los distintos departamentos y áreas

requieren para tomar decisiones acertadas en su ámbito concreto de actuación.

Por supuesto, el cuadro de mando táctico también usa indicadores clave de desempeño (KPI),

pero en su caso adaptados a los fines y los propósitos perseguidos por cada uno de los

departamentos que integran la organización. Entre sus principales características se encuentran la

m
simplicidad, la accesibilidad, la facilidad para la comparación entre datos e informaciones, la

co
comunicación e integración en CMI y como no la usabilidad y la potencia analítica.

a.
Por tanto, el cuadro de mando debe atender a una serie de factores, sin los cuales sería imposible

op
obtener de él el máximo provecho:

ur
oe
Calidad de los datos
ut

Integridad de los datos

Seguridad
it
st

Escalabilidad
.in

Entorno colaborativo.
s
do

De ahí la importancia de la metodología y la experiencia que, junto con la tecnología, se consolidan

como factores diferenciales, muy a tener en cuenta en el proceso de selección del cuadro de mando
ca

táctico.
ifi
rt
ce

Cuadro de mando estratégico

Consideramos estratégico al cuadro de mando que interviene en la gestión del proceso para la

consecución final de objetivos. Tener información seleccionada para el nivel de alta dirección es

una necesidad evidente, sobre todo para quienes están mirando la empresa desde afuera:

presidente, directores, accionistas, etc.

El cuadro de mando estratégico es una herramienta útil para implementar la estrategia de la

empresa y uno de sus puntos clave es, obviamente, que funcione como mecanismo de control para

certificados.institutoeuropa.com
14 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

asegurarse que la gente hace lo que se espera de ella. Esto implica tres elementos: metas claras,

información acerca de en qué medida se han alcanzado esas metas y un sistema de comunicación

formal o informal.

Según Peter Drucker la dirección por objetivos funciona si se conocen los objetivos y, hoy en día,

el 90% de las veces se ignora. El cuadro de mando estratégico incluye una selección de

indicadores clave a controlar que proviene de la etapa del proceso de formulación de la

estrategia.

m
co
a.
op
Otra clasificación del CMI viene establecida por su contenido, estableciéndose cuatro categorías:

ur
Business Activity Monitoring (BAM)
oe
Muestra en tiempo real información de carácter operacional y táctico, utiliza KPIs, están orientados
ut

a la monitorización, dan soporte a la toma de decisiones a muy corto plazo y no necesitan de

trazabilidad decisional.
it
st

La expresión Business Activity Monitoring en líneas generales, se refiere básicamente al conjunto de


.in

software y aplicaciones tecnológicas e informáticas que permiten monitorizar las actividades de


s

negocio y los procesos de una organización, ofreciendo principalmente resúmenes informes en


do

tiempo real del conjunto de las operaciones que se llevan a cabo. Los cuadros de mando basados
ca

en este concepto, proporcionan al usuario una visibilidad en tiempo real de los eventos críticos del
ifi

negocio. Tales eventos pueden ser pedidos bloqueados de clientes importantes, atraso de pedidos de
rt

proveedor críticos o desviaciones del plan de ventas con respecto a los datos reales.
ce

Mientras que las herramientas de Business Intelligence ayudan a identificar cuellos de botella en

los procesos o en el rendimiento del negocio y pueden proporcionar mejoras desde un punto de vista

táctico a uno estratégico, el BAM ofrece acceso en tiempo real a los procesos de negocio operativos.

Se debe tener en cuenta, que muchas soluciones BAM se limitan únicamente a generar este tipo de

cuadros de mando que muestran en tiempo real indicadores (KPI) en vistosos gráficos, pero esto no

es suficiente para el concepto de “Real Time Enterprise”, primero porque son soluciones basadas en

“reporting” en vez de análisis, segundo porque se basan en actividades ocurridas sin predicción de

certificados.institutoeuropa.com
15 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

futuro y tercero porque el mecanismo de control para el usuario es rudimentario y no es una parte

integral de la solución BAM.

Dashboarding

Son los cuadros de mando que muestran información sin compararla con objetivos propuestos. Es

decir únicamente visualizan los KPIs.

Scorecarding

m
co
Muestran información estratégica y están orientados a mostrar objetivos, por lo tanto, ofrecen los

indicadores KPI y permiten almacenar en el sistema los KGI (Key Goal Indicator).

a.
op
En este sentido debemos por tanto indicar qué es una KGI y cuáles son sus diferencias con las KPI.

ur
En múltiples ocasiones los términos KPI y KGI se usan de forma intercambiable describiendo lo

mismo; qué necesita medir para ver si se alcanzan los resultados de sus acciones. Pero lo cierto es
oe
que los Key Goal Indicator y los KPIs son más útiles si cada uno tiene una definición más específica,
ut

podemos entender los KGI como el resultado final obtenido, mientras que los KPI, como hemos
it

comentado en puntos anteriores, son las métricas clave que indican si el rendimiento es lo
st

suficientemente bueno para alcanzar los objetivos finales.


.in

El objetivo de una campaña específica debe establecerse teniendo en cuenta los objetivos generales
s
do

de la empresa. Suponemos que el objetivo general de la compañía es adquirir 20.000 nuevos

subscriptores, una cifra basada en un objetivo estratégico para el crecimiento de los ingresos, las
ca

cifras históricas y los cálculos realizados sobre el valor del tiempo de vida del cliente.
ifi
rt

Si en la campaña específica el objetivo es conseguir 2000 nuevos miembros esto no lo


ce

consideramos un KGI sino un KPI que mide la contribución de las campañas específicas al objetivo

general de la compañía (20.000 subscriptores).

En este sentido, el desempeño de cada medio no son las metas en sí. Los anuncios, las referencias

de correo electrónico y los medios de comunicación social, son sólo los medios para lograr el

resultado final que es el objetivo. No obstante hacer un seguimiento del número de correos

electrónicos enviados, de cómo actúan los amigos invitados al recibir estos correos electrónicos, si

hay alguien “hablando” de la campaña en redes sociales, si recibimos alguna visita con referencias

certificados.institutoeuropa.com
16 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

de medios sociales, si los visitantes que llegan desde ciertos medios tienden a rebotar en la página

destino, etc., nos indican si el rendimiento de cada parte de la campaña está contribuyendo lo

suficiente para lograr el objetivo.

En conclusión, mientras que KPI muestro cómo de bien trabaja el proceso, los KGI muestra cómo

de buenos son los resultados y los objetivos que se están logrando.

m
co
Balanced Scorecard

a.
Proporcionan una metodología de gestión estratégica totalmente independiente. Es el nombre por

op
el que se conocer en términos generales al CMI, como herramienta que permite enlazar estrategias

ur
y objetivos clave con desempeño y resultados a través de las cuatro áreas críticas en cualquier
oe
empresa que vimos en punto anteriores.
ut

Se trata de la principal herramienta metodológica que traduce la estrategia en un conjunto de


it

medidas de actuación, las cuales proporcionan la estructura necesaria para un sistema de gestión y
st

medición. El acceso a los principales almacenes de información, brinda la posibilidad de presentar


.in

los resultados de desempeño y entender por qué están dándose esos resultados.
s
do

El BSC permite tener el control del estado de salud corporativo y la forma cómo se están

encaminando las acciones para alcanzar el objetivo final. A partir de la visualización y el análisis de
ca

los indicadores balanceados, pueden tomarse acciones preventivas o correctivas que afecten el
ifi

desempeño global de la empresa. Como hemos visto, por sus características puede implementarse a
rt

nivel corporativo o en unidades de negocio con visión y estrategias de negocios definidas y que
ce

mantengan cierta autonomía funcional.

Ventajas y desventajas de los CMI

Entre las principales aportaciones de los CMI, independientemente de la organización,

destacaremos:

El CMI pretende traducir la estrategia de una organización en un conjunto de indicadores que

certificados.institutoeuropa.com
17 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

informan de la consecución de los objetivos y de las causas que provocan los resultados

obtenidos.

Es útil para comunicar la estrategia a toda la organización. Es decir, ayuda a pasar de las

grandes declaraciones de intenciones al trabajo diario de cualquiera de los colaboradores de

una organización. Muchas veces los empleados, aunque conozcan la estrategia de la

organización, no saben cómo aplicarla a su trabajo diario. Por tanto hay que comunicarla a toda

la organización y para alcanzar este objetivo el CMI puede ser de gran ayuda.

m
El CMI ayuda a alinear los objetivos de cada empleado con los de la organización.

co
Esta aportación va ligada al establecimiento de una política de incentivos que sea coherente

con los objetivos y la cultura de la organización, así como con el perfil de los empleados.

a.
El CMI no es sólo un sistema de información y control, además es un sistema de comunicación,

op
de motivación y de formación.

ur
El uso del CMI obliga a integrar el proceso de planificación, e inclusive los presupuestarios,
oe
con la estrategia planificada.
ut

El CMI puede ser de gran ayuda para favorecer la reingeniería y la mejora continua, al

identificar los factores clave de éxito.


it
st

Las estrategias que se dieron cómo validas cuando fueron diseñadas pueden perder su valor, ya
.in

que la realidad cambia. El CMI contribuye a la revisión permanente de la estrategia.


s
do

En resumen, el CMI además de informar, contribuye a formular la estrategia, comunicarla, alinear

objetivos de organización y empleados, motivar y formar a todos los colaboradores, mejorar


ca

continuamente y diseñar la estrategia. A partir de aquí resulta sencillo deducir que para que un CMI
ifi

sea efectivo debe poseer la característica de integridad, firmeza, solidez, flexibilidad e


rt

interactividad, entendidas como:


ce

Integridad: todo CMI efectivo deberá preservar en todo momento la integridad de la

estrategia corporativa previamente definida, así como también tener siempre presente una

visión integral y completa del negocio con el fin de evitar peligrosas desviaciones propiciadas

por la casuística y la coyuntura.

Firmeza y solidez: relacionado con lo anterior, un CMI debe velar por la firmeza y solidez de

la estrategia en la que se enmarca la actividad corporativa.

Flexibilidad: esta debe ser una característica destacada de un cuadro de mandos efectivo. Sin

certificados.institutoeuropa.com
18 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

perder de vista los objetivos propuestos y el marco estratégico definido para lograrlos, un CMI

debe ser lo suficientemente flexible para integrar todas aquellas modificaciones y cambios que

los ejecutivos y los miembros directivos estimen oportunos, con el fin de dotar de una mayor

versatilidad, agilidad y adecuación a la realidad la estrategia de Business Intelligence por la

que previamente se haya apostado.

Interactividad: independientemente del número de usuarios con acceso al cuadro de mando, y

del grado de participación y los permisos que ostenten los mismos, la interactividad es una

m
propiedad irrenunciable que debe poseer todo CMI que pretenda ser efectivo, esto es que los

co
datos y la información que proporcione sean tanto visualizables como modificables y

compatibles.

a.
op
Entre las desventajas que presentan los cuadros de mando podemos destacar las siguientes:

ur
oe
Un CMI creado sin que exista involucración del equipo directivo y podo elaborado, carece de

sentido. Supondrá un gasto del que no se obtendrá todo el rendimiento que nos permite.
ut

La mala elección de los KPIs supone un fallo que afecta al sentido final del CMI, al dar
it
st

información incorrecta o incompleta.

El CMI debe actualizarse continuamente para no quedar caduco


s .in
do

Estrategias para la creación de cuadros de mando


ca

Hemos visto hasta el momento que el Cuadro de Mando Integral plantea un modelo para alinear
ifi

todas las metas, objetivos y actividades en base a indicadores específicos. El CMI traza un mapa, y
rt

parcela las funciones de cada área de la organización mostrando las relaciones de causa-efecto por
ce

las cuales las mejoras específicas llegarían a alcanzar los resultados esperados, agregando valor al

proceso.

En un sentido práctico lo primero que se debe tener claro para crear un cuadro de mando es: definir

qué es necesario medir para gestionar el negocio, por lo que para generar un CMI será necesario

principalmente:

Definir los KPI’s y tener claro cómo se van a actualizar

Elegir y configurar la herramienta donde visualizar el cuadro de mando.

certificados.institutoeuropa.com
19 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

En base a lo anterior, el primer y fundamental concepto a tener en cuenta, es que el CMI no es sólo

el sistema informático que brinda una serie de medidas a controlar, sino que implica un cambio en la

estrategia de toda la compañía, y por lo tanto como ya hemos señalado en múltiples ocasiones a lo

largo del tema, debe ser impulsado por la más alta dirección de la empresa.

Un cuadro de mando integral no tiene una fecha de terminación definida, y de una manera u otra,

todos los miembros de la Empresa deberían participar del mismo, por lo que en este sentido no se

m
diferencia en cuanto a su implementación de otras iniciativas estratégicas de mejoras o calidad.

co
La creación del CMI se inicia por tanto, con la correcta planificación de los objetivos estratégicos y

a.
la adecuada definición de los factores claves que marcan la pauta de actuación y control a medio y

op
largo plazo.

ur
oe
La elaboración de diagramas de causa-efecto permiten enlazar el entramado de objetivos orientados

a la meta y posteriormente desarrollar el sistema de indicadores vinculados.


ut
it

En resumen, para poder generar el cuadro de mando integral, se debe dividir la tarea en dos etapas
st

diferenciadas:
.in

1. Diseño del CMI


s
do

2. Implementación del CMI


ca

En la primera fase, debemos seguir una secuencia de pasos para poder pasar desde la definición de
ifi

las estrategias, que responden a la Meta y Visión de la organización, a las acciones concretas y el
rt

monitoreo que se puede hacer de las mismas. En la etapa de Implementación, se definirán los
ce

aspectos a tener en cuenta al construir el sistema que de soporte a todas las definiciones de la etapa

de diseño.

Diseño del CMI

La planificación de la selección de los indicadores y el acopio de la información necesaria y

suficiente con el fin de que, desde la dirección, pueda definirse con claridad el modelo de negocio

sin la falta o incorrección de los datos es esencial en el diseño del cuadro de mando.

certificados.institutoeuropa.com
20 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

Por lo tanto, la primera operación que se debe llevar a cabo, es la de un estudio riguroso y

pormenorizado de las circunstancias internas y externas de la organización, con el fin de conformar

el escenario en el que va a tener que desenvolverse la compañía. La planificación debe establecer las

bases para dejar resueltos interrogantes como cuál será el futuro modelo de negocio y cuáles serán

las líneas básicas de actuación para conseguirlo.

Análisis externo e interno

Esta fase consiste en realizar un estudio exhaustivo acerca de la situación actual interna y externa

m
de la empresa. Las herramientas de análisis DAFO (debilidades, amenazas, fortalezas y

co
oportunidades) son la base de este proceso.

a.
op
El análisis interno supone el conocimiento y evaluación de la realizada que está presente dentro de

la organización: qué recursos representan fuerzas positivas y ventajas (Fortalezas), y qué recursos y

ur
características representan fuerzas negativas (debilidades) y desventajas.
oe
El análisis externo por el contrario, es el proceso de estudiar las áreas del entorno, próximas y
ut

remotas, que pueden influir sobre la organización. Estudiar los factores que están fuera de control
it

de la entidad, tanto el entorno actual como el futuro, a fin de descubrir qué factores pueden hacer
st

que la situación de la organización mejore (Oportunidades) y qué factores, pueden tener un impacto
.in

negativo de forma directa o indirecta (Amenazas).


s
do

Análisis DAFO
ca

El análisis DAFO (Debilidades, Amenazas, Fortalezas y Oportunidades) es una herramienta


ifi

fundamental en esta fase del diseño del CMI, creada en 1965 por Christense, Learned, Guth y
rt

Andrews. Esta herramienta se aplica con el fin de analizar de forma óptima el contexto competitivo
ce

de una empresa a través del análisis de la competencia y de las características internas a efectos de

determinar las decisiones y estrategias más beneficiosas dentro de su mercado.

El siguiente diagrama permite visualizar de forma sencilla y práctica las debilidades y fortalezas

internas de la compañía para detectar amenazas y oportunidades.

Fortalezas Debilidades
Marca existente Percepción de marca
Base de clientes existentes Tecnología/especialización
Canal de ventas existente Soporte multicanal

certificados.institutoeuropa.com
21 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

Oportunidades Amenazas
Venta cruzada Nuevos actores
Nuevos mercados Nuevos productos
Nuevos Servicios Conflictos de canal
Alianzas y co-branding
Los datos que se obtienen de este análisis situacional constituyen la base para determinar

diferentes opciones estratégicas basadas en el estudio de las oportunidades y amenazas a las que ha

de enfrentarse la empresa en el contexto digital y en base a las fortalezas y debilidades derivadas de

su funcionamiento interno.

m
co
A través del cruce de datos obtenidos se pueden generar diversas estrategias:

a.
Fortalezas- - Oportunidades: Consiste en potenciar nuestras fortalezas con el fin de

op
maximizar nuestras oportunidades. En este caso se opta por una estrategia ofensiva.

ur
Implementando estas estrategias, según Navas y Guerras en su libro La dirección
oe
estratégica de la empresa, se conseguirá obtener ventajas competitivas, mediante

actuaciones agresivas sacando el máximo provecho de una situación que nos resulta ventajosa
ut

antes de que la competencia ponga en marcha una estrategia defensiva. Como acciones
it
st

concretas, y como ejemplo de aplicación, podríamos redirigir y conducir a los clientes al canal
.in

online; también podríamos, a través del análisis de las bases de datos, optimizar el plan de

contactos con los clientes y realizar una segmentación por variables de consumo y
s
do

preferencias. Con ello, podríamos ofrecer contenidos y mensajes personalizados y relevantes a

través de medios electrónicos (emails, servicio de mensajería móvil, sindicación de


ca

contenidos…) enfocados a aumentas las ventar por cliente.


ifi

Debilidades Oportunidades: Con el fin de desarrollar fortalezas para poder llevar a cabo
rt

estrategias ofensivas, conviene contrarrestar debilidades para explotar nuestras


ce

oportunidades. Para ello podríamos, por ejemplo, optimizar nuestros resultados en SEO y

nuestros enlaces patrocinados. Igualmente podríamos implementar campañas de afiliación con

los que atraer a nuevos clientes y fidelizar a los existentes. Otra opción óptima resultaría de

centralizar los entornos multicanal de atención y gestión de clientes a través del uso de

herramientas CRM.

Fortalezas Amenazas: Para optimizar fortalezas y minimizar las amenazas se ha de optar por

una estrategia defensiva. Este tipo de estrategia definida en 1988 por Ries y Trout en “La

guerra de la mercadotecnia” es la que debe ser practicada por los líderes, por las empresas que

certificados.institutoeuropa.com
22 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

tienen una posición dominante en el mercado, y consiste en procurar proteger y mantener las

posiciones alcanzadas. Para ello, podríamos, por ejemplo, introducir productos exclusivos e

inexistentes en Internet con los que no contar con competencia. Otra práctica podría ser

agregar valor a los productos y servicios para diferenciarse del resto.

Debilidades Amenazas: Para desarrollar fortalezas en estrategias defensivas conviene

contrarrestar tanto las debilidades como las amenazas. Establecer políticas de precios

diferenciados para cada uno de los canales de venta sería una estrategia óptima en este

m
sentido. Otro ejemplo sería reducir los costes de la operación convirtiendo a nuestra empresa

co
en “pure player” es decir, sólo realizando transacciones y ventas en entornos digitales y no

físicos.

a.
op
Otro punto fuerte de la planificación en el diseño del CMI es la necesidad de realizar acopio de

ur
información que nos permita expresar la estrategia en un conjunto coherente de indicadores.
oe
La mayor parte de la información estará disponible en los archivos de la empresa, los informes
ut

anuales de resultados, datos operativos de interés, estudios de mercado y de las entidades


it

competidoras, quejas, reclamaciones y sugerencias de los clientes, conocimiento de sus


st

expectativas, información sobre el coste de los recursos y toda aquella información que pueda
.in

considerarse interesante para el negocio, pueden formar parte en la toma de decisiones.


s
do

Estableciendo los objetivos estratégicos


ca

Tras realizar los análisis anteriores, llega el momento de establecer los objetivos estratégicos de las

cuatro perspectivas del cuadro de mando integral (finanzas, clientes, procesos internos, innovación-
ifi

aprendizaje). Establecer correctamente los objetivos es clave para que el CMI esté enfocado a la
rt

implantación de la estrategia en la empresa.


ce

Como ya vimos, los objetivos variarán según el estado en el que se encuentre la empresa, pues no

es lo mismo una empresa recién creada que una empresa consolidada, donde el objetivo quizás sea

mantener la cuota de mercada o aumentarla.

Los objetivos más habituales según la perspectiva pueden ser:

Perspectiva Perspectiva cliente Perspectiva interna Perspectiva aprendizaje


financiera y crecimiento

certificados.institutoeuropa.com
23 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

• Aumento de los • Identificación de • Identificar los procesos • Identificación de


ingresos clientes críticos en la captación inversiones
• Reducción de costes • Identificación de los de clientes • Mejorar la capacidad del
• Mejora de la segmentos de mercado • Mejora de la innovación personal, sistemas y
productividad • Definición de • Mejora de las procesos
• Utilización de productos y servicios operaciones internas
activos • Fidelización de • Mejora en el servicio
• Retorno de clientes postventa
inversión • Beneficios del cliente
• Gestión de riesgos • Mejora de la imagen
y la reputación

Definición de indicadores

m
co
Determinar los criterios, parámetros que constituyan puntos de referencia mediante los cuales se

a.
permitirá posteriormente compara los resultados reales de sus operaciones, y determinar si estos

op
resultados son superiores, similares o inferiores a las expectativas.

ur
Es decir, los indicadores son instrumentos de medición de las variables asociadas a las metas
oe
definidas en el paso anterior, pudiendo ser éstos cualitativos o cuantitativos.
ut

Esto es fundamental para mejorar la calidad, debido a que es un medio rápido y económico de
it

identificación de problemas.
st

El principal objetivo un de un indicador, es poder evaluar el desempeño del área mediante


.in

parámetros establecidos en relación con las metas. La selección del conjunto de indicadores
s
do

adaptados a los objetivos estratégicos previamente establecidos constituye un proceso laborioso, ya

que el indicador ha de recoger con precisión el contenido del objetivo buscando la relación de
ca

causa-efecto entre ambos. Por otro lado, las fuentes de información requerida para su elaboración
ifi

han de estar disponibles y ser de fácil accesibilidad.


rt
ce

Los CMI han de adaptarse al nivel de decisión para el que se diseñan, siendo distinto el da la

dirección general de la empresa, que el que sirve de soporte de ayuda a la decisión para un

departamento o área concreta de la entidad. Cada departamento deberá prestar una atención

especial a los indicadores que más relacionados están con su actividad. No se debe por el contrario,

perder en ningún momento la visión global de la empresa, poniendo de manifiesto como los

indicadores más importantes se alinean con la estrategia general de la misma.

En términos prácticos, un CMI no deberá superar los 2-3 indicadores KPI por cada objetivo, ya que

un número excesivo de indicadores por objetivo puede llegar a perjudicar la estrategia y que los

certificados.institutoeuropa.com
24 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

esfuerzos realizados no sirvan.

Algunos ejemplos de KPI en base a los objetivos definidos para cada perspectiva pueden ser:

KPI financieros: rentabilidad económica, beneficio neto, deuda a corto y largo plazo, deuda

total, capital circulante, beneficio por empleado, dividendo por acción, etc.

KPI de clientes: número de reclamaciones, número de visitas, cuota de mercado, ventas por

cliente, cuota de fidelidad, cuota de satisfacción, clientes perdidos, beneficio por clientes, etc.

m
KPI de procesos internos: cumplimento de auditorías, evaluación de tiempos muertos, índices

co
de mantenimiento, coste de transporte, producción neta, número de suministradores, tiempo

a.
de ciclo de proceso, etc.

op
KPI de crecimiento-aprendizaje: índices de calidad de formación, coste de la formación,

satisfacción de los empleados, índice de incentivos, tasa de abandonos, etc.

ur
oe
Como vemos, el CMI es una fuente de información estratégica y no sólo unos cuantos indicadores
ut

KPI.
it
st

Implementación del CMI


.in

Un cuadro de mando debe poner en evidencia los resultados de la organización que no se ajusten a
s

los límites establecidos de antemano y advertir sobre aquellos otros que se mueven en zonas
do

delimitadas como de riesgo, asignando las responsabilidades consecuentes y facilitando la


ca

comunicación entre los diversos agentes implicados en la decisión, Los aspectos a considerar en
ifi

su construcción son los siguientes:


rt
ce

Presentar únicamente la información que resulte imprescindible, de forma sencilla, resumida y

eficaz. Se recomienda un número reducido de indicadores, no sobrepasando en torno a los 25

en total.

Destacar lo relevante para la organización

Simplificar su representación mediante la utilización de gráficas, tablas, curvas, etc.

Unificar su elaboración para facilitar el contraste de resultados entre departamentos.

Se hace necesario así mismo, involucrar a las personas afectas por su implantación mediante el

certificados.institutoeuropa.com
25 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

desarrollo de acciones de formación, comunicación y motivación.

Una vez que se el sistema está funcionando, se recomienda hacer un seguimiento y

validación de los indicadores a fin de determinar si resultan útiles y rentables, comparando

su utilidad y coste con la consecución de los objetivos.

Además esta validación debe ser continúa en el tiempo para conformar que siguen siendo

m
pertinentes y cumplen con los objetivos definidos en etapas posteriores de desarrollo, pues un

co
indicador puede perder su vigencia cuando la organización defina nuevos objetivos, modifique las

a.
circunstancias y expectativas o cambie. el cliente objetivo.

op
En resumen, el sistema de indicadores y el cuadro de mando deben someterse a un proceso de

ur
mejora continua, manteniendo, modificando, suprimiendo indicadores o creando otros nuevos, con el
oe
fin de mantener y alcanzar el éxito en la estrategia definida.
ut
it

Dashboard en Excel
st

En primera instancia, debemos aclarar la diferenciación existente entre los cuadros de mando
.in

integral (de los que hemos estaba hablando hasta el momento) y los dashboard, ya que es habitual
s

el uso indistinto de ambos términos cuando en realidad hay diferencias entre ellos.
do

Dashboards
ca
ifi

Son herramientas de reporting para consolidar números, métricas y en ocasiones CMI, en una sola
rt

visualización de pantalla. Se utilizan para mostrar los valores de un proceso o las cifras que genera
ce

un departamento. No tienen porqué ajustarse a una metodología de gestión.

Es decir, en un panel de control (dashboard) se recoge información detallada de tal forma que

podemos encontrar la causa inmediata de por qué un determinado objetivo no se está cumpliendo.

Comúnmente, utilizan una metodología centrada en el usuario que integra datos de acuerdo con los

problemas, procesos comerciales o de marketing críticos de la empresa. Por norma, suelen estar

diseñados frecuentemente para tratar un único problema de forma aislada y desarrollar desde

informes en línea hasta una representación visual compleja de mediciones clave.

certificados.institutoeuropa.com
26 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

Los datos que se engloban en el panel de control se actualizan automáticamente de forma diaria,

semanal o mensual y son utilizados principalmente por Community manager o el Responsable de las

estrategias de marketing Digital.

Scorecard

Los CMI miden el progreso hacia el logro de una estrategia, metas u objetivos utilizando KPIs. Un

scorecard puede ser parte de un dashboard, pero se diferencian en que un cuadro de mando incluye

múltiples puntos de vista y aplica una metodología de gestión.

m
co
Así por ejemplo, en un CMI tendríamos el KPI Engagement Rate de Twitter que nos permitiría

a.
comprobar si se está cumpliendo o no nuestro objetivo de engagement, en el caso de que no se esté

op
cumpliendo podemos consultar el panel de control para conocer la causa, ya que en él tendremos

desglosadas todas las variables que influyen en la KPI como, retweets, menciones, me gusta y

ur
followers.
oe
En este punto vamos a dar un repaso por las herramientas que a partir de Excel 2013 nos permiten
ut

crear un Dashboard y lo convierte en una herramienta de análisis de datos.


it
st

Power BI son las características de Business Intelligence para Excel que forman parte del entorno de
.in

Excel que ya se conoce, y amplían la funcionalidad de Excel a todo tipo de maravillosas


s

funcionalidades específicas de los datos.


do

Excel se ofrece de manera independiente y no forma parte de Power BI para Office 365. Algunas
ca

de estas características de BI en Excel estuvieron disponibles antes y otras son nuevas, pero todas
ifi

ellas están ahora integradas en Excel. Las herramientas del cliente que componen el Power BI en
rt

Excel son las siguientes:


ce

Power Query

Power Pivot

Power View

Power Map.

Al iniciar por primera vez Excel 2016, se sorprenderá de lo que verá. Puedes configurar tu propia

gama de colores y cambiar el tamaño de la letra, Microsoft ha realizado cambios sobre la interfaz

certificados.institutoeuropa.com
27 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

para hacerla más clara y usable,

Para cambiar el color, con lo que nos desplazamos hasta general:

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca

En tema de Office escogemos Blanco, pulsamos en aceptar y volvemos a reiniciar Excel 2016. Al
ifi

Aceptar veremos cómo se ha cambiado el color:


rt
ce

certificados.institutoeuropa.com
28 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
co
a.
op
1. POWER QUERY

ur
oe
Es una herramienta de Excel que se utiliza para la búsqueda, la remodelación y la combinación de

datos procedentes de diferentes fuentes. Power Query es uno de los complementos de Excel
ut

desarrollados como parte de la solución de autoservicio de Business Intelligence en Excel.


it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
29 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
co
a.
op
ur
oe
ut
it
st
.in

Se trata de una herramienta ETL integrada en Excel, esta herramienta se utiliza para buscar o
s

descubrir datos de una amplia variedad de fuentes. Power Query tiene una interfaz de usuario
do

bastante intuitiva e interactiva.


ca

Instalación
ifi
rt

Por defecto en la versión Excel 2016 viene instalado las herramientas de Power Query como
ce

complementos, podemos acceder a sus opciones en la pestaña Datos:

certificados.institutoeuropa.com
30 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
co
Si nos fijamos en la imagen en el apartado Datos podemos ver todas las opciones pertenecientes a

a.
Power Query.

op
En los siguientes apartados veremos todas las funcionalidades que nos aporta Power Query.

ur
Buscar y cargar datos
oe
Nos dirigimos hacia la pestaña Datos -> Nueva consulta, la cual nos permitirá buscar datos de todo
ut

tipo de fuentes, combinarlos descargarlos, etc… En la pestaña otras fuentes y, Desde una web,
it

comenzaremos una búsqueda.


st
s .in
do
ca
ifi
rt
ce

En la parte derecha nos aparecerá un cuadro en el cual indicaremos desde la Web donde queremos

descargar los datos, en nuestro caso queremos los datos de S&P 500, los cuales los descargaremos

desde la siguiente URL:

https://www-slickcharts-com.translate.goog/sp500?_x_tr_sl=en&_x_tr_tl=es&_x_tr_hl=es&_x_tr_pto=

certificados.institutoeuropa.com
31 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

nui,sc

Como vemos aparecen varios resultados, pero nosotros nos centraremos en el primer resultado,

que es un listado de componentes de S&P 500:

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca

Pulsaremos en Cargar, para agregar los datos en la hoja de cálculo y trabajar con ellos.
ifi

Power Query nos permite mezclar datos obtenidos de diferentes orígenes. Vamos a mezclar los
rt

datos obtenidos en las siguientes tablas (NYSE y NASDAQ). Power Query permite varias formas de
ce

cargar datos como se muestra en la imagen. Pero en este caso utilizaremos, importar desde carpeta.

certificados.institutoeuropa.com
32 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
co
a.
op
ur
oe
ut
it
st
.in

Le indicamos la ruta de la carpeta donde tenemos los datos de ejemplo.


s
do
ca
ifi
rt
ce

Al cargar, nos aparecerá una ventana en la que nos muestra todos los datos que contiene esa

carpeta, y cierta información sobre ellos.

certificados.institutoeuropa.com
33 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
co
a.
op
ur
oe
ut
it
st
s .in

Al cargar los datos se crea una consulta. Es conveniente cambiar el nombre de la consulta para
do

tenerlo todo más organizado, ya que por defecto el nombre de la consulta es (consulta1).
ca

Profundicemos en los datos, botón derecho sobre Binary de NYSE y clicamos en Explorar en profundidad:
ifi
rt
ce

certificados.institutoeuropa.com
34 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
co
a.
op
ur
Al finalizar, Excel muestra que contiene una tabla. Veamos lo que contiene la tabla, clicaremos en la

tabla para mostrar los datos.


oe
ut
it
st
s .in
do
ca
ifi
rt
ce

Al finalizar este proceso, cargara todos los campos que contiene la tabla.

En la primera fila nos muestra el nombre de la columna (columna1, columna2…), como ese dato no

nos interesa procedemos a ocultarlo. Seleccionamos un campo de la tabla y Pulsamos, usar la

primera fila como encabezados.

certificados.institutoeuropa.com
35 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

Una vez terminado Aplicamos y cerramos.

m
co
a.
op
ur
Nos aparecerá en el lateral derecho de nuestro Excel la consulta que acabamos de realizar
oe
(Cosulta1) y nos indica que las filas que se cargaron.
ut
it
st
s .in
do
ca
ifi
rt

Combinar y modificar datos


ce

Ahora que tenemos los datos de ejemplo y los datos del S&P 500, vamos a combinarlos. Para

combinar los datos pulsamos en la pestaña combinar, de las herramientas de consulta.

certificados.institutoeuropa.com
36 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

Incluimos solamente los datos que tienen relación, en este caso vamos a necesitar de la consulta1

Ticker Symbool y de S&P 500 stock_symbol.

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi

Una vez seleccionados los datos a combinar, nos aparecerá un mensaje de privacidad el cual le
rt

indicaremos el nivel de privacidad de los datos públicos, aceptamos y seguimos. En el tipo de


ce

combinación dejamos la opción que aparece por defecto

Una vez terminada la carga de datos nos aparecerá la siguiente ventana que nos muestra todos los datos
combinados:

certificados.institutoeuropa.com
37 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
co
a.
op
ur
oe
ut
it
st
s .in

Estos datos los podemos editar, desde esta ventana editor de consultas, la cual, es la interfaz
do

integral de todas las consultas de Power Query, incluidas las consultas, las combinaciones y los
ca

anexos. En este caso vamos a borrar columnas que no necesitamos, como por ejemplo la columna

GICS Sub Industry.


ifi
rt
ce

certificados.institutoeuropa.com
38 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

Con esto conseguimos la combinación de varios datos de diferentes orígenes.

Al combinar se crean tablas expandibles, para expandirlas, nos dirigimos a la última columna, New

colum, clicamos en las dos flechas y en aceptar.

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca

Ahora vamos a obtener más datos para combinar, en este caso será del libro de ejemplo NASDAQ.
ifi

En vez de cargar la carpeta entera, vamos a utilizar otra forma de cargar, importar desde Excel.
rt

Para esto, en las Pestaña Datos, Nueva consulta, Desde un archivo, Desde un libro y seleccionamos
ce

el libro de ejemplo NASDAQ_2009.

certificados.institutoeuropa.com
39 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
co
a.
op
ur
oe
ut

Seleccionamos NASDAQ_2009 y pulsamos en cargar:


it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
40 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

Cuando se termine de cargar, en la barra de navegación nos aparecerá el libro ya cargado, si

dejamos el ratón sobre él, obtendremos la vista previa.

m
co
a.
op
ur
oe
ut
it
st

Pulsamos botón derecho sobre la hoja de cálculo NASQDA_2009 y en editar, para abrir el editor
.in

de consultas y darles forma a los datos antes de incluirlos en nuestro Excel.


s
do
ca
ifi
rt
ce

Solo modificaremos el encabezado poniéndolo en la primera fila, como hicimos en la consulta

certificados.institutoeuropa.com
41 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

anterior.

Realizaremos una nueva combinación entre S&P500 y NASQDA_2009, como hicimos anteriormente

con NYSP.

Ahora tenemos dos combinaciones, una entre S&P500 Y NYSE y otra entre S&P500 y

NASDAQ_2009. Pero queremos tener todos estos datos en un mismo conjunto de datos, con lo que

queremos anexar las dos consultas. Para anexar las dos consultas, nos dirigimos a las herramientas

m
de consulta y anexar.

co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi

Nos aparecerá una ventana para seleccionar las combinaciones que deseamos anexar, nuestro caso
rt

merge1 y merge2 que son las dos combinaciones que hemos generado, y aceptamos.
ce

certificados.institutoeuropa.com
42 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

Cuando termine de anexar, nos aparecerá otra vez el editor de consultas.

m
co
a.
op
ur
oe
ut
it
st
s .in
do

Con esto obtendremos un conjunto de datos adaptado a nuestras necesidades, en el que podemos
ca

quitar columnas, filtrar datos antes de cargar. Aplicamos y cerramos.


ifi

Con estos pasos, el conjunto de datos queda incorporado en Excel. Los datos a los que le hemos
rt

dado forma, filtrado y combinado, los cargaremos posteriormente en el modelo de datos para poder
ce

utilizarlos en la herramienta Power Pivot, que explicaremos a continuación.

POWER PIVOT

PowerPivot se utiliza para obtener acceso directamente a todo tipo de datos e Integrar datos de

multitud de orígenes, como son: bases de datos corporativas, hojas de cálculo, informes, archivos de

texto y fuentes de datos de Internet.

Es capaz de crear un propio modelo de datos a partir de distintos orígenes de datos, modelados y

certificados.institutoeuropa.com
43 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

estructurados para que se ajusten a las necesidades, estos datos pueden actualizarse desde sus

fuentes originales siempre que se quiera.

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca

Power Pivot permite crear y administrar una colección de tablas y relaciones, desde dentro de Excel.
ifi

Habilitar herramienta Power Pivot


rt
ce

Para habilitar la herramienta, en Excel nos dirigimos a archivo.

certificados.institutoeuropa.com
44 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

En el menú lateral nos dirigimos hacia la pestaña de opciones.

m
co
a.
op
ur
oe
ut
it
st
s .in
do

Esto nos lo muestra la siguiente ventana. Y pulsaremos en la pestaña de Complementos.


ca
ifi
rt
ce

certificados.institutoeuropa.com
45 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
co
a.
op
ur
oe
Una vez ahí, seleccionamos en el menú desplegable administrar, la opción Complementos COM.
ut
it
st
s .in
do
ca
ifi
rt
ce

Pulsamos en IR, se abrirá la siguiente ventana.

certificados.institutoeuropa.com
46 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
Esta ventana muestra los complementos para Excel, así que seleccionamos Power Pivot y

co
aceptamos. Una vez que se complete el proceso obtendremos nuestra herramienta en la pestaña de

a.
Excel.

op
ur
oe
ut

Cargando modelos de datos


it

Vamos a cargar las tablas obtenidas en la anexación y la tabla S&P 500 a un modelo de datos. Para
st

cargar las tablas, seleccionamos la tabla en la que se cargó la lista y luego en la pestaña Power
.in

Pivot, elegimos Agregar A modelo de datos.


s
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
47 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
co
a.
op
ur
oe
ut
it
st
.in

Cuando se agrega la tabla al modelo de datos, se abre una ventana independiente mostrando la
s

tabla que se agregó al modelo. Esta ventana es el editor de la herramienta Power Pivot.
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
48 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
co
a.
op
ur
oe
ut
it
st
.in

En Power Pivot, las tablas del modelo de datos aparecen en pestañas, de forma similar a como
s
do

aparecen en Excel.
ca

Power Pivot permite también editar las tablas, por ejemplo, vamos a cambiar el nombre de la tabla
ifi

que acabamos de agregar, haciendo doble clic donde indica la flecha y escribiendo el nuevo nombre.
rt
ce

certificados.institutoeuropa.com
49 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

Para luego obtener datos más concretos vamos a modificar la consulta combinada, para que nos

muestre solo el primer y último día de cotización. Pero claro a nosotros nos interesa tener solo en un

certificados.institutoeuropa.com
50 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

registro o fila ambos datos, para eso crearemos dos consultas, una para obtener el primer día y otra

para el ultimo, con las dos consultas, combinaremos ambas para tener todos los datos conjuntos.

Comencemos con la primera consulta.

Podemos recuperar la consulta dirigiéndonos a la pestaña Consultar.

m
co
Como vemos podemos navegar por las distintas herramientas sin perder nada de lo que estábamos

haciendo, lo que facilita mucho el trabajo.

a.
op
Antes de modificar la consulta haremos un duplicado como copia de seguridad. Seleccionamos la

consulta y en la barra de herramientas, duplicar.

ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

Una vez duplicada, editamos, para filtrar y que se incluyan solo el primer día de cotización.

certificados.institutoeuropa.com
51 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

Para filtrar por día de cotización tenemos cambiar el tipo del campo New.column.date a tipo fecha.

Para cambiar el tipo, seleccionamos la columna, y en la barra de herramientas, tipo de datos,

m
elegimos tipo fecha.

co
a.
op
ur
oe
ut
it
st

Una vez transformado el tipo de dato, ya podemos filtrar por fecha, para que esta columna solo
.in

contenga el primer día de cotización del año. Seleccionamos el primer día de cotización. Pulsando en

la columna y seleccionando solo el primer día (02/01/2009).


s
do
ca
ifi
rt
ce

Cambiamos el nombre a la consulta para saber que es el primer día de cotización. Y vamos a por la

segunda consulta.

certificados.institutoeuropa.com
52 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

Duplicaremos la consulta anterior y utilizaremos la duplicada para la segunda consulta. Al duplicar

la se abrirá el editor de consultas.

Para filtrar por el último día, Hacemos clic en el icono del engranaje, a la derecha de la entrada

Filas Filtradas, en la sección Pasos aplicados del panel Configuración de consulta.

m
co
a.
op
ur
oe
ut
it
st
s .in
do

Aparecerá la siguiente ventana.


ca
ifi
rt
ce

Modificamos la fecha del desplegable por la de la ultima entrada (31/12/2009), y aceptamos.

Una vez que tenemos las dos consultas, combinaremos ambas consultas. Barra de herramientas,

combinar.

certificados.institutoeuropa.com
53 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
co
a.
op
ur
oe
ut
it

Cuando finalice el proceso, se abrirá el editor de consultas. Cambiaremos el nombre a datos


st

anuales, ya que contiene todos los datos de un año.


s .in

Como es una consulta combinada contiene columnas expandibles, como hicimos anteriormente,
do

expandimos las columnas.


ca
ifi
rt
ce

certificados.institutoeuropa.com
54 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
co
a.
op
ur
oe
ut
it
st
s .in

Al finalizar ya tenemos los datos modelados, aplicamos y cerramos.


do
ca

Al terminar el proceso, vamos a cargar la hoja del cálculo en Power Pivot, y desde ahí editaremos

los datos. Para ello con la hoja de datos anuales seleccionada, nos desplazamos hacia la pestaña
ifi

Power Pivot, Agregar a modelo de datos.


rt
ce

Si nos fijamos se han generado muchas columnas que no vamos a utilizar y otras que necesitamos

cambiarlas de nombre, así que con la herramienta Power Pivot realizaremos estos pasos.

Vamos a cambiar el nombre de la columna New.column.date por Fecha primer día y el nombre de

la columna NewColumn.NewColumn.date a fecha de último día.

certificados.institutoeuropa.com
55 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

Quitamos las siglas GICS de los nombres de columna Sector GICS y Subsector GICS.

m
co
Cambia el nombre de NewColumn.stock_price_close a Cierre del primer día y el de

a.
NewColumn.NewColumn.stock_price_close a Cierre del último día.

op
Si lo deseamos, podemos eliminar las siguientes columnas, porque son redundantes: Clave,

ur
NuevaColumna.Sector GICS, NuevaColumna.Subsector GICS, NuevaColumna.Dirección de
oe
la sede, NuevaColumna.Clave.
ut

Si queremos, podemos cambiar el nombre a las columnas para facilitar el trabajo más adelante.
it

Ahora que tenemos los datos modelados, podemos empezar a crear cálculos, jerarquías…etc. con
st

Power Pivot.
.in

Crear cálculos
s
do

Ya que tenemos los datos anuales, podemos calcular la ganancia global, tanto en dólares o Euros,
ca

como en porcentajes de cada valor. Todo esto lo realizaremos mediante campos calculados, estos

campos calculados usan fórmulas de Expresiones de análisis de datos (DAX). Estas Expresiones
ifi

son muy parecidas a las de fórmulas de Excel, partiendo de que ya tenemos conocimiento de estas
rt
ce

nos resultara mucho más fácil.

Comenzamos agregando una nueva columna. Llamada ganancias y pérdidas.

Después en la barra de fórmulas en la barra de fórmulas de DAX, esta barra a medida que vamos

certificados.institutoeuropa.com
56 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

escribiendo nos ofrece sugerencias basadas en tablas disponibles.

Ganancias y pérdidas en dólares

m
Ganancias y pérdidas en porcentaje

co
a.
op
ur
Además de las nuevas columnas, podemos crear algunos campos calculados para que muestren
oe
sumas de cantidades, por ejemplo, las ganancias o pérdidas totales. Se hace seleccionando una celda
ut

del área de cálculo de Power Pivot, que es la colección de celdas que hay entre los datos de la tabla

y las pestañas. Y añadirle la fórmula adecuada en este caso es la siguiente.


it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
57 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

Siguiendo los pasos anteriores crearemos dos cálculos, que se utilizaran más adelante para crear informes:

Ganancia promedio en dólares:

Ganancia promedio en porcentaje:

m
co
a.
op
ur
Crear relaciones
oe
La herramienta Power Pivot también es capaz de generar relaciones entre tablas. Estas establecen
ut

una conexión entre tablas, basada en una columna de cada una de las tablas que contienen datos

idénticos o similares. Estas relaciones permiten crear informes que incluyen datos de tablas
it
st

relacionadas.
.in

Vamos a crear una relación entre la tabla SP 500 y la tabla datos anuales. Para esto elegiremos
s

la vista diagrama en la selección Vista de la barra de herramientas.


do
ca
ifi
rt
ce

Y se mostrará lo siguiente, vemos como las tablas cargadas en Power Pivot se muestran aquí.

certificados.institutoeuropa.com
58 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
co
a.
Para crear la relación arrastramos el campo Símbolo del valor de la tabla SP500 hasta el campo

op
Símbolo del valor de la tabla datos anuales.

ur
oe
ut
it

Y con estos pasos ya tenemos la relación entre ambas tablas.


st
s .in
do
ca
ifi
rt
ce

Crear jerarquías

Las jerarquías son agrupaciones de elementos de datos que no tienen una relación lógica. Al usar

jerarquías en Power Pivot permite crear informes para investigar los datos en profundidad.

Nosotros queremos crear una jerarquía entre el campo sector y subsector, nos dirigimos a menú

certificados.institutoeuropa.com
59 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

de diagrama, en la tabla datos anuales, seleccionamos los campos sector y subsector y pulsamos en

botón derecho crear jerarquía.

m
co
a.
op
Aceptamos y el resultado es una jerarquía, que contiene los campos deseados. Con esto ya tenemos

ur
todo listo para crear informes con la herramienta Power View.
oe
ut

3. POWER VIEW
it

Es una tecnología que permite crear fácilmente informes y visitas analíticas con gráficos
st

interactivos, que ayudan inspeccionar y visualizar los datos de distintas formas. La visualización es
.in

intuitiva e interactiva de cuadros, tableros y mapas.


s
do

Todo esto nos permite crear rápidamente, y con poco conocimiento, una presentación vistosa que

haga referencia a un análisis de negocio.


ca
ifi
rt
ce

certificados.institutoeuropa.com
60 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
co
a.
op
ur
oe
ut

Se pueden obtener visualizaciones de todo tipo en Power View, y los informes creados en Power
it

View se comparten fácilmente con otros usuarios. Los consumidores de informes pueden analizarlos
st

de forma interactiva.
.in

Instalación
s
do

Power View es una herramienta de Excel, solo debemos de habilitar, para esto seguiremos los pasos

de la herramienta anterior, una vez llegados al siguiente paso.


ca
ifi
rt
ce

En lugar de seleccionar Power Pivot seleccionamos Power View. Una vez instalado vemos en la

pestaña insertar como aparece Power View.

certificados.institutoeuropa.com
61 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

Crear informe

Para crear un nuevo informe, nos dirigimos hacia la pestaña Power View indicada en el paso

anterior. Esto crea una hoja de cálculo nueva. La pestaña Power View no aparecerá hasta que haya

m
una hoja de cálculo activa, si observamos ahora ya aparece la pestaña Power View.

co
Al iniciar Power View si tenemos una versión antigua de Silverlight, o directamente no la tenemos

a.
instalada, nos puede saltar una alerta de que no tenemos Silverlight, en este caso pulsamos en

op
Instalar Silverlight:

ur
oe
ut
it
st

Solamente será descargar el paquete para nuestro sistema y ejecutar la instalación, una vez
.in

finalizada la instalación ya dispondremos de Power View al 100%


s
do

Empecemos a crear nuestro primer informe, en el que vamos a mostrar los resultados de cada
ca

sector por separado, de la tabla datos anuales. Como vemos en la parte derecha aparecen todas las

tablas disponibles, desplegamos la tabla datos anuales para que aparezcan los campos de esta.
ifi
rt
ce

Si no fijamos bien hay muchos campos que no vamos a utilizar, estos campos los podemos ocultar

certificados.institutoeuropa.com
62 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

mediante la herramienta Power Pivot, con esto facilitaremos la búsqueda de campos ya que al

contener tantos puede ser un poco confuso.

Para corregirlo, nos dirigimos hacia la pestaña Power Pivot y administrar.

m
co
Se iniciará Power Pivot, seleccionamos la tabla datos anuales y ocultamos los campos que no

a.
queremos que aparezcan. Para ocultar un campo botón derecho sobre el campo y, ocultar en

op
herramientas cliente.

ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

Ocultamos todos los campos excepto los siguientes.

certificados.institutoeuropa.com
63 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
co
a.
op
ur
oe
ut
it

Una vez ocultados guardamos y nos aparecerá el siguiente mensaje. Nos informa de que se ha
st

modificado el modelo de datos, esta notificación aparecerá siempre que hagamos un cambio en el
.in

modelo de datos y volvamos a Excel.


s
do
ca
ifi
rt
ce

Si desplegamos la tabla de nuevo observamos que contiene muchos menos campos, siendo así más

fácil la búsqueda. Si necesitamos algún campo oculto, podemos volver a Power Pivot y mostrar el

campo siguiendo los pasos anteriores.

certificados.institutoeuropa.com
64 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

Crear informe de Sectores

Para generar el informe, arrastramos el campo ganancia o pérdida en dólares y sector hasta el

informe. Automáticamente nos crea una tabla y la suma de todas las ganancias.

certificados.institutoeuropa.com
65 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
co
a.
op
ur
oe
Tabla generada:
ut
it
st
s .in
do
ca
ifi
rt
ce

Vamos a crear este gráfico con barras, con lo que seleccionamos la tabla, después, nos dirigimos a,

Diseñar, Cambiar Visualización, Grafico en barras, Barra aplicada en la cinta de opciones.

certificados.institutoeuropa.com
66 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
co
a.
Y obtendremos.

op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

Pero están todas las barras del mismo color, pongamos cada sector de un color. Para cambiar esto

debemos cambiar las leyendas del gráfico, arrastrando el campo sector, hasta la sección leyenda de

campos.

certificados.institutoeuropa.com
67 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi

Obtendremos el siguiente resultado, cada sector con un color determinado.


rt
ce

certificados.institutoeuropa.com
68 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
co
a.
op
ur
Como observamos, tenemos el nombre del sector a lado de cada barra con lo que podemos quitar la
oe
leyenda. Para quitar la leyenda nos dirigimos a, Presentación, Etiquetas, Leyenda y, Elegimos
ut

ninguna.
it
st
s .in
do
ca
ifi
rt
ce

De manera que el informe quedara así.

certificados.institutoeuropa.com
69 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
co
a.
op
Con power View podemos crear un informe general el cual se vaya cambiando según el sector que

ur
elijamos en el grafico principal. Crearemos un gráfico que muestre la ganancia por sector, para este

gráfico utilizaremos un gráfico de líneas.


oe
ut
it
st
s .in
do
ca
ifi
rt
ce

Si observamos el grafico de la derecha, al cambiar del sector cambia de forma y color.

certificados.institutoeuropa.com
70 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
co
a.
op
ur
Crearemos todos los gráficos según nuestra necesidad.oe
Comparación de Sectores
ut

Para comparar vamos a utilizar la jerarquía creada anteriormente. Arrastramos la jerarquía Sector
it
st

y subsector, y el campo ganancia promedio en dólares al informe. Cambiamos la visualización a


.in

gráfico de barras ampliadas y agregamos el campo sector a la leyenda.


s
do
ca
ifi
rt
ce

Creamos la misma tabla pero con el campo de ganancia promedio porcentaje y la alineamos a

certificados.institutoeuropa.com
71 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

lado de la tabla anterior. Para obtener la comparativa visual.

m
co
a.
op
Para una mejor visualización, en cada barra de cada tabla vamos a incluir el valor. Nos dirigimos a,

ur
Presentación, etiquetas de datos y, mostrar. oe
ut
it
st
s .in
do
ca

Obtenemos el valor de cada barra.


ifi
rt
ce

certificados.institutoeuropa.com
72 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

Como, hemos agregado una jerarquía si hacemos doble clic en un sector, podremos acceder a la

información de los subsectores.

m
co
a.
op
ur
oe
ut

POWER MAPS
it
st

Es una de las nuevas herramientas de power BI, con ella se pueden hacer visualizaciones en 3D,
.in

es el complemento para Excel con el que se pueden crear mapas, inspeccionar e interactuar con

datos geográficos, permitiéndonos así descubrir y compartir todos los nuevos conocimientos.
s
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
73 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

Explore y navegue por datos geoespaciales en una experiencia de mapa 3D dentro de Excel.

Instalación

Power Map es una herramienta de Excel, la cual viene instalada ya por defecto en Excel 2016, esta

herramienta está ubicada en la pestaña Insertar, Mapas 3D.

m
co
a.
op
Crear recorrido Power Map

ur
Para iniciar Power Map, seleccionamos la tabla de datos anuales y nos dirigimos a la barra de
oe
herramientas, Insertar, Paseos, Mapa 3D.
ut
it
st
s .in
do
ca

Se abrirá la ventana de Power Map.


ifi
rt
ce

certificados.institutoeuropa.com
74 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
co
a.
op
ur
oe
ut
it
st
s .in

Como vemos en la parte derecha de la pantalla, tenemos una lista de campos de la tabla datos
do

anuales y otra sección para las capas. Para generar una representación en el mapa tenemos que
ca

arrastrar algún campo de tipo dirección, país, región, código postal, etc... En nuestro caso vamos a
ifi

arrastrar el campo Address of Headquarters, dirección de sede al campo de ubicación:


rt
ce

certificados.institutoeuropa.com
75 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
co
a.
op
Una vez indicada la posición geográfíca, en este caso la dirección, añadiremos el campo sector a

ur
categoría.
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

Si observamos los cambios del mapa, crea columnas de color en cada región, según el sector de

industria que contiene. Creando así un informe geográfico muy atractivo.

certificados.institutoeuropa.com
76 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
co
a.
op
ur
oe
ut
it
st
s .in

Podemos cambiar el tipo de visión, por ejemplo, de columnas a burbujas.


do
ca
ifi
rt
ce

Observamos como la representación del mapa ha cambiado.

certificados.institutoeuropa.com
77 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
co
a.
op
ur
oe
ut
it
st
.in

Si navegamos un poco por la barra de herramientas podremos encontrar más tipos de


s
do

representaciones sobre el mapa, axial como cambiar el tema, visión en 2D, etc.…
ca

Si agregamos escenas y realizamos cambios en ellas, todos estos cambios se reproducirán en el


ifi

paseo, creando así un informe interactivo mediante una reproducción.


rt

Tableau es una empresa de Software que desarrolla productos para la visualización de datos
ce

interactivos. Tableau contiene una funcionalidad de mapas, pudiendo trazar cualquier coordenada

de latitud y longitud.

certificados.institutoeuropa.com
78 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
Fuente: Summan.com

co
a.
Estamos ante una herramienta de visualización de datos interactiva, en donde el usuario puede

op
interactuar con los datos, comparando, filtrando, conectando unas variables con otras, etc. Su

creciente popularidad quizás se deba a que no está pensado para un usuario técnico de sistemas,

ur
sino que está orientado a que cualquier persona en cualquier ámbito pueda manejar la información
oe
de manera sencilla y presentarla de una forma llamativa.
ut

Completa los huecos de la siguiente frase.


it

Tableau es una empresa de [[Software]] que desarrolla [[productos]] para la [[visualización]] de


st

datos [[interactivos]]. Tableau contiene una funcionalidad de mapas, pudiendo trazar cualquier
coordenada de [[latitud]] y [[longitud]].
s .in

Estamos ante una herramienta de visualización de datos interactiva, en donde el


do

usuario puede interactuar con los datos, comparando, filtrando, conectando unas
variables con otras, etc.
ca
ifi

Permite el manejo de bases de datos en Excel, Access, Texto, MySQL, Oracle, o bien se puede usar
rt

su API para la extracción sistemática de los datos. Además es multiplataforma y multidispositivo por
ce

lo que se puede acceder a la información desde cualquier lugar.

Una de las características de mayor relevancia de este software es su integración con R.

Aunque es software propietario se puede adquirir una versión de prueba desde el enlace siguiente:

https://www.tableau.com/es-es/products/server/options

Vamos a ver cómo utilizar Tableau. Una vez lo tengamos instalado tableau nos aparecerá la

siguiente ventana:

certificados.institutoeuropa.com
79 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
co
a.
op
ur
oe
ut
it
st

En connect podremos elegir si queremos usar un archivo para los datos o un servidor de base de
.in

datos. Elegiremos Excel file y usaremos el archivo de ejemplo Superstore.xls que viene con la
s
do

instalación de tableau.
ca

El archivo de excel tiene tres hojas. Nosotros elegiremos Orders la elegiremos y arrastraremos al
ifi

cuadrado:
rt
ce

certificados.institutoeuropa.com
80 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
co
a.
op
Lo siguiente será elegir los datos que serán analizados eligiendo las dimensiones y medidas. Las

ur
dimensiones son los datos descriptivos mientras que las medidas son datos numéricos. Elegiremos
oe
Category y Region como dimensiones y ventas como medidas. Arrastraremos como mostramos en

la siguiente pantalla:
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
81 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

Como vemos los datos nos aparecerán en formato de texto. Si queremos visualizarlos en formato

gráfico en la sección marks donde hemos movido Sales podemos coger y arrastrar sales a las

columnas y lo visualizaremos de la siguiente forma:

m
co
a.
op
ur
oe
ut
it
st
s .in
do

De esta manera podremos visualizar datos de maner sencilla y rápida.


ca

CartoDB
ifi
rt

CartoDB es una plataforma en la nube utilizado para crear mapas interactivos a partir de un
ce

conjunto de datos.

certificados.institutoeuropa.com
82 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
co
a.
op
En este caso estamos ante una herramienta que permite el análisis y visualización de datos

ur
geolocalizados, facilitando la toma de decisiones a todos los niveles. Es decir, se trata de una
oe
herramienta para realizar análisis de datos con mapas, permitiendo a los usuarios analizar y crear
ut

herramientas con sus datos geoespaciales sin necesidad de conocimientos en programación, con el
it

objetivo de hacer de los mapas herramientas para el día a día en los diferentes departamentos de la
st

empresa.
.in

El hecho de presentar esta herramienta se debe a que a pesar de que cada vez más son las
s

empresas que explotan los datos que poseen, menos del 25% de ellas hacen uso de los datos
do

geolocalizados, pese a que entorno el 80% de los datos generados tienen un componente de
ca

localización.
ifi

El punto fuerte de CARTO es la localización inteligente, analizar y conseguir la información de los


rt

datos de localización de una forma sencilla y accesible para cualquier compañía y no solo para
ce

grande organizaciones con departamentos de inteligencia dedicados a esta labor.

Con Carto Builder se puede analizar los datos mediante un sistema de localización inteligente

automática mediante cuadros de mando que pueden compartirse de una forma sencilla y rápida.

Vamos a ver cómo crear un mapa interactivo utilizando un conjunto de datos con CartoDB.

Vamos a utilizar para este el listado de Centros Deportivos Municipales de la página del

ayuntamiento de Madrid:

certificados.institutoeuropa.com
83 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
co
a.
op
ur
oe
ut

Nos descargaremos el archivo csv que es uno de los formatos admitidos por CartoDB.
it
st

Una vez tengamos los datos nos iremos a cartodb.com y nos crearemos una cuenta.
.in

Tras crear la cuenta y hacer login le daremos a “Create your firts table”.
s
do

Se nos abrirá la siguiente ventana para elegir nuestra fuente de datos que en este caso abra un
ca

archivo de datos:
ifi
rt
ce

certificados.institutoeuropa.com
84 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
co
a.
op
ur
oe
Lo seleccionaremos y le daremos a create table. Automáticamente nos creará una tabla como la
ut

siguiente:
it
st
s .in
do
ca
ifi
rt
ce

Para visualizar los datos solamente veremos darle al botón que pone “Map View”:

certificados.institutoeuropa.com
85 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
co
a.
op
Desde el menú de la derecha si lo deseamos podremos realizar una consulta SQL para que solo nos

ur
muestre cierta información: oe
ut
it
st
s .in
do
ca
ifi
rt
ce

De esta manera habremos creado nuestro mapa en CartoDB.

La filosofía principal para sugerir perspectivas de indicadores es que todos ellos


deben estar en perfecto balance, abarcando casi la totalidad de los indicadores
necesarios para monitorear la empresa, pero la pregunta es cómo vincular las
distintas perspectivas.

Verdadero.

certificados.institutoeuropa.com
86 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

Falso.

Comenzar Actividad

m
Relaciona los elementos de la columna Derecha con la columna Izquierda

co
Análisis interno 1 Es el proceso de estudiar las
áreas del entorno, próximas y

a.
remotas, que pueden influir sobre

op
Análisis externo 2 la organización.

ur
oe Supone el conocimiento y
evaluación de la realizada que
está presente dentro de la
ut

organización: qué recursos


representan fuerzas positivas y
it

ventajas (Fortalezas), y qué


recursos y características
st

representan fuerzas negativas


.in

(debilidades) y desventajas.
s
do

El análisis DAFO (Debilidades, Amenazas, Fortalezas y Oportunidades) es una


ca

herramienta fundamental en esta fase del diseño del CMI, creada en 1965 por
Christense, Learned, Guth y Andrews.
ifi
rt
ce

Power View es una herramienta de Excel, solo debemos de habilitar, para esto
seguiremos los pasos de la herramienta anterior, una vez llegados al siguiente
paso.

Verdadero.

Falso.

certificados.institutoeuropa.com
87 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

Librerías de Visualización: D3, Leaflet, Cytoscape.

Librerías de visualización

A continuación vamos a ver las siguientes librerías principales de visualización:

D3

m
Para crear a partir de datos, infogramas interactivos y dinámicos.

co
a.
Leaflet

op
Para la creación de mapas.

ur
oe
Cytoscape
ut

Para la creación de gráficos para análisis y visualización.


it
st
.in

D3 es una librería de Javascript para crear a partir de datos, infogramas interactivos y dinámicos.
s

Para utilizar la librería D3 necesitaremos de un servidor web e incluir la librería D3 de la siguiente


do

manera:
ca
ifi
rt
ce

Vamos a crear un gráfico utilizando un archivo CSV:

certificados.institutoeuropa.com
88 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

El archivo CSV contendrá los siguientes valores:

m
co
El archivo HTML será el siguiente:

a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
89 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

El aspecto que tendrá el gráfico será el siguiente:

certificados.institutoeuropa.com
90 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
co
a.
op
ur
Leaflet oe
Leaflet como D3 es una librería javascript pero para la creación de mapas.
ut

Vamos a mostrar un ejemplo básico de la creación de un mapa en leaflet:


it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
91 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
co
a.
op
ur
oe
ut
it
st
.in

Este sería el resultado:


s
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
92 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
co
a.
op
ur
oe
ut
it
st
s .in
do

Ahora si queremos visualizar datos GeoJson en leaflet haremos lo siguiente.


ca

Utilizaremos un conversor para convertir datos vectoriales a formato GeoJSON. Una vez tengamos el
ifi

archivo deberemos cambiar su extensión a .js y lo editaremos con notepad añadiéndole var
rt

countrie =:
ce

certificados.institutoeuropa.com
93 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
co
a.
op
ur
De esta manera hemos metido todo el contenido del archivo GeoJson a la variable contries ahora

en nuestro mapa que ya habíamos creado añadiremos la siguiente sentencia:


oe
ut
it
st
.in

Así añadiremos el archivo js que hemos creado antes. Este archivo debe de estar en la misma
s
do

carpeta que el archivo html:


ca
ifi
rt
ce

Y también los datos al mapa:

certificados.institutoeuropa.com
94 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
co
a.
op
ur
Este será el aspecto final de nuestro mapa. oe
Cytoscape
ut
it

Como las dos librerías anteriores Cytoscape es una librería de creación de gráficos para análisis y
st

visualización.
.in

Nos descargaremos la librería y la añadiremos a nuestro archivo html:


s
do
ca
ifi
rt
ce

El archivo cytoscape.js debe de estar en la misma carpeta que el archivo html que vamos a crear

Para añadir un gráfico deberemos añadir un div y un estilo a ese div:

certificados.institutoeuropa.com
95 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
co
Ahora vamos a crear el gráfico, crearemos la instancia de cytoscape y un array de elementos para

a.
ser añadidos al gráfico:

op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

Si abrimos ahora nuestra página veremos algo similar a esto:

certificados.institutoeuropa.com
96 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

m
co
a.
op
De esta manera podremos crear gráficos interactivos usando Cytoscape.

ur
oe
ut
it

Comenzar Actividad
st

Relaciona los elementos de la columna Derecha con la columna Izquierda


.in

D3. 1 Para la creación de gráficos para


s

análisis y visualización.
do

Leaflet. 2
ca

Para la creación de mapas.


ifi

Cytoscape. 3
rt

Para crear a partir de datos,


infogramas interactivos y
ce

dinámicos.

Son librerías principales de visualización.

certificados.institutoeuropa.com
97 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

Recuerda

[[[Elemento Multimedia]]]

m
co
a.
op
ur
oe
ut
it
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
98 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

Autoevaluación

Tableau…

Es una empresa de Software que desarrolla productos para la visualización de datos


interactivos.

m
Es una empresa de Hardware que desarrolla productos para la visualización de datos

co
interactivos.

a.
op
Es una pyme de Software que distribuye productos para la visualización de datos
interactivos.

ur
oe
CartoDB…
ut
it

Es una plataforma en la nube utilizada para crear mapas interactivos a partir de un


st

conjunto de datos.
s .in

Es una plataforma en la nube utilizada para crear mapas interactivos sin datos.
do
ca

Es una plataforma en la nube utilizada para crear mapas no interactivos a partir de un


ifi

conjunto de datos.
rt
ce

D3…

D3 es una librería de Javascript para crear a partir de datos, infogramas estáticos.

D3 es una librería de Javascript para crear a partir de datos, infogramas interactivos


pero no dinámicos.

D3 es una librería de Javascript para crear a partir de datos, infogramas interactivos y

certificados.institutoeuropa.com
99 / 100
[AFO017713] IFCT127PO ARQUITECTURA BIG DATA
[MOD015921] IFCT127PO ARQUITECTURA BIG DATA
[UDI080719] VISUALIZACIÓN DE DATOS.

dinámicos.

Indica si la siguiente afirmación es verdadera o falsa: “Leaflet como D3 es una


librería JavaScript pero para la creación de mapas”.

Verdadero.

m
Falso.

co
a.
Indica si la siguiente afirmación es verdadera o falsa: “Leaflet no permite usar

op
datos Geojson”.

ur
oe
Verdadero.
ut
it

Falso.
st
s .in
do
ca
ifi
rt
ce

certificados.institutoeuropa.com
100 / 100

También podría gustarte