Data warehousing: datos integrados para entender mejor el negocio

Un data warehouse (DW, almacén de datos) es una colección de datos históricos consolidados provenientes de distintas fuentes, que ayuda a la toma de decisiones dentro de una organización. Es un sistema que recolecta la información generada por el software de distintas áreas de la empresa (marketing, ventas, proveedores, etc.) y los integra de tal manera que puedan ser fácilmente analizados. Este análisis permite identificar fenómenos, patrones y tendencias que nos ayuden a comprender la realidad de nuestro negocio y mejorar el servicio a partir de ello.

Según William H. Inmon, que acuñó el término data warehousing en la década del 70, un almacén de datos se caracteriza por presentar estas cualidades:

  • Orientado a un tema. Un data warehouse puede concentrarse en un tema particular. Por ejemplo, un data warehouse orientado al tema de las ventas podría ayudar a responder preguntas como «¿Cuál fue el producto más vendido de los últimos cinco años?».
  • Integrado. Integrar es llevar a un formato consistente datos que provienen de fuentes distintas. El data warehouse debe resolver problemas tales como conflictos de nombres e inconsistencias entre unidades de medida, moneda o tiempo.
  • No volátil. Esto significa que, una vez ingresados en el warehouse, los datos no deberían cambiar.
  • Variante en el tiempo. Provee información desde una perspectiva histórica (ej.: los últimos 5 a 10 años).

Un data warehouse es una base de datos, pero diferente a las que se utilizan en la mayoría de las aplicaciones habituales, conocidas como bases de datos operacionales o transaccionales. Los sistemas con los que más interactuamos a diario suelen usar el enfoque OLTP (Online Transaction Processing, procesamiento de transacciones en línea), mientras que los sistemas de data warehousing suelen usar el enfoque OLAP (Online Analytical Processing, procesamiento analítico en línea). Estos modelos presentan algunas diferencias:

  • OLTP se orienta a la optimización de las transacciones. Su foco son las operaciones de actualización de datos (alta, baja, modificación). Es ideal para consultas simples y breves, pero frecuentes (incluso concurrentes), que requieran un tiempo de respuesta en el orden de la fracción de segundo. Aplicaciones: cajeros automáticos, sistemas de transacciones financieras, cajas registradoras.
  • OLAP se orienta al análisis de datos y los reportes de negocio. Su foco son las operaciones de lectura y agregado de datos. Es ideal para consultas poco frecuentes, pero complejas y largas, que admitan un tiempo de respuesta en el orden de una hora o más. Aplicaciones: diagnóstico médico, marketing predictivo, gestión de energía.

Generalmente, los sistemas OLTP usan bases de datos relacionales, mientras que los sistemas OLAP usan bases de datos multidimensionales. En el modelo relacional, los datos están normalizados y se almacenan en tablas con filas y columnas (dos dimensiones). En el modelo multidimensional, los datos están desnormalizados y se almacenan en una estructura llamada cubo (tres dimensiones) o hipercubo (más de tres dimensiones), que facilita el análisis de los datos desde múltiples puntos de vista.

Más allá de las definiciones, en la práctica existen varias diferencias entre una base de datos operacional y un data warehouse:

  • En una base de datos operacional se hacen actualizaciones frecuentes. En un data warehouse, no.
  • Una base de datos operacional almacena datos actuales. Un data warehouse almacena datos históricos.
  • Generalmente, una base de datos operacional se destina a una sola aplicación. Pero como el data warehouse condensa múltiples bases de datos, se destina a múltiples aplicaciones.

Además de la base de datos, un entorno de data warehousing incluye diversas herramientas software que gestionan el proceso de recolectar datos y proveérselos a usuarios de negocio. Las tareas más importantes se agrupan en una secuencia de tres pasos conocida como ETL:

  • Extraer (extract). Extraer los datos de diferentes sistemas fuente —como SAP, ERP, CRM y otros sistemas operacionales—, que generalmente usan bases de datos relacionales. A veces también se extraen datos de emails, páginas web, documentos PDF o textos escaneados.
  • Transformar (transform). En este paso se aplica una serie de reglas para transformar los datos originales de manera que puedan ser cargados en otro almacenamiento (en nuestro caso, el data warehouse). Esto suele incluir las tareas de limpieza (clean), que consisten en unificar el formato de ciertos datos. Por ejemplo, es probable que una de nuestras fuentes presente las categorías de sexo como «Hombre/Mujer/Desconocido» y otra fuente las presente como «Masculino/Femenino/Indefinido». Estos formatos deben condensarse en uno solo. También se lleva a cabo la validación de datos (como los domicilios), la generación de claves sustitutas, el ordenamiento y la inserción de valores calculados.
  • Cargar (load). En el último paso se cargan los datos en la base de destino, procurando el menor consumo de recursos posible.

Un data warehouse es la solución ideal para las empresas que producen grandes volúmenes de datos de distinta naturaleza, y necesiten analizarlos de manera conjunta y en profundidad. Sin embargo, estos sistemas son difíciles de implementar, escalar y rediseñar a lo largo del tiempo, y requieren de hardware con capacidades excepcionales en términos de almacenamiento, ancho de banda y procesamiento. Así y todo, y a pesar de su antigüedad, en muchas compañías importantes el data warehousing es esencial para la toma de decisiones, y constituye la base de distintas operaciones de data mining, como asociación, clustering, clasificación y predicción.

Artículos relacionados