Data Governance en Onesait Platform
Introducción
Una vez descritos los principios de un modelo de Gobierno del Dato podemos veremos el soporte que da a cada uno de ellos la Plataforma:
Principios de Gobierno: CALIDAD
PREMISAS DE CALIDAD:
Completitud de la información: para asegurar que los datos posean lógica para su explotación la Plataforma adopta una Arquitectura Data-Centric donde cualquier trabajo con la plataforma comienza con la definición de la ontología.
Visión global de negocio / infraestructura: en cuanto a la definición de negocio para el dato con una visión end-to-end dada la arquitectura Data-Centric todo el procesamiento del dato se hace partiendo sobre la ontología, así puedo crear un API REST sobre consultas concretas de una ontología, generar un dashboard para visualziar los datos de una ontología, asociar un proceso a una ontología,...
Responsabilidad de los datos: en cuanto a las responsabilidades y roles sobre la gestión de la información, partiendo del concepto de ontología el propietario de esta puede asignar permisos a otros usuarios, de modo que estos puedan consultar esta ontología, o bien incluso gestionarla:
A través del concepto de Aplicación puedo asignar estos permisos a ciertos roles:
Datos eficientes: En cuanto al cumplimiento de los principios de no duplicidad, integridad y consistencia de los datos la plataforma permite asociar un Notebook en el que se realicen cálculos estadísticos sobre el contenido de una ontología, por ejemplo medias, número de nulos en atributos,...
ELEMENTOS CLAVE EN EL ASEGURAMIENTO DE LA CALIDAD
Definición de estándares: cuando se realiza una ingesta, la plataforma permite definir los requerimientos válidos para considerar un dato como correcto (longitud, tipología de datos, formatos) y en función de eso aceptar el dato o enviarlo a un procesamiento de errores. Este procesamiento se realiza típicamente en un DataFlow de ingesta. En el ejemplo, se hace un reemplazo y una conversión de datos para adaptar los datos no correctos y finalmente insertarlos en plataforma.
Validación del dato: este mismo componente (DataFlow) permite definir los mecanismos de validación que permiten la integración del dato según los estándares establecidos:
Visión cross del ciclo de vida del dato: la plataforma permite identificar el proceso completo del ciclo de vida del dato a través del grafo de relaciones a partir de una ontología. Esto permite saber qué procesos se realizan sobre esta. En el ejemplo se ven las relaciones de la ontología HelsinkiPopulation con su API:
Principios de Gobierno: HOMOGENEIDAD
Trazabilidad del dato para identificar y poder hacer mapeo y seguimiento de los datos a lo largo de los procesos. Aparte del grafo que los relaciona la plataforma audita todas las operaciones que se realizan sobre los datos:
Además el DataFlow permite ver el tratamiento que se hace al dato pasando por los diferentes steps:
Información relacionada: la plataforma permite hacer el mantenimiento de los datos bajo reglas y la agregación en la diferente tipología. La ontología abstrae del repositorio subyacente y gestionarlo de forma transparente:
además las ontologías pueden linkarse para relacionarse entre ellas.
Apoyo en la infraestructura: la plataforma se encarga de gestionar toda la infraestructura de procesado y almacenamiento de los datos, de modo que el desarrollador no tiene que usar una herramienta para modelar la base de datos. Simplemente debe definir la ontología e indicar sobre qué base de datos quiere persistirla. Igualmente, cuando está haciendo la ingesta, simplemente indicará que quiere ingestar hacia esa ontología:
Procesos alineados a la organización / normativa: en cuanto al uso de herramientas amigables para la definición de estructuras de datos por personal no técnico, como se ha dicho el concepto de ontología homogeneiza el dato independientemente del dominio tecnológico o funcional, facilitando la alineación con estándares.
Principios de Gobierno: ARQUITECTURA DE DATOS
Onesait Platform como plataforma , proporciona una arquitectura sólida, basándose en principios clave que soportan su estructura, tales como:
Robustez y Flexibilidad.
Fuentes únicas.
Visión end to end.
Que se concreta en:
Aprovisionamiento: la plataforma ofrece diversos componentes para el aprovisionamiento de la información, fundamentalmente el DataFlow y el FlowEngine, aunque los científicos de datos pueden usar también los Notebooks para esto.
Alineamiento y estandarización de los procesos de entrada: en el DataFlow se pueden crear pipelines específicos para adaptar los mensajes de entrada desde diferentes fuentes:
Identificación clara de fuentes / BBDD / archivos / aplicativos, así como la acotación de la tipología de información: en el DataFlow puedo de un vistazo tener identificadas las fuentes:
Definición de procesos de validación de los datos de entrada:
Procesos y Almacenamiento: como se ha indicado el concepto de ontología aisla de la Base de datos en la que se almacena y la plataforma soporte distintos tipos de almacenamiento.
Definición de la infraestructura y tecnología de soporte con desempeño óptimo y capacidad de almacenamiento histórico: la plataforma está integrada con diversas bases de datos: bases de datos relacionales como MySQL, Postgresql, Oracle, SQL Server, bases de datos NoSQL como Mongo, Elasticsearch, bases de datos Big Data como Kudu, BigQuery o HIVE,... en función del uso que se hará de una ontología se seleccionará el repositorio más adecuado y la plataforma me provisionará ese repositorio o conectará con la BD ya conectado.
Almacenamiento en el repositorio más adecuado para el ciclo de vida del dato: el desarrollador puede elegir el repositorio más adecuado en función del tipo de dato y la explotación, así puede optar por usar Mongo si son datos semiestructurados, o Elasticsearch si se trata de datos sobre los que quiero hacer búsquedas.
Generar repositorios centralizados con información validada alineados a la estrategia corporativa: la plataforma permite alinear de forma sencilla la tecnología con la estrategia ya que permite usar diferentes repositorios, procesar los datos de una forma coherente,...
Definir procesos de cálculo y transformación del dato acorde a la necesidad del negocio: como ya hemos visto la plataforma ofrece diferentes herramientas para esto.
Homogeneidad y cohesión en los datos
Explotación:
Identificación de las Herramientas de explotación / distribución: la plataforma ofrece diversas herramientas para explotar los datos. En función de la necesidad de explotación se pueden usar:
API Manager: permite contruir de forma visual y sin programar APIS REST sobre consultas a las ontologías. Ejemplo: ¿Cómo crear un API REST con parámetros y con postprocesado?
Notebooks: permite que un científico de datos pueda procesar los datos almacenados en sus ontologías con los lenguajes más adecuados: Python, Spark, R, SQL, ... Ejemplo: /wiki/spaces/PT/pages/84148237
Dashboard Engine: permite que usuarios no técnicos puedan crear completos cuadros de mando en HTML5 a partir de la información almacenada en plataforma. Ejemplo: /wiki/spaces/PT/pages/458984
Report Engine: permite crear informes multiformato.
Seguimiento y Control:
Cuadro de mando centralizado facilita la gestión del dato, reglas, seguridad, accesos, y procesos de backup y recovery: la plataforma ofrece el Control Panel, una consola web desde la que se pueden realizar todos los procesos. En función del rol se podrán realizar diversas labores, así un Administrador puede ver todos los conceptos definidos en plataforma, definir la seguridad, accesos, programar el backup, hacer un recovery...
mientras que un rol developer puede gestionar todos sus conceptos.
Definición de usuarios y roles por proyecto, configurando diferentes niveles de acceso a cada ontología (entidad) almacenada: a través del concepto de Realm puedo crear roles, asignar usuarios a estos roles, configurar accesos a estos roles a los diferentes elementos,...
Exposición de subconjuntos de información a usuarios específicos mediante queries
Monitorización de la ingesta de datos: la herramienta que se encarga de la ingesta (DataFlow) monitoriza continuamente.
Principios de Gobierno: AGREGACIÓN
Definición de la agregación: Combinando las capacidades de DataFlow, Notebooks y FlowEngine se pueden ejecutar de manera automática (respondiendo eventos o planificación) o manual procesos de agregación y análisis de la información.
Exactitud e Integridad de la información: como se ha visto el DataFlow permite controlar la integridad de la información, de modo que en función de esta se completa el dato o se envía a una cola de errores para una revisión manual:
Automatización: todos los procesos de aprovisionamiento se lanzan de forma automática, pueden planificarse,...
Definición clara de la estructura lógica: el concepto de ontología que independiza del repositorio subyacente y a su vez permite que el resto de módulos trabajan sobre esta abstracción dota de consistencia y cohesión a la plataforma.
Principios de Gobierno: SEGURIDAD
Disponibilidad del dato: Mediante la configuración de los procesos de importación y las alertas, se garantiza la disponibilidad del dato importado en su estado final consolidado y el conocimiento de cualquier incidencia relacionada.
Conjunción de visión tecnológica y de negocio: se consigue este alineamiento a través de los asistentes, desarrollo visual y entorno web blogal.
Gestión de perfilados: la consola web maneja tres roles: administrador, analytics developer y user, cada uno con unos permisos delimitados, ver /wiki/spaces/PT/pages/126451750. Además la plataforma permite definir otros roles a través del concepto de Realm: /wiki/spaces/PT/pages/56131684
Bitácoras: Es posible consultar en tiempo real las estadísticas de ejecución de cualquier pipeline los datos procesados y el historial del pipeline. Además existe un sistema de auditoría de la información preconfigurado para su uso en los diferente proyectos.
Material de apoyo
A continuación se incluye una presentación que ilustra los conceptos tratados en el artículo: