27 enero 2015

Introducción al Data Warehousing

El data warehousing es una solución que las organizaciones pueden utilizar para centralizar los datos del negocio, para la presentación de reportes y análisis. La implementación de una solución data warehouse lo puede proporcionar una empresa u otra organización con importantes beneficios, incluyendo:
  • Reportes completos y precisos de la información clave del negocio.
  • Un origen centralizado de datos del negocio para el análisis y la toma de decisiones.
  • La base para una solución de inteligencia de negocios empresarial (BI).
El data warehousing es una técnica bien establecida para los datos del negocio centralizada en la presentación de reportes y análisis. Aunque los detalles específicos de soluciones individuales pueden variar, hay algunos elementos comunes en la mayoría de las implementaciones data warehousing. La familiaridad con estos elementos le permitirá planificar mejor y construir una solución data warehousing eficiente.

El Problema de la Empresa

El manejo efectivo de una empresa puede presentar un reto importante, especialmente cuando el negocio crece o se ve afectado por las tendencias en el mercado objetivo del negocio o la economía global. Para tener éxito, una empresa debe adaptarse a las condiciones cambiantes, lo que requiere personas en las organizaciones para tomar buenas decisiones estratégicas y tácticas del negocio. Sin embargo, los siguientes problemas del negocio a menudo pueden hacer difíciles la toma de decisiones:
  • Los datos claves del negocio se distribuyen a través de múltiples sistemas. Esto hace que sea difícil recopilar toda la información necesaria para una decisión de un negocio en particular.
  • La búsqueda de la información necesaria para la toma de decisiones del negocio toma tiempo y es propenso a errores. La necesidad de reunir y conciliar los datos de múltiples orígenes resulta en procesos de toma de decisiones ineficientes y lentos, que pueden ser agudizados aún más a través de las inconsistencias entre duplicados, y orígenes contradictorios de la misma información.
  • Las preguntas del negocio fundamentales son difíciles de responder. La mayoría de las decisiones del negocio requieren un conocimiento de los hechos fundamentales, tales como "¿Cuántos clientes tenemos?" o "¿Qué productos vendemos más frecuentemente?" Aunque estas preguntas pueden parecer simples, la distribución de los datos a través de múltiples sistemas en una organización típica puede hacerlos difíciles, o incluso imposibles, de responder.
Al resolver estos problemas, es posible tomar decisiones efectivas que ayuden a la empresa a ser más exitosa, tanto a nivel estratégico, como ejecutivo y durante las operaciones del día a día del negocio.

¿Qué es un Data Warehouse?

Un data warehouse proporciona una solución al problema de datos distribuidos que evita la toma de decisiones efectiva del negocio. Hay muchas definiciones para el término "data warehouse", y desacuerdos sobre los detalles de implementación específicos, pero es generalmente aceptado que un data warehouse es un almacén centralizado de datos del negocio que puede ser utilizado para reportes y análisis, para informar las decisiones del negocio.
Típicamente, una data warehouse:
  • Contiene grandes volúmenes de datos históricos, referidos a las transacciones del negocio.
  • Está optimizado para operaciones de lectura que soportan la consulta de los datos. Esto está en contraste con una base de datos de procesamiento de transacciones en línea (OLTP) típica, que está diseñada para soportar operaciones de inserción, de actualización, y de eliminación de datos, también.
  • Se carga con datos nuevos o actualizados a intervalos regulares.
  • Proporciona la base para aplicaciones empresariales de BI. 

Arquitecturas de Data Warehouse

Hay muchas maneras de implementar una solución data warehouse en una organización. Algunos enfoques comunes incluyen:
  • La creación de un único, data warehouse empresarial central, para todas las unidades del negocio.
  • La creación de pequeños, data warehouses departamentales, para las unidades del negocio individuales.
  • La creación de una arquitectura hub-and-spoke, que sincroniza un data warehouse empresarial central, con los data marts departamentales que contienen un subconjunto de los datos del data warehouse.
La arquitectura adecuada para que una empresa dada, podría ser uno de estas, o una combinación de varios elementos de los tres enfoques.

Componentes de una Solución Data Warehousing

Una solución data warehousing usualmente consiste de los siguientes elementos:
  • Data sources. Los orígenes de datos del negocio para el data warehouse, a menudo incluyen las bases de datos de aplicaciones OLTP y datos que han sido exportados desde sistemas propietarios como las aplicaciones de contabilidad.
  • Un proceso de extracción, transformación y carga (ETL). Un flujo de trabajo para acceder a los datos de los orígenes de datos, modificándolo para ajustarse al modelo de datos para el data warehouse y cargándolo en el data warehouse.
  • Areas de staging de datos. Son ubicaciones intermedias donde los datos que están siendo transferidos al data warehouse, son almacenados para prepararlos para importarlos al data warehouse y sincronizar las cargas del data warehouse.
  • Un data warehouse. Una base de datos relacional que ha sido diseñado para proporcionar consultas de alto rendimiento de los datos históricos de la empresa, para reportes y análisis.
Además, muchas de las soluciones data warehousing también incluyen:
  • Limpieza de datos y deduplicación. Una solución para resolver los problemas de calidad en los datos antes de que sean cargados en el data warehouse.
  • Gestión de datos maestros (MDM). Una solución que proporciona una definición de datos autorizada por las entidades de la empresa que usan los múltiples sistemas a través de la organización.

Proyectos Data Warehousing

Un proyecto data warehousing tiene mucho en común con cualquier otro proyecto de implementación TI, por lo que es posible aplicar las metodologías más comúnmente utilizadas, como Agile o Microsoft Solutions Framework (MSF). Sin embargo, un proyecto data warehousing a menudo requiere de una comprensión profunda de los objetivos claves del negocio y las métricas que son utilizadas para impulsar la toma de decisiones, a diferencia de otros proyectos de desarrollo de software o infraestructura.
Un enfoque de alto nivel para la implementación de un proyecto data warehousing por lo general incluye los siguientes pasos:
1. Trabajar con los interesados del negocio y trabajadores de la información para determinar las preguntas del negocio a la cual el data warehouse debe proporcionar respuestas. Pueden incluir preguntas tales como:
  • ¿Cuál fue el ingreso total de ventas para cada territorio geográfico de ventas en un mes determinado?
  • ¿Cuáles son nuestros productos o servicios más rentables?
  • ¿Están nuestros costos creciendo o reduciendo sobre el tiempo?
  • ¿Qué empleados de ventas están cumpliendo con sus objetivos de ventas?
2. Determinar los datos requeridos para responder a estas preguntas. Es normal pensar en estos datos en términos de "dimensiones" y "hechos". Los hechos contienen las medidas numéricas que necesita agregar para que pueda responder a las preguntas del negocio, que fueron identificados en el paso 1 (por ejemplo, para determinar los ingresos por ventas, es posible que necesite el monto de venta para cada transacción de venta individual). Las dimensiones representan los diferentes aspectos del negocio para los cuales desea agregar las medidas (por ejemplo, para determinar los ingresos por ventas de cada territorio en un mes determinado, puede que necesite dos dimensiones: una dimensión geográfica, para que pueda agregar las ventas por territorio, y una dimensión tiempo de modo que pueda agregar las ventas por mes).
3. Identificar los orígenes de datos que contienen los datos requeridos para responder a las preguntas del negocio. Estas son comúnmente las bases de datos relacionales que las aplicaciones de línea de negocio existentes utilizan, pero también pueden incluir:
  • Archivos planos o documentos XML que han sido extraídos de sistemas propietarios.
  • Los datos en la lista de Microsoft SharePoint.
  • Los datos disponibles comercialmente, que han sido comprados de un proveedor de datos, tales como el Microsoft Windows Azure Marketplace.
4. Determinar la prioridad de cada pregunta del negocio basado en:
  • La importancia de responder la pregunta, en relación a la conducción de los objetivos clave del negocio.
  • La factibilidad de responder la pregunta de los datos disponibles.
Un enfoque común para priorizar las preguntas del negocio, que abordará en la solución data warehousing, es trabajar con los interesados claves del negocio y ubicar cada pregunta en una matriz basada en cuadrantes como la mostrada abajo. La posición de las preguntas en la matriz ayuda a reconocer el alcance del proyecto data warehousing.
Si un gran número de preguntas caen en la categoría alta importancia, alta factibilidad, es posible que desee considerar un enfoque incremental en el proyecto, en el cual distribuye el desafío en una serie de sub-proyectos. Cada sub-proyecto aborda el problema de implementar el esquema data warehouse, solución ETL, y los procedimientos de calidad de datos para un área específica de la empresa, partiendo de las preguntas del negocio de más alta prioridad. Si toma este enfoque incremental, debe tener cuidado para crear un diseño global para tablas de dimensión y de hechos en las primeras iteraciones de la solución, para que las adiciones posteriores a la solución pueden reutilizarlas.

Roles de Proyecto Data Warehousing

Un proyecto data warehousing normalmente implica varios roles. Estas roles incluyen:
  • Un director de proyecto. Coordina tareas y calendarios del proyecto y asegura que el proyecto sea completado a tiempo y dentro del presupuesto.
  • Un arquitecto de la solución. Tiene la responsabilidad general del diseño técnico de la solución data warehousing.
  • Un modelador de datos. Diseña el esquema del data warehouse.
  • Un administrador de base de datos. Diseña la arquitectura física y la configuración de la base de datos data warehouse. Además, los administradores de bases de datos que tienen la responsabilidad de los orígenes de datos que son utilizados en la solución data warehousing, deben estar involucrados en el proyecto para proporcionar el acceso a los orígenes de datos, que el proceso ETL utiliza.
  • Un especialista en infraestructura. Implementa la infraestructura de servidores y de red para la solución data warehousing.
  • Un desarrollador de ETL. Construye el flujo de trabajo ETL para la solución data warehousing.
  • Los usuarios del negocio. Proporcionan los requisitos y ayudan a priorizar las preguntas del negocio que la solución data warehousing responderá. A menudo, el equipo incluye un analista del negocio como un miembro a tiempo completo para ayudar a interpretar las preguntas del negocio y asegurar que el diseño de la solución satisfaga las necesidades de los usuarios.
  • Testers. Verifican la funcionalidad operativa y del negocio de la solución, así como su desarrollo.
  • Los stewards de datos para cada tema clave en la solución data warehousing. Determinan las reglas de calidad de datos y validan los datos antes de que entren al data warehouse. Los stewards de datos son algunas veces referidos como los gobernadores de datos.
Además de garantizar la asignación adecuada de estos roles, también debe considerar la importancia del patrocinio a nivel ejecutivo del proyecto data warehousing. El proyecto tiene más altas probabilidades de éxito si un patrocinador ejecutivo de alto nivel está apoyando activamente la creación de la solución data warehousing.

SQL Server como una Plataforma Data Warehousing

SQL Server incluye componentes y características que puede utilizar para implementar los diferentes elementos de la arquitectura de una solución data warehousing. Estos componentes incluyen:
  • El motor de base de datos SQL Server. Un sistema relacional altamente escalable de gestión de base de datos (RDBMS) en el que se puede implementar un data warehouse. SQL Server Enterprise incluye características que lo hacen especialmente adecuado para las soluciones data warehousing. Una característica es la optimización de las consultas de unión estrella, que aumenta significativamente el rendimiento de las consultas en un esquema data warehouse típico. Otra característica es el índice columnstore, que puede mejorar significativamente el rendimiento de las cargas de trabajo del data warehouse.
  • SQL Server Integration Services. Una plataforma completa y extensible para la creación de soluciones ETL, incluyendo soporte para una amplia gama de orígenes de datos y numerosas tareas de transformaciones data flow y de control flow integradas para los requerimientos ETL comunes.
  • SQL Server Master Data Services. Una solución de gestión de datos maestros que permite a las organizaciones crear definiciones de datos autorizadas para las entidades del negocio claves, y asegurar la consistencia de datos a través de múltiples aplicaciones y sistemas.
  • SQL Server Data Quality Services. Una solución basada en el conocimiento para la validación, la limpieza, y la deduplicación de datos.
  • Microsoft SQL Azure. Una plataforma de base de datos basada en la nube, que podría ser utilizada para proporcionar un origen de datos en una solución data warehousing.
  • Windows Azure Marketplace DataMarket. Un repositorio basado en la nube de los datasets disponibles comercialmente que pueden ser incorporados en su data warehouse o que el SQL Server Data Quality Services puede utilizar para validar y limpiar los datos.
Además, puede utilizar algunos componentes de SQL Server y otros productos Microsoft para construir una solución BI empresarial que amplíe el valor de su data warehouse significativamente. Estos componentes y productos incluyen:
  • SQL Server Analysis Services. Un servicio para la creación de modelos de datos analíticos multidimensionales y tabulares para el llamado análisis "slice and dice", y para la implementación de modelos de minería de datos que se puede utilizar para identificar tendencias y patrones en sus datos.
  • SQL Server Reporting Services. Una solución para la creación y distribución de reportes en una variedad de formatos para la visualización en línea o impresión.
  • Microsoft SharePoint Server. Un portal basado en la web a través del cual los trabajadores de la información pueden usar reportes y otros entregables de BI.
  • Microsoft Excel. La herramienta de análisis de datos y hoja de cálculo más comúnmente utilizada en el mundo.
  • Tecnologías Microsoft PowePivot. Un poderoso motor analítico que habilita el análisis de grandes volúmenes de datos en Excel y comparte los modelos de datos tabulares en el servidor SharePoint.
  • Microsoft Power View. Una herramienta de visualización de datos que proporciona una experiencia intuitiva, interactiva para usuarios que necesitan realizar el análisis de los datos no estructurados en un modelo semántico BI. 


1 comentarios:

Narcizo dijo...

Un post de DWH.