Este documento presenta una introducción a Big Data, incluyendo las tendencias de la industria, definiciones de Big Data, ejemplos de datos masivos, y utilidades de Big Data. También describe escenarios de análisis empresarial utilizando herramientas como Hadoop, Hive y HDInsight, y cómo Microsoft Excel puede usarse para explotar y analizar grandes conjuntos de datos.
4. Tendencias de la Industria
44x
En 2015, servicios de nube pública tendrán 46%
de crecimiento neto en gasto de ti
5. Introducción: La revolución de los datos
•Big Data, Data Science y lo que nos pueden proporcionar
•Actores de mercado en Big Data
•Utilidades de Big Data
6. ¿Qué es Big Data?
• Big data Consists of datasets that grow so large that they
become awkward to work with using on-hand DB
Management tools.
• Wikipedia
Big data is when the size of the data itself becomes part of
the problem
Mike Lukides, O’Reilly Radar
It’s not just your “Big Data” problems, it’s all about your BIG
“data” Problems.
Alexander Stojanovic, Hadoop Manager on Win Azure
8. Ejemplos de Big Data
12 Tb
día
21 Pb
Hadoop
cluster
7 Pb
mes
1 Tb
tweets/dia
75
Million
scores/day
14 Tb
Hadoop
cluster
4 Billion
Graph
edg/day
7 Tb
datos/dia
9. Ficheros log
Datos
menos
estructura
dos
Datos
públicos
Device
outputs
Texto/
Imágenes
New
Insights
Datos menos estructurados
Intentar un ETL para
transformarlo en relacional
Tiempo de desarrollo elevado
Son datos susceptibles a
cambios de estructura
Archivados y Borrados
Acceso caro
Entonces…¿cómo obtengo insights?
Datos
estructurados
Datos estructurados
Bases de Datos relacionales
Bases de Datos analíticas
Registros
10. ¿Qué es Big Data para ?
• Datos, datos, datos…..
• ¿Big? Hoy es Big, pero dentro de 2-3 años, ¿seguirá siendo big?
• Equipos y negocios “centrados en datos”
• Big Data: “ Barreras para que una organización o equipo puedan almacenar, procesar y
acceder todos los datos que necesitan para operar con eficiencia, tomar decisiones,
reducir riesgos, etc.”
11. Utilidades de Big Data
•Vista completa de nuestros usuarios
•Seguridad / inteligencia
•Operaciones Analíticas (TI, dispositivos,…)
•Complemento de DW
16. Escenarios de Business Analytics
•Análisis sencillo de gran cantidad de datos no estructurados:
Microsoft HDInsight
•Análisis sencillo de datos en memoria: Microsoft StreamInsight
•Análisis en profundidad: SQL Server y Self-Service BI
17. ¿Qué es Hadoop?
•Open Source
•Plataforma de almacenamiento de datos y
análisis para Big Data
•Optimizado para manejar
• Datos masivos a través de paralelismo
• Variedad de datos (Estructurados, No-estructurados,
Menos estructurados)
• Uso de hardware económico
•No para OLTP / OLAP
18. •Escalable
• Escala linealmente en capacidad de almacenamiento
y computación
•Tolerante a Fallos
• Proporcionado por el Sistema de ficheros distribuido
y el framework de lectura
•Procesamiento distribuido
• Sigue la estrategia de divide y vencerás
¿Qué es Hadoop?: Ventajas
21. Hadoop Distributed File System (HDFS)
•Sistema de ficheros distribuido diseñado para
grandes conjuntos de datos
•Fiable y con buen rendimiento
• Alto rendimiento de acceso: Latencia de disco
• Alto ancho de banda Almacenamiento Clustered auto-
reparable
•Divide los datos entre los nodos en un Cluster
• NameNode: Mantiene el mapeo de bloques de
ficheros a nodos esclavos
• DataNode: Almacena y sirve bloques de datos
24. Map Reduce Framework
• Motor de planificación parar Procesamiento de carga
distribuido
• Pares Clave-Valor
• Función Map
• Función Reduce
• Lenguajes de Script : Java, python, Javascript…
• Saca provecho de la distribución de datos de HDFS
• JobTracker: Planifica los trabajos entre los TaskTrackers
• TaskTracker: unidades de trabajo
27. Sqoop
•Tecnología que sirve de interfaz entre HDFS y los
Sistemas de información empresarial
•Orígenes de datos relacionales integrados
• MySQL, Oracle, SQL Server …
•Importación / Exportación (Bidireccional)
29. Pig
•Lenguaje de flujo de datos de alto nivel y
framework de ejecución
•Lenguaje de consulta: PigLatin
• Posibilidad de join de tablas
•Por detrás ejecuta trabajos MapReduce
31. Hive
•Infraestructura Data Warehouse desde Hadoop
•Proporciona
• Sumarización de Datos
• Consultas Ad-hoc
•Lenguaje consulta estilo SQL: HiveQL
•Por detrás ejecuta trabajos MapReduce
44. ¿Y cómo exploto toda esta información?:
Microsoft Excel
•PowerPivot
•Complementos Excel para Minería de Datos
•Acceso a Datos Hadoop
•Data Explorer
As we look at the IT industry today, a number of important trends are changing the way software is being purchased, deployed and used in the organization. Data ExplosionThe volume of data in the workplace is exploding. According to IDC, digital data will grow more than 40x over the next decade. As more and more data is created digitally, we expect to see ever greater demands being placed on our data platforms to store, secure, process and manage these large volumes of data.Consumerization of ITToday we see an increasing trend toward the “consumerization” of IT—creating the demand for Web 2.0 experiences in the business environment. As consumers, we are accustomed to powerful user-friendly experiences, whether searching the Internet on a mobile device to find information instantly, or quickly accessing our personal financial data. In the workplace, however, we are often unable to answer even the most basic questions about our business. Increasingly, users demand business experiences that more closely mirror the convenience and ease of use in consumer life.Private and Public CloudCloud computing is changing the way data is accessed and processed, and it is creating whole new models for the way applications are delivered. According to IDC, Cloud services will account for 46% of net-new growth in overall IT spending. With private and public cloud infrastructure, organizations have an opportunity to reduce TCO dramatically as data volume increases. As we see an evolution toward greater use of private and public clouds, we see an increasing need for solutions that support hybrid cloud scenarios.
data is expected to grow by up to 44 times by 2020Data is growing faster than computers are getting bigger.2 billion internet users 2011Everyday, we create 2.5 quintillion bytes of data–so much that 90% of the data in the world today has been created in the last two years alone. This data comes from everywhere: from sensors used to gather climate information, posts to social media sites, digital pictures and videos posted online, transaction records of online purchases, and from cell phone GPS signals to name a few. This data is big data. We’re discussing data problems ranging from gigabytes to petabytes of data. At some point, traditional techniques for working with data run out of steam.
Big data spans three dimensions: Volume, Velocity ,Variety , VariabilityVolume – Big data comes in one size: large. Enterprises are awash with data, easily amassing terabytes and even petabytes of information. Velocity – Often time-sensitive, big data must be used as it is streaming in to the enterprise in order to maximize its value to the business. Variety – Big data extends beyond structured data, including unstructured data of all varieties: text, audio, video, click streams, log files and more. Variability
Yahoo uses up to 170 petabytes of data in Hadoop, an open source software framework for very large data sets, to customize the home pages it presents to users. That improved visits click-throughs by 160 percent,
CrawlersMost of the organizations that have built data platforms have found it necessary to go beyond the relational database model. Traditional relational database systems stop being effective at this scale. Managing sharding and replication across a horde of database servers is difficult and slow. The need to define a schema in advance conflicts with reality of multiple, unstructured data sources, in which you may not know what’s important until after you’ve analyzed the data. Relational databases are designed for consistency, to support complex transactions that can easily be rolled back if any one of a complex set of operations fails. While rock-solid consistency is crucial to many applications, it’s not really necessary for the kind of analysis we’re discussing here. Do you really care if you have 1,010 or 1,012 Twitter followers?The typical decision-making process goes something like this: capture some data, integrate it together, analyze the clean and integrated data, make some decisions, execute. By the time you decide and execute, the data may be too old and have cost you too muchEjemplo de sensores en hospital
After this, then “Why great performance, Why cheap, Why good processing, Why good data storage”
Hadoop is essentially a batch systemHadoop processes data as it arrives, and delivers intermediate results in (near) realtime. Near real-time data analysis enables features like trending topics on sites like Twitter. These features only require soft real-time; reports on trending topics don’t require millisecond accuracy.
HDFS está inspirado en el sistema de archivos de Google. El sistema de archivos distribuido de Hadoop tiene como propósito organizar los archivos en un espacio de nombres jerárquico. HDFS tiene dos diferencias fundamentales respecto otros sistemas de archivos: HDFS puede abarcar múltiples máquinas y además HDFS se ejecuta en un espacio de usuario, al contrario que otros sistemas de archivos los cuales están estrechamente ligados al kernel del sistema operativo. El sistema de archivos distribuido de Hadoop esta diseñado para almacenar de forma fiable archivos de tamaño grande en clusters. HDFS almacena cada archivo como una secuencia de bloques, todos los bloques del archivo excepto el último son del mismo tamaño. Los bloques pertenecientes a un archivo estarán replicados en diferentes clusters para la tolerancia a fallos. Tanto el tamaño de bloque como el factor de replicación se pueden configurar para cada archivo.NameNode: Nodo único maestro, que controla el namespace del sistema de archivos y regula el acceso a los archivos de las peticiones clientes. Mantiene el rastro de que DataNodes tienen qué bloques de datos y usa esta información para controlar la jerarquía de todo el sistema de archivo. DataNode: Son los responsables de servir las lecturas y escrituras desde el sistema de archivos cliente, realiza las operaciones como abrir, cerrar, renombrar, etc. de los archivos y directorios, además realizan la creación de bloques, eliminación y replicación bajo las instrucciones del NameNode.
MapReduce es un framework que permite la computación paralela sobre grandes colecciones de datos. Al igual que HDFS tiene también una arquitectura maestro/esclavo. Cuenta con un servidor maestro o JobTracker y varios servidores esclavos TaskTracker, uno por cada nodo del clúster. Veamos cuáles son las diferencias entre ellos:JobTracker es el punto de interacción con los usuarios. Los usuarios envían los trabajos Map/Reduce al JobTracker, que los pone en una cola de trabajos pendientes y ejecuta en orden de llegada. El JobTracker gestiona la asignación de tareas y delega las tareas a los TaskTrackers. Los TaskTrackers ejecutan tareas bajo la orden del JobTracker. MapReduce se basa en la idea de tomar una operación básica funcional y aplicarla, paralelamente, a gigabytes o terabytes de datos. Para lograr dicho paralelismo, necesitamos tener cada operación MapReduce independiente de las otras.Storing data is only part of building a data platform, though. Data is only useful if you can do something with it, and enormous datasets present computational problems.Google popularized the MapReduce approach, which is basically a divide-and-conquer strategy for distributing an extremely large problem across an extremely large computing cluster. In the “map” stage, a programming task is divided into a number of identical subtasks, which are then distributed across many processors; the intermediate results are then combined by a single reduce task.Google’s biggest problem, creating large searches. It’s easy to distribute a search across thousands of processors, and then combine the results into a single set of answers. What’s less obvious is that MapReduce has proven to be widely applicable to many large data problems, ranging from search to machine learning.
Less network latency
Otro de los conceptos que existen en el ecosistema de Hadoop es Sqoop. Sqoop permite transferir gran volumen de datos de manera eficiente entre Hadoop y datos estructurados externos, como RDBMS y Data Warehouse. Aunque se trata de un proyecto todavía en desarrollo, esta teniendo gran éxito en el mundo empresarial, con la finalidad de solidificar los datos de Hadoop y los datos de DW. Sqoop ofrece conectores para integrar Hadoop con otros sistemas, entre ellos SQL Server. Mediante este conector podemos importar datos desde:Tablas de SQL Server a archivos delimitados HDFSTablas de SQL Server a archivos SequenceFiles en HDFSTablas de SQL Server a las tablas de Hive.Consultas ejecutadas en SQL Server a archivos de texto delimitados de HDFSConsultas ejecutadas en SQL Server a archivos SequenceFiles en HDFSConsultas ejecutadas en SQL Server a las tablas de Hive.Y podemos exportar datos:De archivos delimitados HDFS a SQL ServerDe archivos SequenceFiles en HDFS a SQL ServerDesde las tablas de Hive a las tablas de SQL Server
Pig ofrece una plataforma que consta de un lenguaje de alto de nivel para conseguir programas para analizar grandes volúmenes de datos. Pig presenta una característica importante que es el paralelismo, por lo que permite manejar grandes conjuntos de datos en su totalidad.La infraestructura que Pig presenta es un compilador que produce secuencias de MapReduce. El lenguaje Pig consiste en un lenguaje textual llamado PigLatin. PigLatin abstrae la programación de Java a una notación que hace que los programas de MapReduce en alto nivel, es parecido a SQL en RDBMS. Además, los usuarios pueden crear sus propias funciones para algún propósito en concreto.
Hive consiste en un sistema de Data Warehouse para Hadoop que permite realizar consultas ad-hoc y analizar grandes volúmenes de datos almacenados en el sistema de archivos HDFS. Hive utiliza MapReduce para su ejecución y HDFS para su almacenamiento.Hive proporciona un mecanismo para abstraer la estructura de estos datos y consultar los datos mediante un lenguaje parecido a SQL, llamado HiveQL.Las sentencias HQL se descomponen por el servicio de HQL en tareas MapReduce y se ejecutan en un cluster. Las sentencias HQL se pueden ejecutar de distintas formas.· Podemos ejecutar las sentencias por línea de comandos, conocida como Hive Shell· Desde aplicaciones usando los conectores Java DatabaseConnectivity (JDBC) o Open DatabaseConnectivity (ODBC)· Desde un cliente llamado HiveThrift. Este cliente es muy similar que cualquier cliente de base de datos que se instala en el equipo cliente de un usuario y se comunica con el servidor de Hive. Se puede usar el cliente HiveThrift en aplicaciones escritas en C, Java, C#, PHP, Python o Ruby. Hive tiene un alto parecido a las bases de datos tradicionales, pero debido a que Hive se basa en Hadoop y operaciones MapReduce, presenta algunas diferencias. Hadoop está pensado para realizar consultas secuenciales, entonces podemos tener consultas con una latencia muy alta, por lo tanto, se sería adecuado utilizar Hive en aplicaciones que requieren tiempos de respuesta muy rápidos. Y por otro lado, Hive está orientado a operaciones de lectura, por lo que no es adecuado utilizarlo en aplicaciones que impliquen un alto número de escrituras
Commercial support
The real advantage of the JavaScript layer should show itself in integrating Hadoop into a business environment, making it easy for developers to create intranet analytical environments accessible by business users. Combined with Microsoft's focus on bringing server-side JavaScript to Windows and Azure through Node.js, this gives an interesting glimpse into Microsoft's view of where developer enthusiasm and talent will lie.