Deja de dar palos de ciego…y gobierna tus datos

¿Alguna vez has necesitado información y no sabes dónde está?, ¿Has tenido que trabajar con datos que no sabes de dónde provienen?, ¿Conoces al responsable de la información que estás tratando?, ¿Eres consciente de la importancia de todos los datos que almacenas? Estas son algunas de las muchas preguntas a las que da respuesta un sistema de Gobierno del Dato.

Tal y como refleja Tania Arcos en su artículo sobre la entrada en vigor del GDPR, cada vez son más las razones para implantar un sistema de Gobierno del Dato, que por definirlo de una forma más sencilla, se encarga de gestionar el conocimiento que tiene una compañía sobre su información, y para conseguirlo, persigue los siguientes objetivos:

  • Definir políticas y procedimientos que permitan controlar el acceso a los datos de la compañía.
  • Fomentar, controlar y supervisar las métricas de ejecución de los servicios de gestión de datos.
  • Gestionar y resolver los problemas relacionados con la información dentro de la compañía.
  • Definir, conocer y promover el valor de los activos.

Pero… ¿Cómo se construye un sistema de Gobierno del Dato?

El desarrollo de un sistema que cumpla todos estos objetivos es una tarea muy complicada, por ello compañías como Hortonworks, proponen dentro de su stack la herramienta Apache Atlas para apoyar a la construcción de este tipo de sistemas.
Apache Atlas es una herramienta de código abierto (Open Source) especialmente pensada para solucionar los problemas que plantea la gobernanza del dato. Proporciona una serie de funcionalidades lo suficientemente genéricas que permiten definir un sistema de gestión del conocimiento adecuado, independientemente del tipo de modelo de negocio que tenga tu compañía.

Administración de metadatos

La importancia de los metadatos en este tipo de sistema es que son el punto de partida para conocer cómo y dónde se encuentran tus datos. Para ello,  Apache Atlas cuenta con una API que permite la gestión de metadatos mediante la creación de tipos y entidades que modelan las estructuras de información contenidas en tu datalake. Para ver un ejemplo más claro de como sería la gestión de metadatos en un datalake con Apache Hive, cada uno de los elementos o tablas que Hive almacena será representado por Apache Atlas como una entidad del tipo hive_table.

Búsqueda de entidades

En la imagen se pueden observar las entidades de tipo hive_table que se han extraído del datalake.
Atlas realiza la extracción de metadatos de forma automática en el caso de Apache Hive y otros sistemas compatibles. Sin embargo, para sistemas de almacenamiento menos habituales es necesario que se realice de forma manual, haciendo uso de su API Rest.

Modelado de la información

La herramienta cuenta con un sistema de asignación de etiquetas que permite modelar y definir la información de una forma muy flexible. Estas etiquetas permiten clasificar la información además de describirla, para ayudar a comprender el concepto técnico y de negocio que puedan tener los datos.

Creación de etiquetas

Además de las etiquetas, Atlas permite modelar y definir la información a un nivel más conceptual y de negocio mediante el uso de taxonomías. Las taxonomías clasifican la información de forma jerárquica, facilitando la comprensión de los datos a usuarios con un perfil menos técnico.

Definición de taxonomías

Linaje del dato

La proveniencia o linaje es una parte muy importante en este tipo de sistemas ya que permite a los usuarios conocer de dónde proviene la información que están utilizando. Apache Atlas cuenta con una funcionalidad que muestra el linaje de los datos en forma de grafo, permitiendo visualizar los procesos y transformaciones que sufren los datos en el tiempo desde su fuente de origen hasta su destino.

Dentro de la interfaz de Atlas se pueden buscar las diferentes entidades existentes en tu sistema de gobierno, y si accedemos a una de ellas se muestra una pestaña LINEAGE & IMPACT que muestra el linaje del dato:

Linaje del dato

En la imagen se puede observar el grafo que representa el linaje de los metadatos de la tabla_1. Se distinguen los siguientes elementos:

Estos nodos son entidades que representan los metadatos existentes dentro del datalake, como por ejemplo una tabla o una columna de Hive.
Estos nodos representan los procesos de transformación que generan información nueva a partir de otras fuentes de datos ya existentes.
Este nodo representa los metadatos de la entidad seleccionada, que como se observa en la imagen, es la entidad resultante de la salida del proceso_1 y es la entrada del proceso_2.
Las flechas naranjas representan el impacto que tiene la entidad seleccionada en otras entidades. Es decir, indican que la fuente de datos representada por el nodo naranja se ha utilizado para crear otra fuente de datos.
Las flechas verdes representan el sentido en el que se han ido generando las entidades en el tiempo.

Conclusión

Con el procesamiento de grandes volúmenes de datos que trae consigo el Big Data y las nuevas tecnologías, cada vez se hace más necesario el uso de sistemas de gestión y administración del conocimiento de la información dentro de las compañías. Por eso, este tipo de sistemas permite organizar los datos de forma más eficiente y agiliza la comprensión de los mismos.

Daniel Graña

"La fundación" de Isaac Asimov, "El juego de Ender", "Veinte mil leguas de viaje submarino"... son algunos de los libros que me leía mi padre cuando era pequeño. Él inicio mi búsqueda de un mundo nuevo de creatividad e innovación donde la ficción puede convertirse en realidad. Actualmente, mi búsqueda me ha llevado a convertirme en Developer en Future Space.