¿Qué es una arquitectura Data Fabric?

Data Fabric es una arquitectura de datos que proporciona una plataforma unificada – o capa de abstracción – flexible para acceder, procesar y gestionar datos en diferentes formatos, estructuras y localizaciones. Permite conectar diferentes fuentes de datos y ofrecer una vista única de los mismos, al tiempo que mantiene la seguridad, la privacidad y la calidad de los datos. Con Data Fabric se abona el camino para la construcción de una vista holística de la organización que entrega a los usuarios (analistas, data scientists y de negocio) la capacidad de descubrir todos los datos y sus relaciones.

En comparación con los Data Warehouse, los Data Fabrics son más flexibles y escalables. Los Data Warehouse están diseñados para almacenar grandes cantidades de datos estructurados y proporcionar informes y análisis a partir de ellos. Sin embargo, esto puede limitar la capacidad de un Data Warehouse para adaptarse a nuevos tipos de datos o fuentes, y puede requerir una reconfiguración costosa y técnica para hacerlo.

Los Data Lake son soluciones de almacenamiento de datos no estructurados, diseñados para recopilar grandes cantidades de datos raw sin una estructura predefinida y a un coste moderado. Mientras que los Data Lakes pueden ser útiles para almacenar grandes cantidades de datos, pueden ser difíciles de acceder y analizar, y pueden requerir una gran cantidad de tiempo y recursos para asegurarse de que los datos son precisos y coherentes (riesgo de convertirse en data swamps).

Data Fabric es una pieza complementaria a cualquier arquitectura de datos implantada, sea centralizada o descentralizada

Los Data Mesh es una arquitectura o filosofía para la gestión de datos que busca desarrollar una estructura descentralizada y de autogestión, donde cada equipo o departamento es responsable de sus propios datos y puede compartirlos de forma segura con otros equipos. Los datos se tratan como Data as a product (DaaP). A diferencia de los Data Fabrics, los Data Mesh no tienen un punto central de control o gestión, y en su lugar, se basan en la colaboración y el intercambio de datos entre dominios en un sistema federado de propiedad de los datos (DaaPs). Los data fabric intentan resolver los mismos problemas (organizaciones con multitud de orígenes de datos en distintas ubicaciones y tipologías) que el Data Mesh pero desde un punto de vista técnico y no organizativo.

En resumen, el Data Fabric es una arquitectura de datos que combina las fortalezas de los Data Warehouse y Data Lakes, con el mismo objetivo que los Data Mesh pero desde la tecnología y de forma centralizada, que ofrece una solución completa y flexible para la gestión de datos. Supone una vista unificada de los datos, permite conectar diferentes fuentes de datos y ofrece una gestión eficiente y segura de los mismos.

Desde mi punto de vista, Data Fabric se trata de una arquitectura complementaria, no excluyente. Tanto si la arquitectura de datos es centralizada (data lake, data lakehouse) o descentralizada (data mesh), puede ser una pieza acompañante que haga de facilitador para el gobierno y disponibilidad en la ingesta desde los distintos orígenes, así como en la capa de consumo.

Diagrama arquitectura Data Fabric
Diagrama arquitectura Data Fabric

Ventajas y desventajas de Data Fabric

VentajasDesventajas
Accesibilidad: Acceso más fácil y ágil a los datos, lo que significa que los usuarios pueden encontrar los datos que necesitan rápidamente y usarlos de forma más eficiente.
Integración: La integración de los datos mejora gracias al Data Fabric, lo que significa que los datos pueden ser compartidos y utilizados de forma más efectiva en toda la organización.
Flexibilidad: Permite una gestión más flexible de los datos, lo que significa que los usuarios pueden adaptarse rápidamente a los cambios en las necesidades de negocios y a las nuevas fuentes de datos.
Complejidad: La implementación de un Data Fabric puede ser un proceso complejo que requiere de un conocimiento profundo de la tecnología de datos y de los procesos empresariales.
Costo: La implementación puede ser costosa, especialmente si se requiere de la compra de software.
Seguridad: Aspecto crítico que debe ser considerado (tanto en reposo como en tránsito).
Rendimiento: Puede ser un problema si el sistema no está bien diseñado u optimizado desde un principio.
Escalabilidad: Desafío si el sistema no está diseñado para manejar una gran cantidad de datos o una alta tasa de crecimiento de los mismos.
Ventajas y desventajas Data Fabric

Componentes de un Data Fabric

  • Virtualización de datos: permite el acceso a los datos desde diferentes fuentes a través de una única capa de abstracción.
  • Catalogación y metadatos: proporciona información sobre los datos y su ubicación para facilitar su acceso y gestión.
  • Seguridad y privacidad: proporciona medidas para garantizar la seguridad y privacidad de los datos.
  • Integración de datos: permite la integración de diferentes fuentes de datos para un acceso más fácil y una gestión más eficiente.
  • Procesamiento de datos: permite la ejecución de tareas de procesamiento de datos, incluyendo la limpieza, transformación y análisis de datos.
  • Colaboración: permite la colaboración entre los usuarios y equipos para una gestión más eficiente de los datos.
  • Monitorización y análisis: proporciona información sobre el uso y rendimiento de los datos para una mejor toma de decisiones y optimización del sistema.

Virtualización de datos

La virtualización de datos es una tecnología que permite crear una capa abstracta sobre los datos reales para ocultar su complejidad y mejorar su accesibilidad. Esa nueva capa se encarga de agrupar los datos de distintos orígenes y complejidad, exponiéndolos al usuario de una forma homogénea e integrada. La virtualización de datos permite a los usuarios acceder a los datos de una manera más sencilla y rápida, sin tener que preocuparse por la dificultad subyacente de la infraestructura de datos. Facilitaría el cruce de información entre distintos orígenes (SoR) almacenados en software diferentes. Por ejemplo, seríamos capaces de cruzar datos de una tabla de Oracle con otra de MongoDB ubicadas en distintas máquinas sin necesidad de construir ETLs o replicar datos en capas intermedias.

La virtualización de datos es un componente clave del Data Fabric, ya que permite crear una vista unificada de los datos que se encuentran en diferentes formatos, estructuras y localizaciones. Permite a los usuarios acceder a los datos de una manera sencilla, al tiempo que mantiene la seguridad, la privacidad y la calidad de los mismos.

Además, permite modificar los datos virtuales sin afectar a los datos reales, lo que significa que los datos pueden ser integrados, migrados y gestionados de forma más eficiente. La gestión de los datos se vuelve más flexible y escalable, lo que significa que los usuarios pueden adaptarse rápidamente a los cambios en las necesidades de negocios y a las nuevas fuentes de datos.

Una de las desventajas de la virtualización de datos es el impacto en los sistemas fuente, ya que cuando se realiza una consulta en realidad se está atacando directamente el origen. Para mitigar problemas de rendimiento, se pueden cachear las consultas en una capa intermedia (una BD) de forma que cuando se consulte una vista virtualizada en primer lugar lo haga sobre la caché. El ciclo de vida de esta caché se puede configurar y gestionar desde el software de virtualización. Otra forma de mejorar el rendimiento es mapeando datos entre los orígenes, si consultamos datos de dos fuentes distintas el sistema copiaría los datos menos voluminosos en el otro origen para realizar la consulta sobre la misma ubicación.

Virtualización de datos
Virtualización de datos

La virtualización de datos está construida por un catálogo de vistas que se alimentan de los distintos orígenes de datos cuya comunicación se configura a través de conectores. Por tanto, podríamos decir que para construir una capa de virtualización de datos necesitaríamos en primer lugar crear los conectores a los distintos orígenes (Oracle, Teradata, Azure PaaS SQL Server, Google BigQuery, PostgreSQL, mongoDB, Profile, SQL Server…) y después generar las vistas que extraen información de estos orígenes. El cemento que une todo el sistema es un catálogo de metadata que se encarga de almacenar la ubicación, conexión y tipología de cada dato.

Conectores

Como en cualquier herramienta de integración de datos, los conectores se encargan de abrir la conexión del origen de datos con nuestro sistema. El propio software de virtualización de datos (Denodo, CP4D) dispone de conectores ya prefabricados que solo debemos configurar para abrir la comunicación.

Vistas

Una vista es una representación de datos de un origen específico, el concepto sería similar a una vista tradicional en una BBDD. Podemos encontrar base views que sería una vista generada directamente de una tabla o query del mismo origen de datos, o derived views, que serían la combinación de varias base views donde ya podrían cruzarse datos de distintos orígenes. Al utilizar los conectores, la vista permite el acceso a los datos sin tener que conocer su ubicación o formato real.

Catálogo de metadatos

El catálogo de metadatos sería donde se almacena toda la información de los datos: ubicación, formato, estructura y relación con otros datos. Puede utilizarse para ayudar a la toma de decisiones sobre la gestión, incluyendo la seguridad, la calidad y la integridad de los datos. También puede ser utilizado para optimizar el rendimiento del sistema y para mejorar la eficiencia.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

What is 3 + 11 ?
Please leave these two fields as-is: