Big Data II: Herramientas para el procesamiento de datos, Universidad Europea

Diapositivas de la Universidad Europea sobre Big Data II: Herramientas. El Pdf presenta los principales instrumentos utilizados en proyectos Big Data, con un enfoque en los lenguajes de programación Python y Julia, así como motores de procesamiento y búsqueda para el análisis de grandes volúmenes de datos en Informática a nivel universitario.

Ver más

49 páginas

Ve más allá
BIG DATA II
TEMA 3: Herramientas
© Copyright Universidad Europea. Todos los derechos reservados
2
Objetivos:
Conocer las pricipales herramientas que se utilizan en los proyectos Big
Data.
Comprender la aportación que puede realizar cada herramienta a un
proyecto Big Data.
Incorporar criterios para decidir qué herramienta es útil en nuestro proyecto
Big Data.

Visualiza gratis el PDF completo

Regístrate para acceder al documento completo y transformarlo con la IA.

Vista previa

Herramientas Big Data

Ue Universidad Europea BIG DATA II TEMA 3: Herramientas Ve más alláve Universidad Europea

Objetivos de las Herramientas Big Data

  • Conocer las pricipales herramientas que se utilizan en los proyectos Big Data.
  • Comprender la aportación que puede realizar cada herramienta a un proyecto Big Data.
  • Incorporar criterios para decidir qué herramienta es útil en nuestro proyecto Big Data.

@ Copyright Universidad Europea. Todos los derechos reservados 2Ue Universidad Europea

Antecedentes del Big Data

Antes del Big Data

  • Procesos de recogida de datos y procesamiento son muy costosos.
  • Hasta el momento se recogían muestras aleatorias del fenómeno, se definía un conjunto de hipótesis y se realizaban estimaciones con una cierta probabilidad.

Con el Big Data

  • Toda la población
  • El análisis no pretende confirmar o invalidar una hipótesis.

PARADIGMA DE CAUSALIDAD Se buscan relaciones causa-efecto

PARADIGMA DE CORRELACIÓN Se buscan relaciones de cualquier tipo entre variables

@ Copyright Universidad Europea. Todos los derechos reservados 3ue Universidad Europea

El Paradigma que Introduce el Big Data

Los datos masivos imponen un nuevo paradigma donde la correlación "sustituye" a la causalidad. Determinar la causalidad de un fenómeno pierde importancia y, en contraposición, "descubrir" las correlaciones entre las variables se convierte en uno de los objetivos principales del análisis.

¿Por qué? ¿Qué?

@ Copyright Universidad Europea. Todos los derechos reservados 4Ue Universidad Europea

De la Computación en Serie a la Computación en Paralelo

Computación en Serie

  • Manera tradicional.
  • Para resolver un problema, se construye un algoritmo y se implementa como un flujo en serie de instrucciones (forma secuencial).
  • Estas instrucciones se ejecutan en una unidad central de procesamiento o ordenador.
  • Sólo puede ejecutarse una instrucción a la vez y un tiempo después de que la instrucción ha terminado, se ejecuta la siguiente.

Computación en Paralelo

  • La computación en paralelo, por el contrario, utiliza simultáneamente múltiples elementos de procesamiento para resolver un problema.
  • Esto se logra mediante la división del problema en partes independientes de modo que cada elemento de procesamiento pueda ejecutar su parte del algoritmo de manera simultánea con los otros.
  • Los elementos de procesamiento son diversos e incluyen recursos tales como una computadora con múltiples procesadores, varios ordenadores en red, hardware especializado, o cualquier combinación de los anteriores.

@ Copyright Universidad Europea. Todos los derechos reservados 5Ue Universidad Europea

Computación en Paralelo: Enfoque Divide y Vencerás

Computación en paralelo: enjoy algorithms Divide & Conquer Approach Base Case Sub-problem size n/2 Solution of Sub- problem size n/2 Problem size n Solution of Problem size n Sub-problem size n/2 Solution of Sub-problem size n/2 Divide Step Combine Step Conquer Step

  • Dividimos el problema en subproblemas de menor tamaño y complejidad
  • Componemos la solución final del problema a partir de las soluciones parciales de los subproblemas

@ Copyright Universidad Europea. Todos los derechos reservados 6Ue Universidad Europea

Sistemas Distribuidos

Definición de Sistema Distribuido

Sistema distribuido

  • Es un conjunto de equipos independientes que actúan de forma transparente actuando como un único equipo.
  • Su objetivo es descentralizar tanto el almacenamiento de la información como el procesamiento.
  • Se llama clúster de ordenadores a la infraestructura física que soporte el sistema distribuido. Pero el sistema distribuido también puede estar en la nube.

Ventajas de los Sistemas Distribuidos

  • Mayor eficacia.
  • Mayor tolerancia a fallos: al estar distribuida la información en nodos.
  • Mayor velocidad: cuando se realiza una consulta, los procesamientos se dividen entre todos los nodos que forman el sistema distribuido, en lugar de enviarlos a un único nodo y que el mismo tenga que hacer todo el trabajo.
  • Escalabilidad: si, por ejemplo, se necesita más procesamiento o añadir más disco duro, en lugar de que los equipos crezcan de forma vertical añadiendo más almacenamiento, RAM o CPU, se añaden equipos de forma horizontal al clúster o sistema distribuido.

@ Copyright Universidad Europea. Todos los derechos reservados 7Ue Universidad Europea

Bases de Datos Distribuidas

Ventajas de las Bases de Datos Distribuidas

BASES DE DATOS DISTRIBUIDAS

  • La información se almacena físicamente en diferentes sitios de la red (si estos servicios son On- promise), aunque lógicamente, de cara a un usuario final es una única base de datos.
  • Cuando queramos acceder a la información, vamos a lanzar una consulta e internamente ya sabrá dónde está almacenado cada uno de esos datos.
  • Independencia respecto al sistema operativo y resulta completamente transparente el sistema operativo para el usuario final.
  • La información queda fragmentada.
  • Las réplicas aportan alta disponibilidad.

@ Copyright Universidad Europea. Todos los derechos reservados 8ue Universidad Europea

Bases de Datos Tradicionales

Bases de Datos Relacionales

BBDD relacionales: almacenan los datos en tablas y permiten las interconexiones o relaciones entre los datos de distintas tablas. Constan de registros (filas) y campos (columnas) que son los distintos tipos de información con que se relacionan. Se relacionana entre sí por medio de claves (identificadores).

  • Sólo sirven para datos estructurados.
  • Para su gestión (crear, modficar, eliminar, consultar, añadir, etc. ) usan el lenguaje SQL (Structured Query Language). Se trata de un lenguaje muy homogeneo y por eso estas BBDD están totalmente estandarizadas.
  • Proporcionan consistencia en los datos (integridad).
  • Requisitos de almacenamiento muy controlados y acotados (pocos gigabytes diarios).
  • Dan respuestas muy rápidas.

Ejemplos de software para procesar BBDD relacionales: DB2, Oracle, MySQL, etc.

@ Copyright Universidad Europea. Todos los derechos reservados 9Ue Universidad Europea

Bases de Datos para Big Data

Bases de Datos No Relacionales

BBDD no relacionales:

  • Datos no estructurados y semiestructurados (pdfs, word, audio, vídeo, emalis, localizaciones geográficas, publicaciones en RRSS).
  • Almacenan los datos en su formato original
  • Muchos más flexibles y adaptables.
  • Son menos rápidos
  • Alta escalabilidad
  • No están estandarizadas (carecen de homogeneización)
  • No ponen el foco en la consistencia de los datos.

Ejemplos de software para procesar BBDD no relacionales: Mongo DB, Cassandra, Hadoop

@ Copyright Universidad Europea. Todos los derechos reservados 10ve Universidad Europea

Tipos de Bases de Datos No Relacionales

Tipos de BBDD no relacionales:

  1. Key value
  2. Column family
  3. Graph DB
  4. Document

@ Copyright Universidad Europea. Todos los derechos reservados 11ve Universidad Europea

Base de Datos Key Value

Tipos de BBDD no relacionales: 1. Key value (clave valor)

Clave Valor Valor Valor

  • Muy parecidas a un diccionario
  • Trabajan en memoria
  • Son muy rápidas

@ Copyright Universidad Europea. Todos los derechos reservados 12ve Universidad Europea

Base de Datos Column Family

Tipos de BBDD no relacionales: 2. Column family (en columnas)

  • Almacenan los datos en columnas en lugar de en filas

1 1 1 1 1 1 1 1

@ Copyright Universidad Europea. Todos los derechos reservados 13ve Universidad Europea

Base de Datos Graph DB

Tipos de BBDD no relacionales: 3. Graph DB

Nodo Aristas

  • Relaciones entre nodos la conforman las aristas
  • Almacenan información tanto en nodos como en aristas

@ Copyright Universidad Europea. Todos los derechos reservados 14ve Universidad Europea

Base de Datos Document

Tipos de BBDD no relacionales: 4. Document

  • Almacenan los datos en forma de documento, en Json (JavaScript Object Notation).

Lenguaje JSON

  • Su texto es legible por humanos, es ligero, requiere menos codificación y se procesa más rápido.
  • Permite transferir estructuras de datos desde cualquier lenguaje a formatos reconocibles por otros lenguajes y plataformas.

@ Copyright Universidad Europea. Todos los derechos reservados 15Ue Universidad Europea

Teorema CAP (Consistency, Availability, Partition tolerance)

Decisiones sobre el Tipo de Base de Datos

TEOREMA CAP (Consistency, Availability, Partition tolerance)

  • Sirve para la toma de decisiones del tipo de BBDD.
  • Para elegir una base de datos, se debe entender cuáles son los atributos más críticos que el sistema distribuido debe garantizar para soportar satisfactoriamente las actividades de la organización.

Este teorema fue presentado por Eric Brewer en el año 2000 y su nombre está basado en los siguientes tres atributos claves de los sistemas distribuidos:

C - Consistencia (Consistency): Se refiere a la lectura coherente del valor actual del dato desde cualquier instancia, es decir que los datos se encuentran sincronizados y replicados en todos los nodos a la vez.

A - Disponibilidad (Availability): Se refiere a obtener una respuesta válida y rápida para todas las solicitudes, aunque existan nodos inactivos, es decir el acceso a los datos sin interrupciones.

P - Tolerancia a particiones (Partition tolerance): Se refiere a la capacidad del sistema para permanecer estable y continuar procesando solicitudes a pesar de ocurrir una partición (interrupción) entre la comunicación de los nodos.

  • :

@ Copyright Universidad Europea. Todos los derechos reservados 16Ue Universidad Europea

Limitaciones del Teorema CAP

TEOREMA CAP (Consistency, Availability, Partition tolerance)

!Un sistema distribuido NO PUEDE CONSEGUIR las tres letras del teorema, es decir no se puede lograr la intersección de los tres atributos!

Consistencia y Disponibilidad: Availibility Consistency System continues to function even with node failures AC RDBMS All users see the same data at the same time Not possible AP Cassandra, CouchDB CP BigTable, MongoDB, HBase Partition Tolerance

Consistencia y Torelancia a particiones

Disponibilidad y Tolerancia a particiones

System continues to function even if the communication failes between nodes

@ Copyright Universidad Europea. Todos los derechos reservados 17Ue Universidad Europea

Opciones de Combinaciones de Atributos CAP

TEOREMA CAP (Consistency, Availability, Partition tolerance)

El Teorema CAP nos da tres opciones de combinaciones de pares de atributos que pueden garantizarse a la vez:

CA: Consistencia y Disponibilidad - Se garantiza el acceso a la información y el valor del dato es consistente (igual) para todas las peticiones atendidas; de haber cambios, se mostrarán inmediatamente. Sin embargo, la partición de los nodos no es tolerada por el sistema de forma simultánea.

AP: Disponibilidad y Tolerancia a la partición - Se garantiza el acceso a los datos y el sistema es capaz de tolerar (gestionar) la partición de los nodos, pero dejando en segundo plano la consistencia de los datos, ya que no se conserva y el valor de dato no estará replicado en los diferentes nodos al instante.

CP: Consistencia y Tolerancia a la partición - Se garantiza la consistencia de los datos entre los diferentes nodos y la partición de los nodos se tolera, pero sacrificando la disponibilidad de los datos, con lo cual, el sistema puede fallar o tardar en ofrecer una respuesta a la petición del usuario.

@ Copyright Universidad Europea. Todos los derechos reservados 18

¿Non has encontrado lo que buscabas?

Explora otros temas en la Algor library o crea directamente tus materiales con la IA.