Está en la página 1de 27

Big Data Essential

Intro
Contenidos
I. Big Data III. Tecnologías Big Data en Batch
➢ Aspectos Generales ➢ Ingesta (Flume, Sqoop)
➢ Que es el Big Data? ➢ Almacenamiento (Hive,Impala, Avro, Parquet)
➢ Escenarios de Big Data ➢ Procesamiento (OnDisk, OnMemory)
➢ Drivers para la adopción ➢ Data Blending(HQL)

II. Fundamentos de Hadoop IV. Tecnologías Big Data en Real Time


➢ Componentes Core (HDFS , YARN) ➢ Procesamiento(Kafka, SparkStreaming)
➢ MapReduce ➢ Bases de Datos NoSQL(HBase, Cassandra)
➢ Ecosistema de Hadoop
V. Deploye Machine Learning
➢ Arquitectura DataLakes
➢ Pipelines (Batch, Online, RealTime)
➢ Getting Started with Hadoop
VI. Caso de Éxito con el uso de Big Data

22/05/2019 Ing. Breyson Meza 2


Tecnologías en Real Time
Lo esencial
Contenidos
I. Big Data
II. Fundamentos de Hadoop
III. Tecnologías Big Data en Batch
IV. Tecnologías Big Data en Real Time
➢ Procesamiento(Kafka, SparkStreaming)
➢ Bases de Datos NoSQL(HBase, Cassandra)
➢ Arquitectura Unificada de Datos

V. Caso de Éxito con el uso de Big Data

24/05/2019 Ing. Breyson Meza 4


Bases de Datos NoSQL
Hbase, Cassandra

24/05/2019 Ing. Breyson Meza 5


Apache Hbase
• HBase es una base de datos distribuida no relacional de código abierto modelada
a partir de Google BigTable y escrita en Java.
• Su desarrollo forma parte del proyecto Hadoop de la Fundación de Software
Apache y se ejecuta sobre HDFS, proporcionando capacidades al estilos de
BigTable para Hadoop.

25/05/2019 Ing. Breyson Meza 6


What is HBase?

24/05/2019 Ing. Breyson Meza 7


Google BigTable

25/05/2019 Ing. Breyson Meza 8


What Differentiates HBase?

25/05/2019 Ing. Breyson Meza 9


HBase Usage Scenarios (1)

25/05/2019 Ing. Breyson Meza 10


HBase Usage Scenarios (2)

25/05/2019 Ing. Breyson Meza 11


Apache Cassandra
• Apache Cassandra es una base de datos NoSQL distribuida y basada en un
modelo de almacenamiento de «clave-valor», de código abierto que está escrita
en Java. Permite grandes volúmenes de datos en forma distribuida. Por ejemplo,
lo usa Twitter para su plataforma.
• Su objetivo principal es la escalabilidad lineal y la disponibilidad. La arquitectura
distribuida de Cassandra está basada en una serie de nodos iguales que se
comunican con un protocolo P2P con lo que la redundancia es máxima. Está
desarrollada por Apache Software Foundation.

25/05/2019 Ing. Breyson Meza 12


Hbase vs Casandra
• Tanto HBase como Cassandra son la base de datos NoSQL y están diseñadas para
administrar conjuntos de datos extremadamente grandes. Pero tienen diferencias
que se manifiestan a nivel de uso y arquitectura.

25/05/2019 Ing. Breyson Meza 13


Similitudes Hbase y Cassandra
• Cassandra y HBase ambos son descendientes de Bigtable. HBase originó
principalmente de Bigtable. Cassandra, por otro lado, se derivó de Bigtable y
Dynamo de Amazon.
• Algunas de las principales similitudes entre HBase y Cassandra:
• Base de datos
• Escalabilidad
• Replicación
• Programación / Codificación

25/05/2019 Ing. Breyson Meza 14


Similitudes Hbase y Cassandra
1. Base de datos
• Tanto Cassandra como HBase son bases de datos NoSQL de código abierto.
• Ambas bases de datos pueden administrar conjuntos de datos extremadamente grandes y
manejar datos no relacionales.
• Estos datos incluyen imágenes, videos, audio, etc. En otras palabras, tanto Cassandra como
HBase nacen para Big Data.
2. Escalabilidad
• Tanto Cassandra como HBase tienen una característica de alta escalabilidad lineal. Eso
significa que para manejar más datos, el usuario simplemente debe aumentar la cantidad de
nodos en el clúster. Debido a esta característica, ambos son una excelente opción para
manejar una gran cantidad de datos.

25/05/2019 Ing. Breyson Meza 15


Similitudes Hbase y Cassandra
3. Replicación
• Siempre hay una posibilidad de fallo en un programa o aplicación. Debido a estos fallos se
pueden perder datos. Pero tanto en Cassandra como en HBase, existe una protección que
evita la pérdida de datos incluso después de un fallo. Esto se hace a través de la replicación.
• Los datos escritos en un nodo se replican en muchos nodos del clúster. Debido a esto, si un
nodo falla, siempre hay un nodo redundante para el acceso a los datos.
4. Programación / Codificación
• Ambas son bases de datos orientadas a columnas que implementan rutas de escritura
similares. Las columnas son básicamente la unidad de almacenamiento principal en la base
de datos.
• Un usuario puede agregar columnas según sus requisitos. Además, la ruta correcta comienza
con el registro de la operación de escritura en un archivo de registro. Esto se hace
básicamente para garantizar la durabilidad.
• A ambos se accede principalmente a través de Java, que también es el lenguaje en el que
están escritos.

25/05/2019 Ing. Breyson Meza 16


Diferencias Hbase vs Cassandra
• Después de pasar por las similitudes, notaremos algunas diferencias entre HBase
y Cassandra.
• Algunas de estas diferencias son:
1. Infraestructura
2. Soporte
3. Nodos
4. Transacciones
5. Query Lenguage
6. Documentación

25/05/2019 Ing. Breyson Meza 17


Diferencias Hbase vs Cassandra
1. Infraestructura
• HBase utiliza la infraestructura de Hadoop. Esta infraestructura de HBase-Hadoop consta de varias
partes móviles como Zookeeper, HBase master, Data nodes y Name Node.
• Cassandra, por otro lado, tiene una infraestructura y operación diferente a la de Hadoop.
Cassandra puede utilizar diferentes DBMS junto con su infraestructura. Su infraestructura se basa
en una estructura de un solo nodo.
2. Soporte
• HBase, no admite particiones ordenadas.
• HBase ofrece una capacidad de coprocesador. En HBase, una sola fila es atendida exactamente por
un servidor de región a la vez. Por lo tanto, no admite el equilibrio de carga de lectura en una sola
fila. HBase también admite exploraciones basadas en rango.
• Cassandra, por otro lado, apoya la partición ordenada. Esta partición ordenada lleva a hacer un
tamaño de fila en Cassandra hasta 10 megabytes. Desafortunadamente, el uso de particiones
ordenadas crea puntos calientes para los usuarios.
• Cassandra también está limitada en el apoyo a las exploraciones de filas basadas en rango.
Además, Cassandra no admite la funcionalidad de coprocesador.

25/05/2019 Ing. Breyson Meza 18


Diferencias Hbase vs Cassandra
3. Nodos
• En Cassandra, un usuario tiene que identificar algunos nodos como nodos semilla. Estos
nodos sirven como puntos para la comunicación inter-cluster. Considerando que, en HBase,
hay nodos maestros. Estos nodos maestros monitorean y coordinan las acciones de los
servidores de la región. Por lo tanto, se garantiza una alta escalabilidad y disponibilidad en
Cassandra al permitir múltiples nodos semilla en un clúster. Por otro lado, aseguramos lo
mismo con los nodos maestros en espera en HBase. En caso de que falle el nodo maestro
principal, el nodo en espera está listo para tomar su lugar.
4. Transacciones
• Cassandra tiene una característica de transacciones ligeras. Los mecanismos utilizados en la
transacción son "Comparar y configurar" y "Aislamiento de escritura a nivel de fila". Por otro
lado, HBase tiene dos mecanismos para estas transacciones. Uno de ellos es ‘Check and Put’
y el otro es el mecanismo ‘Read-Check-Delete’.

25/05/2019 Ing. Breyson Meza 19


Diferencias Hbase vs Cassandra
5. Query Lenguage
• Shell de HBase y Shell de Cassandra, ambos se basan en JRuby Shell. Pero, Cassandra tiene un
lenguaje de consulta específico, CQL. CQL se modela después de SQL. Si se compara, el CQL
es mucho más rico según las características y funciones que HBase. CQL también era
conocido como el lenguaje de programación principal para Cassandra.
6. Documentación
• La documentación de Cassandra es mejor que HBase. Debido a la documentación, trabajar y
aprender Cassandra es más fácil que HBase. Aparte de esto, la configuración de Cassandra
Cluster también es más fácil que la de HBase Cluster..

25/05/2019 Ing. Breyson Meza 20


Arquitectura Unificada de Datos

25/05/2019 Ing. Breyson Meza 21


Arquitecturas BigData Lambda
• Arquitectura de procesamiento de datos
distribuido, escalable y tolerante a fallos que
combina procesado en batch y en streaming
utilizando “commodity hardware”.
• Los datos se envían tanto a la capa de batch como
a la capa speed para su procesamiento.
• La capa batch tiene dos funciones: gestionar el
conjunto de datos maestro (animmutable,
append-only set of raw data), y precomputar las
vistas batch.
• La capa serving indexa las vistas batch para que
puedan consultarse en modo de baja latencia y
de manera ad hoc.
• La capa speed se encarga de las peticiones sujetas
a baja latencia. Trabaja sobre datos recientes
aplicando algoritmos rápidos e incrementales.
• Cualquier consulta se puede responder
combinando los resultados de las vistas en batch
y las vistas en tiempo real.

25/05/2019 Ing. Breyson Meza 22


Arquitecturas BigData Lambda
• Diferentes configuraciones y alternativas tecnológicas

25/05/2019 Ing. Breyson Meza 23


Arquitecturas BigData Lambda
• Ventajas:
• Conserva los datos de entrada sin cambios.
• Esto permite reprocesar los datos cuando se producen cambios de criterio.
• Desventajas:
• Mantener código diferente para producir el mismo resultado de dos sistemas distribuidos
complejos (batch y speed) es costoso
• Código muy diferente para MapReduce y Storm/Apache Spark
• Además, no sólo se trata de código diferente, sino también de depuración e interacción con
otros productos.
• Al final es un problema sobre paradigmas de programación divergentes y diferentes.

25/05/2019 Ing. Breyson Meza 24


Arquitectura Unificada de Datos
CANALES APLICACIONES
APPs
(ACCESO A USUARIOS) EMPRESARIALES

App DB App DB App DB

APIs

DataLake
App Share Transacional
App cores Data DataLake
Analítico
Arquitectura unificada de datos

25/05/2019 Ing. Breyson Meza 25


25/05/2019 Ing. Breyson Meza 26
Criterios para determinar tipo de tecnologías a utilizar

25/05/2019 Ing. Breyson Meza 27

También podría gustarte