Big Data, no significa tener una base de datos enorme, tampoco tiene por que ser un Datawarehost enorme,… Independientemente de cuantos datos se tenga, Big Data es una solución para almacenar y procesar datos no estructurados con datos si estructuraos, independientemente que hablemos de escenarios transaccionales, tabulares, multidimensionales… y es independiente de que los datos no estructurados vengan de una red social, de un sensor, de un medidor, ficheros de log, lo que fuere…
Microsoft afronta este tipo de proyectos, dándonos la capacidad de hacer proyectos que mezclen ambos tipos de datos, evidentemente solo podría hablaros de datos no estructurados, pero, dado que aquí ninguno vamos a crear ninguna empresa o aplicación especifica solo para datos no estructurados, partiré de que nuestras aplicaciones a día de hoy ya existen y manejan datos estructurados y/o multidimensionales, y se les ha aparecido una nueva fuente que son los no estructurados. Microsoft utiliza Hadoop, de Apache Fundation, como pieza tecnológica para dar soporte a estos ámbitos. Pero Hadoop, no es Big Data, y como tal: Hadoop, nos va a dar almacenamiento y el framework de procesamiento paralelo y distribuido para afrontarlos como tal.
Dando una visión sobre los productos que tiene Microsoft, para dar soporte a un proyecto de Big Data, destacar la compilación “HD Inside” que se llama a lo que es Hadoop, tanto para el entorno Azure como para un entornos sobre Windows Server 2008 de toda la vida, donde se puede arrancar un entorno de Hadoop.
Es de las pocas veces que se ve, que se coge software del Apache Fundation, se compila para Windows (por parte de Microsoft), y se le da un soporte empresarial, como producto de Microsoft, (y de hecho se contribuye al proyecto, con contribuciones de Apache)… “prácticamente se ha decidido que será Hadoop lo que se va a usar… y será lo que terminará implantándose… ya ahora habrá que ver, si se usará la distribución para Microsoft sobre entorno Windows, o la de NO Microsoft para un entorno NO Windows”
Para la distribución de Microsoft sobre entorno Windows, se ha añadido soporte a Directorio Activo como parte de seguridad para un entorno empresarial, donde se desplegará la aplicación, y esta aplicación tendrá su ciclo de vida segurizándola como cualquier otra, para que no viva en un entorno separado, (El soporte lo dará el Directorio Activo). Permite programar no solamente desde Java, sino también desde .Net para lo que se ha dado soporte para C#. Y dado que se entienden los entornos de Big Data como una mezcla de datos estructurados y datos no estructurados, se han añadido los conectores directos y bidireccionales desde SQL Server 2012 (todas sus versiones) hacia lo que es el entorno de HD Inside (Hadoop), para que ambos entorno se comuniquen de forma transparente. Y de nombrar es también, que la distribución de Hadoop, se integra en Office y en Excel en particular, para que se pueda atacar a esta nueva fuente de datos desde nuestro Office, sin tener que desarrollar todo a medida.
Resumiendo lo que tenemos dentro de un entorno de Hadoop (Big Data).
“Hive” es el entorno SQL, es el Framework para atacar a un entorno multidimensional, que se apoye sobre un entorno no relacional, es decir, que desde nuestras herramientas tradicionales de BI, Excel… podamos atacar a los datos que tenemos almacenados en Hadoop, en nuestro HDFS como hacíamos anteriormente. Tenemos Sqoop para lo que es el acceso hacia los entornos transaccionales, lo que seria nuestro SQL Server. Y para los ámbitos que estemos accediendo o creando un proyecto que tenga que ver con una ETL tenemos Pig (Data Flow) que es el Framework especifico para este flujo de datos.
En la Arquitectura de Hadoop:
Tenemos HDFS para almacenar.
Map Reduce para programar los procesos, tareas y procesos Reduce.
Pig para la parte de Scripting, flujos ETLs.
Hive para hacer las Querys.
Metadata con la parte de HCatalog.
NoSQL con la parte de HBase.
Pegasus como entorno grafico, o Mahout para las maquinas de aprendizaje.
Como definición de los flujos de trabajos, y procesos Map Reduce, tenemos: Oozie.
Flume para el envío y optimizado, de lo que serian ficheros Log
Microsoft ha añadido: Active Directory, System Center, acceso vía SQOOP, y las herramientas de Business Intelligence.
Fuentes:
Microsoft, msdn, TechNet blog...
Apunte y recopilación por Norman M. Pardell