Ralph Kimball
Ralph Kimball
Ralph Kimball
Profesor Tutor
A Ericka Daniela, el ser que ha sido capaz de llenar con su esencia y presencia cada elemento de mi vida. Gracias por mostrarme el significado de vivir y amar
AGRADECIMIENTOS
A Ronaldo Sevilla y Vida Berros, mis amados padres, quienes me dieron la vida y hasta el da de hoy han guiado mi camino con su amor y dedicacin, porque siempre han estado all para m, con sus brazos abiertos llenos de comprensin y la preocupacin en el corazn, compartiendo mis alegras y tristezas, infinitas gracias y an es poco. A mi querido hermano Ronaldo, siempre dispuesto, perseverando y acompandome en el andar de la vida y para la construccin de esta monografa. A mi tutor Carlos, por su disponibilidad y ayudarme a delimitar y esclarecer mis ideas, a Flavia e Irene y dems amigos por todos sus consejos y su tiempo, y a mis compaeros y colegas que juntos recorrimos la senda del saber. A todas aquellas personas que no han escatimado sus palabras ni acciones para apoyarme, darme nimos, ideas, etc y que por razones de espacio no puedo enumerar.
CONTENIDO
INTRODUCCIN ................................................................................................. i I. II. ANTECEDENTES ..................................................................................iii OBJETIVOS ............................................................................................. v A. General: ................................................................................................. v B. Especficos:............................................................................................ v DESARROLLO DE LA TESIS............................................................................ 1 I. MARCO TERICO ................................................................................. 1 A. El Data Warehouse................................................................................ 1 B. Metodologas ms utilizadas para construir un Data Warehouse ......... 6 II. ANLISIS CUALITATIVO DE LAS METODOLOGAS .................. 40 A. Barry Devlin........................................................................................ 41 B. William Inmon..................................................................................... 43 C. Ralph Kimball ..................................................................................... 45 D. Sntesis ................................................................................................ 48 III. CONTEXTO NICARAGENSE........................................................... 50 IV. ESTUDIO DE FACTIBILIDAD............................................................ 53 A. Factibilidad Tcnica ............................................................................ 54 B. Factibilidad Operativa ......................................................................... 57 C. Factibilidad Econmico-Financiera .................................................... 61 D. Factibilidad Legal................................................................................ 67 E. Sugerencia para el proyecto................................................................. 69 V. A. GUA METODOLGICA PARA LA CONSTRUCCIN DE UN DATA WAREHOUSE ........................................................................... 70 Etapa 1: Anlisis y Comprensin del Entorno Analtico .................... 72 B. Etapa 2: Definicin de una Arquitectura............................................. 74 C. Etapa 3: Enriquecimiento de Datos ..................................................... 85 D. Etapa 4: Construccin en Incrementos, Data Marts............................ 91 CONCLUSIONES .............................................................................................. 99 RECOMENDACIONES................................................................................... 101 ANEXO A: INDICES DE ILUSTRACIONES Y TABLAS ANEXO B: BIBLIOGRAFA ANEXO C: COTIZACIONES DE EQUIPOS Y CRONOGRAMA ANEXO D: ENTREVISTAS
ANEXO E: REQUERIMIENTOS DE HERRAMIENTAS SOFTWARE ANEXO F: MODELOS DE DATOS Y SCRIPTS ANEXO G: CORRESPONDENCIA FUENTE DESTINO Y RUTINAS ETL ANEXO H: REPORTES OBTENIBLES ANEXO I: GLOSARIO
INTRODUCCIN
El presente estudio monogrfico, satisface la necesidad de un marco de referencia para la construccin de un Data Warehouse, unificado y adaptado a profesionales o estudiantes de Informtica que inician su aprendizaje sobre sta tecnologa. El resultado obtenido es una gua metodolgica que apoya la definicin y ensea el desarrollo de un Data Warehouse que rene y unifica las metodologas ms aceptadas y que adems concuerda con el conocimiento que sobre este proceso tienen los principiantes que desean por primera vez introducirse en la construccin de un Data Warehouse. Todo esto con el propsito de que quien utilice y ponga en prctica la gua encuentre una referencia slida y comprensible que le dirija a travs del proceso de desarrollo de un Data Warehouse. Un Data Warehouse es una coleccin almacenada de datos corporativos originados en diversos sistemas transaccionales dentro de una organizacin. Un Data Warehouse es un repositorio nico de informacin cuyo propsito especfico es soportar la toma de decisiones en un negocio, no las operaciones del mismo, por ello se encuentra organizado de una forma muy distinta a las bases de datos tradicionales. En el contexto nacional, las empresas nicaragenses que desean expandir su mercado ms all de nuestras fronteras o mejorar su rendimiento en el sector en el que se desempean, deben ser competitivas y obtener ventajas de todos sus recursos para asegurar la efectividad de sus estrategias y su correspondiente remuneracin. Uno de los recursos ms importantes con los que cuenta cualquier organizacin es la informacin. La explotacin de la informacin de la empresa habilita a los ejecutivos tomar decisiones ms adecuadas y efectivas, fundamentalmente reconocer oportunidades y posibilidades de crecimiento. Sin embargo, el uso apropiado que se haga de la informacin de una empresa estar en dependencia de la calidad de los datos que la originan, la claridad del significado que tienen para los tomadores de decisiones, su estructura lgica, organizacin y la disposicin a tiempo y en forma. Si los datos son veraces y adecuados pero son extemporneos difcilmente servirn para la toma de decisiones, ya que la problemtica que se le present a la empresa no pudo ser resuelta de la mejor manera posible. La velocidad
en la evaluacin de diferentes alternativas es un elemento primordial para la supervivencia en el mundo de los negocios actuales. El escenario anterior puede ser resuelto apropiadamente con la construccin de un Data Warehouse. Cuando la implementacin de un Data Warehouse es xitosa aumentan las visitas de los usuarios al Data Warehouse y es en este aspecto en donde se produce el retorno de la inversin, ya que a travs de las decisiones tomadas a partir de la informacin consultada se incrementa la eficiencia de la organizacin, elevando los mrgenes de rentabilidad de la misma. Las empresas que tienen conocimiento de todas las ventajas que se obtienen de un Data Warehouse tienen entre sus planes estratgicos la construccin de uno. Sin embargo, el desarrollo de un Data Warehouse es una inversin cara y delicada, por el tipo de herramienta y plataforma informtica que se necesita para su construccin. Adems, el personal especializado que puede asesorar la implementacin exitosa es escaso en el pas, lo que hace costoso su reclutamiento. Los factores anteriores son los que ms han detenido a proyectos de Data Warehouse de ser implementados. Esta gua adaptada a profesionales o estudiantes de Informtica que inician su aprendizaje sobre sta tecnologa lograr hacer ms fciles las iniciativas de construccin de Data Warehouses ya se cuenta con un marco terico de referencia slido y sencillo que guiar a todo aquel que desee realizar una primera experiencia de desarrollo de Data Warehouse sin necesidad de comprometerse en un proyecto de gran envergadura sin previa experiencia, proporcionando de esta manera personal con buenas bases y nociones de lo que es Data Warehousing a empresas que inicien el desarrollo de un Data Warehouse. Esta gua potencia la capacidad de las personas para planificar, de manera consistente, la implementacin del Data Warehouse dentro de la empresa y es dirigida al personal de Tecnologa de Informacin que pertenece a la organizacin en cada una de las etapas del proyecto de Data Warehouse, tomando lo mejor de las metodologas ms utilizadas y adaptndolo a principiantes, pero que puede ser fcilmente retomada por el director del proyecto como referencia de apoyo.
ii
I.
ANTECEDENTES
El trmino Arquitectura de una Organizacin se refiere a la coleccin de
componentes tecnolgicos y sus interrelaciones que integrados nos permiten satisfacer las necesidades de informacin en una compaa. Aqu se introduce el concepto de Arquitectura de Tecnologa de la Informacin de una Organizacin con la intencin de proporcionar un base de referencia sobre la tecnologa de Data Warehousing como uno de muchos componentes de una arquitectura de Tecnologa de la Informacin (IT). El concepto de Data Warehouse se desarrolla basndose en la necesidad de encontrar una estructura ptima para analizar los datos dejando el enfoque tradicional de estructuras orientadas al registro de transacciones; con ello la tecnologa de data Warehousing se establece como un modelo que evoluciona paralelamente al cambio en las necesidades actuales de construir sistemas que faciliten el proceso de toma de decisiones. Segn la definicin de W. H. Inmon, Un Data Warehouse es un conjunto de datos integrados, orientados hacia una materia, que varan con el tiempo y que no son transitorios, los cuales apoyan el proceso de toma de decisiones de una administracin[INMON92]. En otras palabras, un Data Warehouse es el almacenamiento de datos con fines estratgicos de negocio, concepto muy opuesto al objetivo de las bases de datos operativas. La importancia reside en que son fuente de materia prima selecta en los sistemas de soporte para la toma de decisiones. Los profesionales de IT deben asegurar una infraestructura IT que soporte adecuadamente una gran cantidad de requerimientos de los diferentes usuarios de negocios, cada uno de los cuales tiene necesidades constantes y diferentes. Adems, continuamente deben aprender nuevas tecnologas, evaluar nuevas herramientas y mantenerse en contacto permanentemente con sus asociados tecnolgicos. No todas las ltimas tecnologas son tiles, de modo que es necesario escoger de entre el rompecabezas e integrar las distintas piezas para formar un todo coherente. Este problema es resuelto a travs de la construccin de un Data Warehouse. Ante esta situacin los profesionales de IT han desarrollado estrategias y metodologas para la construccin de Data Warehouses segn entorno y propsito de
iii
desempeo especficos. No existe, un punto de vista nico que gue la construccin y adaptacin de un Data Warehouse a los requerimientos de las organizaciones en Nicaragua, debido a que las necesidades de cada una de ellas son diferentes, al igual que su contexto. Sin embargo, es posible establecer un marco de referencia unificado que brinde, a cada participante novel de un proyecto de Data Warehouse, el apoyo necesario para su definicin y desarrollo.
iv
II.
OBJETIVOS
A.
General:
Disear una gua metodolgica para que apoye la definicin y muestre el desarrollo de un Data Warehouse, mediante la elaboracin de un estudio para adaptar los enfoques y estrategias de construccin de las metodologas ms utilizadas hasta el ao 2001, a Tecnlogos de la Informacin noveles en Data Warehousing.
B.
Especficos:
i. Proponer una estrategia para la planificacin, definicin y desarrollo de un Data Warehouse, a travs de un anlisis cualitativo de las metodologas ms utilizadas, para lograr un mtodo base que sea fcil, entendible, prctico y adaptado a noveles en Data Warehousing. ii. Precisar la viabilidad de la puesta en prctica de la gua, a travs de la realizacin de un anlisis de Costo-Beneficio, para la factibilidad de construccin de un Data Warehouse utilizando la gua metodolgica propuesta. iii. Esbozar una propuesta de diseo de Data Warehouse, que utilice los criterios formulados en esta gua metodolgica dentro de una institucin financiera, a travs del uso de Modelado Dimensional de datos, para comprobar la funcionalidad de la gua.
DESARROLLO DE LA TESIS
I. A. MARCO TERICO El Data Warehouse La concepcin generalizada que se tiene acerca de lo que es un Data Warehouse, implica algn tipo de Base de Datos que proporciona varias funciones a varios usuarios, proviene ms bien de la implementacin del Data Warehouse que de su definicin conceptual. La divergencia de criterios sobre una el concepto en s se cimienta en el hecho de que no exista una definicin oficial de Data Warehouse, esto es, una definicin estndar soportada por un comit de estndares. A pesar de esto, las caractersticas del entorno analtico que supone ser el Data Warehouse son ampliamente reconocidas y aceptadas. Ambos, definicin y caractersticas a continuacin.
1.
Definicin Data Warehouse es un anglicismo que, como muchas de las expresiones que
predominan en el mundo de la Tecnologa de Informacin, no tiene traduccin exacta al castellano, la mejor aproximacin que se puede hacer sera llamarle Almacn de Datos. No obstante, si el Data Warehouse fuese exclusivamente un almacn de datos, los datos encontrados dentro de l no serviran para brindar soporte a la toma de decisiones dentro de una organizacin. Al verificar fuentes bibliogrficas se observa que diferentes libros y artculos atribuyen a diferentes autores el origen de la definicin de Data Warehouse, sin embargo las tendencias que ms predominan (las referencias ms utilizadas) indican principalmente dos fuentes distintas. Una de estas fuentes seala a Barry Devlin y Paul Murphy, quienes en 1988 escribieron "An Architecture for a Business and Information System"[Devlin88] que fue publicado en el IBM Systems Journal, y el cual es uno de los primeros artculos que describe la arquitectura de un Data Warehouse, que fue desarrollado entre 1985 y 1986 para uso interno de IBM Europa en Dubln. Ellos hicieron uso del trmino Information Warehouse para referirse al proyecto, dicha expresin en la actualidad es ampliamente usada para referirse a un Data Warehouse.
Posteriormente [Devlin97,p20] defini que Data Warehouse es un nico, completo y consistente almacn de datos obtenido de una variedad de fuentes y puesto a la disposicin de los usuarios finales de manera que ellos puedan entender y usar en el contexto del negocio. Sin embargo, la definicin ms difundida y aceptada de un Data Warehouse pertenece a William H. Inmon quien fue el primero en acuar el trmino. Un Data Warehouse es un conjunto de datos orientados hacia una materia, integrados, no transitorios y que varan con el tiempo, los cuales apoyan el proceso de toma de decisiones de una administracin [Inmon96, p33] Inmon es considerado el padre del Data Warehouse y a escrito una serie de libros junto a otros colaboradores donde abordan ampliamente los diferentes tpicos y niveles de la arquitectura Data Warehouse. Otros autores como Rob Mattison en [Mattison96] quien identifica cuatro caractersticas de un Data Warehouse estar organizado como un rea de almacn de datos neutral, es usado para data-mining y otras aplicaciones, llena un conjunto especfico de requerimientos de negocio y es usado para satisfacer un conjunto predefinido de criterios de negocio en su fondo coinciden plenamente con lo expresado por Inmon, en su ya clsica y comnmente usada definicin. La tecnologa de Data Warehouse, define en s misma un nuevo entorno de trabajo en el que hay profusin de nuevos trminos, los cuales hacen referencia a los conceptos que sirven de fundamento al Data Warehouse, por ello es sumamente necesario tener en claro el significado de cada uno de ellos, para poder desenvolverse con soltura y propiedad en el ambiente de los Data Warehouse.
2.
Caractersticas del Data Warehouse Al analizar un poco cada trmino utilizado en la definicin de Data Warehouse
de Inmon, nos indican claramente que un Data Warehouse se caracteriza por ser: Integrado: los datos almacenados en el Data Warehouse deben integrarse en una estructura que elimine las inconsistencias existentes entre los diversos sistemas operacionales, que sirven de fuentes de datos. La informacin suele estructurarse
tambin en distintos niveles de detalle para adecuarse a las distintas necesidades de los usuarios. Temtico: slo los datos necesarios para generar informacin del negocio se integran desde el entorno operacional. Los datos se organizan por temas, no por aplicacin, as se facilita el acceso y entendimiento por parte de los usuarios finales a los datos contenidos en el Data Warehouse. Esta caracterstica permite realizar anlisis y minera de datos (data mining). Histrico: el tiempo es parte implcita de la informacin contenida en un Data Warehouse. En los sistemas operacionales, los datos siempre reflejan el estado de la actividad del negocio en el momento presente. Por el contrario, el Data Warehouse se carga con los distintos valores que toma una variable en el tiempo para permitir comparaciones y anlisis de tendencias, entre otras cosas. No voltil: el Data Warehouse se construye para ser ledo, y no modificado. La informacin que existe en un Data Warehouse es permanente, su actualizacin consiste en la incorporacin de los ltimos valores que tomaron las distintas variables contenidas en l sin alteracin a los datos que ya existan. Adems se puede agregar que un Data Warehouse tiene otras caractersticas, quiz menos trascendentales, pero que lo diferencian de otras tecnologas: Contiene datos diversos: es un repositorio unificado de informacin. Los datos de toda la organizacin aunque pertenezcan a aplicaciones dismiles son integrados en el Data Warehouse Optimizado para la consulta masiva: el diseo fsico tiene un objetivo distinto al de las bases de datos transaccionales, mejorar los tiempos de respuesta de consultas masivas de informacin, sin perder de vista la orientacin temtica y la facilidad de entendimiento que se debe brindar al usuario final La interfaz de usuario esta dirigida a los ejecutivos: las aplicaciones que se construyen sobre un Data Warehouse y que sirven para acceder a su informacin, en su mayora sern utilizadas por analistas de decisiones y altos ejecutivos que descubran las bondades del Data Warehouse, por lo que deben ser amigables e intuitivas. Gran volumen: Cuando se habla de Data Warehouse el espacio de almacenamiento se mide en Gigabytes y Terabytes, como consecuencia de la informacin sumarizada el Data Warehouse admite redundancia y de el largo tiempo de vida de la informacin usualmente entre 5 y 10 aos.
Todo lo expuesto presenta las caractersticas sobresalientes del nuevo entorno analtico-informtico que nace producto de la incorporacin de la tecnologa de Data Warehousing en una organizacin y que lo distingue del entorno operativo los sistemas transaccionales. Tambin se puede caracterizar un Data Warehouse haciendo un contraste de cmo los datos de un negocio almacenados en un Data Warehouse, difieren de los datos operacionales usados por las aplicaciones de produccin. [INEI97] La siguiente figura muestra las diferencias fundamentales entre el ambiente operacional y el Data Warehouse que se han discutido en esta seccin.
Estas diferencias representan un cambio radical en cuanto el enfoque que se le da a los sistemas de informacin y al rol que desempea el equipo de tecnologa de la informacin dentro de una organizacin. Ellas se encuentran resumidas en la tabla IV-1 Las ventajas que presenta la existencia de un Data Warehouse no pueden ser conocidas a priori (en avance), es decir antes de tener lista la primera etapa de implementacin porque un Data Warehouse es usado en una forma completamente distinta a otros datos y sistemas construidos por los sistemas de informacin. Esto hace que no sea posible aplicar anlisis del tipo Retorno a la Inversin (ROI) para justificar la inversin en un Data Warehouse. [Inmon96, p67]
Tabla I-1.- Diferencias entre Data Warehouse y las Bases de Datos Estndar
Base de Datos Estndar En su mayor parte son actualizaciones Muchas transacciones pequeas Mb Gb de Datos Snapshots Actuales Datos Crudos Los usuarios son oficinistas Data Warehouse En su mayor parte son lecturas Las consultas son largas y complejas Gb Tb de datos Historia Datos sumarizados y consolidados Tomadores de decisiones, los usuarios son analistas
Por sobre todo, las bondades del Data Warehouse no son cuantificables de manera cuantitativa sino cualitativa -Cunto vale una buena decisin, oportuna y a tiempo?- Los beneficios que brinda un Data Warehouse derivan directamente de los nuevos usos de la la informacin existente o de la disponibilidad de informacin que difiere en sustancia, calidad o detalle de la informacin que se tienen disponible y se usa en ese momento. Es a partir de esa informacin que las ventajas competitivas fluyen [Porter85]. Otras ventajas ms tangibles son: Alto desempeo de las consultas, el diseo del Data Warehouse lo permite. La informacin se encuentra disponible todo el tiempo, aun si los sistemas fuentes no lo estn. El procesamiento local en los sistemas fuentes no se afecta, todos los anlisis necesarios para soporte a la toma de decisiones se trasladan hacia el Data Warehouse y este se actualiza cuando los sistemas operacionales estn fuera de lnea, sin ocasionar interrupciones innecesarias. Informacin extra en el Data Warehouse. Mucha informacin ya se calcul en avance, existen muchos datos que ya se encuentran sumarizados. La informacin que ms se necesita ya est lista cuando se requiere. Consultas slo del mbito del Data Warehouse. En el Data Warehouse se puede realizar consultas que fuera de l seria imposible de conseguir, por restricciones de recursos y tiempo.
B.
Metodologas ms utilizadas para construir un Data Warehouse Cualquiera que construya un Data Warehouse necesita consultar referencias
adicionales de una mayor profundidad. Yo sugiero la lectura de Building the Data Warehouse de Bill Inmon, The Data Warehouse Toolkit de Ralph Kimball y Data Warehouse: From Architecture to Implementation de Barry Devlin [Porter02]. As se expresa, acerca de quienes son los principales exponentes de las metodologas Data Warehouse , John Porter quien es el Administrador de Datos y Patrocinador del proyecto de Data Warehouse de la Universidad del Estado de Arizona, uno de los primeros Data Warehouse empresariales en la Educacin Superior. La mayora de los expertos coinciden con Porter en que es conveniente para todo individuo que se inicia en el estudio de Data Warehousing, iniciarse en esta tecnologa con el conocimiento que proporciona el enfoque de Bill Inmon, continuar con las instrucciones y herramientas de Ralph Kimball e incluir tambin las enseanzas de Barry Devlin. Bill Inmon fue el primero en definir y defender el concepto de Data Warehouse, por lo cual se le conoce como el padre del Data Warehouse, adems de proponer estructuras como el ODS o la Fbrica de Informacin Corporativa (Corporate Information Factory) y de una estrategia corporativa para la construccin de Data Warehouses. Ralph Kimball, por su lado merecidamente puede ser llamado con el ttulo de padre de la Inteligencia de Negocio (Business Intelligence), pues l ha codificado el esquema estrella y las estructuras de datos llamadas copo de nieve, ha definido los conceptos de Data Mart, jerarquas de dimensiones, mtricas base y agrupadas, drilling, entre otras y en corto plazo ha desarrollado la ciencia detrs de las modernas herramientas de reportes analticos. Ambos han hecho inmensurables contribuciones al campo del Data Warehousing. [Lee02]. Barry Devlin, fue pionero al proclamar la construccin de sistemas inteligentes para soporte a la toma de decisiones, de una forma ms orientada al anlisis, a los que denomin Information Warehouse, y que en realidad es un Data Warehouse, esto ocurri desde los aos ochenta, an cuando su libro fuera publicado hasta en 1997, varios aos despus de lo libros de Inmon y Kimball, Devlin sigue siendo un innovador en sus enseanzas. Un enfoque exitoso de Data Warehousing debe contemplar mucho ms que el proceso de diseo. Las situaciones envuelven la arquitectura de datos del Data Warehouse, la cultura organizacional, los roles y responsabilidades cambiantes, la calidad de datos, integracin de datos y dems, por lo que es imperativo reconocer que no existe un nico mtodo aplicable a toda empresa u organizacin pues cada una es nica, si no ms bien
conocer y comprender cuales son las filosofas y metodologas ms exitosas para utilizarlas y obtener mayores beneficios, en lugar de enfocarse en una sola y disminuir la perspectiva. A continuacin se abordan ligeramente ests tres metodologas ya mencionadas.
1.
Las Enseanzas de Barry Devlin Barry Devlin es uno de los gurs del Data Warehouse. l plantea en su libro
[Devlin97] una metodologa para la construccin de un Data Warehouse que se propone satisfacer la necesidad de un enfoque generalizado e implementacin racional que necesitan las empresas en la actualidad. Su propuesta es una metodologa que trata de cubrir por entero todo el proceso de implementacin, en ella resaltan los elementos que se discutirn luego. Sin embargo, su metodologa no est claramente definida paso a paso como lo hace W. Inmon o Ralph Kimball. Devlin en cambio parte de una base de conceptos que se abordan a continuacin: Arquitectura de datos conceptual en tres capas Un atributo importante de la metodologa de Devlin es la exposicin de tres distintas arquitecturas de datos para los datos en el Data Warehouse, cada una con una, dos y tres capas respectivamente. Devlin concluye que la opcin ganadora, para la mayora de los proyectos, es la Arquitectura de datos conceptual en tres capas[Devlin97, p63], sin embargo acepta que la arquitectura de dos capas es muy difundida, ya que se adapta particularmente bien a los ambientes computacionales bastante homogneos que tienen un nmero relativamente pequeo de plataformas de hardware y software y a aquellos que utilizan el enfoque de Data Marts, propuesto por diversos autores, para la construccin del Data Warehouse. 1. Arquitectura de una capa: Cada elemento de dato se almacena una sola vez, por lo que todos los datos se gestionan como si fueran de tiempo real, incluso los datos derivados.
2. Arquitectura de dos capas: La capa ms baja es utilizada por los sistemas operacionales, son datos en tiempo real. La capa superior es utilizada por los sistemas informacionales, son datos derivados [Devlin97, p67]. 3. Arquitectura de tres capas: La primera capa es la de datos reales y la segunda capa de la arquitectura anterior se subdivide en dos: la capa de datos reconciliados y la de datos derivados. En este punto la capa de datos reconciliados es una base de datos normalizada que constituye la realizacin fsica del modelo de datos corporativo [Devlin97, p70]. Esta arquitectura es recomendada en todas las situaciones donde los negocios requieren una vista empresarial de los datos. En esta arquitectura Devlin denomina Business Data Warehouse (BDW) a la segunda capa y utiliza el trmino Business Information Warehouse (BIW) para referirse a la capa de datos derivados.
Replicacin de Datos Devlin la define como un conjunto de tcnicas que proveen soporte, de una forma comprensiva, para copiar y transformar los datos de la localidad fuente hacia la destino de una manera consistente, repetible y bien entendida, y que consta de los siguientes tres componentes de ejecucin claves: Captura: es un componente de la replicacin de datos que interacta con una fuente de datos almacenados para obtener una copia de algunos o todos los datos, o un registro de los cambios que han ocurrido en el almacn.
Transformacin: es el componente que convierte datos entre diferentes estructuras lgicas o fsicas de acuerdo a reglas predefinidas. Este componente acepta los datos en el formato de la fuente desde el componente de captura y lo cambia al formato que el componente de aplicacin utilizar en el destino.
Aplicacin: es un componente que aplica los datos capturados y transformados al almacn destino de los datos.
1.1.
Creacin del Activo de Datos Este primer apartado se refiere a utilizar los datos existentes para crear un
activo del activo de datos para la organizacin- un activo que debe ser administrado y protegido, razn por la cual existe el BDW. En la concepcin de Devlin el BDW es rigurosamente definido y en mayor parte centralizado que el BIW. Existen dos etapas que deben ser tomadas en consideracin: Diseo del BDW Segn el enfoque de Devlin, el BDW debe ser diseado con considerable cuidado, debido a que es un componente central del Data Warehouse. La etapa de diseo puede adems subdividirse en las siguientes partes: I. Modelado del BDW: este proceso consta de dos grandes iteraciones. A. Definicin del alcance del modelo entidad relacin: reducir el modelo entidad relacin de la organizacin a solamente aquellos aspectos que se aplican a los sistema informacionales. Se debe enfatizar en los aspectos relacionados con el tiempo, los cuales permiten el mantenimiento de datos peridicos. B. Diseo fsico del BDW: En esta segunda etapa existen tres reas de particular inters. 1. Mapeo hacia los sistemas operacionales: Establece una correspondencia entre los sistemas fuentes de datos y el BDW y resuelve los problemas de inexistencia de modelos de datos en los sistemas operacionales. 2. Restricciones de fuentes de datos: Se refiere a la disponibilidad fsica de los datos en los sistemas fuente, algunos datos ya no se encuentran disponibles u otros deberan estar unificados pero no existen elementos que permitan relacionarlos.
10
3. Restricciones de desempeo: Se refiere a la discordia entre desempeo y volmenes de datos, ambos factores son influenciados por el hecho que la poblacin del Data Warehouse opera en fuentes de datos fijas y con significativas restricciones operativas; y porque la poblacin del Data Warehouse en s misma tienen restricciones operativas similares. II. Estructura de Datos Peridicos: cada instancia de una entidad del negocio, es representada por un conjunto de registros, cada uno de los cuales tiene la misma clave pero que se diferencian por las marcas de tiempo utilizadas como parte de la llave. Se debe crear una lnea gua de entre los diferentes esquemas de marca de tiempo para maximizar la eficiencia de las mismas. III. Archivo y recuperacin: este proceso debe disear una funcin que pueda proveer almacenamiento manejable y eficiente y recuperacin de datos entre los diferentes niveles en la jerarqua de almacenaje. Poblacin del BDW La poblacin del BDW ha sido considerada una de las partes tcnicamente ms demandantes de la construccin del Data Warehouse, lo que hace necesario disear un proceso de obtencin de datos que permita que los datos fluyan sin problemas y de forma confiable desde los sistemas operacionales a el BDW. I. Captura- de datos desde los sistemas operacionales. Se debe definir la captura para la carga del BDW tomando en cuenta los requerimientos del sistema en cuanto a desempeo y la necesidad de transformar datos transitorios o semi- peridicos a datos peridicos. II. Transformacin- de datos entre los dos ambientes. Existen una serie de funciones de transformacin de las que deben seleccionarse las que ms satisfagan las necesidades del negocio con el objetivo de normalizar y alinear los datos entrantes al Modelo de Datos de la Organizacin. III. Aplicacin- Existen 4 modos de aplicacin de datos y debido a sus caractersticas unos u otros pueden ser usados en la creacin del BDW o en su mantenimiento, ambas situaciones requieren diferentes modos de aplicacin de los datos. 1.2. Liberacin del activo de datos para el usuario final En este apartado Devlin describe como el Warehouse soporta al usuario final, brindndole informacin en lugar de datos y como la empresa alcanzar beneficios a travs
11
del uso del Business Information Warehouses (BIWS). Los desarrolladores necesitan estructurar los BIW para permitir el acceso de los usuarios tan lejos como sea posible pues en su vasta mayora dicho acceso de parte de los usuarios ocurrir en este nivel [Devlin97, p245]. Diseo de BIW El diseo de BIW debe proveer un buen desempeo sobre un rango de las formas ms probables en que los usuarios utilizarn los datos en el BIW, puesto que el comportamiento de los usuarios es impredecible y no se puede conocer en avance. En general, los BIW son sustancialmente denormalizados en relacin al BDW, esto con el objetivo de incrementar el desempeo de las consultas y para reducir la complejidad de los datos desde el punto de vista de los usuarios [Devlin97, p231]. El diseo de BIWS tiene mucho en comn con el diseo del BDW en cuanto a las partes en las que se divide, pero se diferencia en los enfoques con que se aborda algunas partes: I. Modelado de BIW: la justificacin para modelar BIW proviene de la audiencia del mismo, si sta es pequea el modelado no es apropiado pues no se justifica el esfuerzo, si por otro lado el BIW servir a todo un departamento o sern datos de uso pblico el modelado de datos es vital para asegurar la consistencia de uso y entendimiento de los datos. II. Datos Histricos en el BIW: conjuntos de datos histricos deben ser generados segn se requiera para necesidades analticas especficas y retenidos slo por los perodos de tiempo requeridos. III. Archivo y Recuperacin: consideraciones similares al diseo de BDW. Poblacin de BIW Como en la poblacin del BDW, la funcin genrica usada para poblar los BIW es la replicacin de datos en sus tres pasos previamente identificados [Devlin97, p247]: I. Captura- de datos desde el BDW. Los BIW en su mayora utilizan datos provenientes de ms de una tabla del BDW, por lo que es necesaria la sincrona entre dichas tablas del antes de comenzar con la poblacin del BDW. II. Transformacin- de datos entre los dos ambientes. Se limita a aquellas funciones que utilizan primordialmente el estndar SQL para realizar las transformaciones entre las
12
que se destacan: agregacin y enriquecimiento, las cuales envuelven clculos sobre los datos. III. Aplicacin- Cualquiera de los cuatro modos de aplicacin de datos pueden utilizarse, en dependencia de las circunstancias. En el BIW co-existen snapshots y datos peridicos los cuales deben ser tratados de forma distinta por el componente de aplicacin. Acceso del Usuario a la Informacin Cualquier aplicacin que permita al usuario acceder y manipular los datos del negocio en el Data Warehouse contiene elementos de una Interfaz de Informacin del Negocio (Business Information Interface - BII). La BII provee las funciones necesarias para seleccionar los datos, realizar anlisis, guardar los resultados y producir reportes en cualquier formato requerido. Este proceso finalmente transforma los datos en informacin [Devlin97, p261]. La estructura del BII debe ser como sigue:
Slo a travs de este proceso y de las aplicaciones construidas alrededor del BII, el negocio obtiene valor real a partir de la inversin en un Data Warehouse. El BII debe soportar consultas, manipulacin y reporte de datos y tambin proveer los medios para guardar y re-usar los resultados, tanto a nivel personal o departamental de la organizacin [Devlin97, p274].
13
Informacin - Datos en Contexto Los Metadatos brindan soporte al usuario final para encontrar datos relevantes y entender el significado de los mismos, por lo tanto el acceso y uso de los metadatos depende en gran parte de la funcionalidad y estructura que estos presenten, lo que convierte la poblacin de metadatos en la mayor dificultad que se les asocia [Devlin97, p275]. El componente de Metadatos se complementa con el BII para lograr liberar el activo de datos a los usuarios finales que estarn en capacidad de percibir y por tanto obtener valores de los datos. Estos componentes proveen el enlace entre los datos fundamentales almacenados y administrados en el Warehouse y la informacin requerida por el usuario final, juntos transforman los datos en informacin. La estructura del componente de Metadatos, denominado BIG (Business Information Guide), es muy anloga a la del BII, incluso se puede decir que el BIG es una forma muy especializada del BII, optimizada para el uso con Metadatos [Devlin97, p296]. La estructura es como sigue:
14
1.3.
Implementacin del Data Warehouse Este apartado incluye la informacin que permite estructurar de forma integral
el Data Warehouse. Obstculos a la Implementacin Aborda los problemas de las reas claves y su posible resolucin: Tamao y alcance del Data Warehouse Segn [Devlin97, p304] un verdadero Data Warehouse envuelve a la empresa por completo, esto implica que el tamao del Data Warehouse es enorme. Con el objetivo de evitar desastres potenciales en la implementacin que puedan poner en peligro la realizacin del proyecto Devlin plantea dividir la implementacin completa en piezas alcanzables que puedan ser implementadas en un proceso de etapas. El resultado es un proceso que se expande a varios aos pero que entrega valor al negocio en ciclos de seis o doce meses, en paralelo con una implementacin progresiva y en etapas de la arquitectura del Data Warehouse. Colocacin del BDW y BIW en la empresa Esta etapa se refiere a la arquitectura fsica del Data Warehouse y se deben considerar aspectos de la estructura organizacional, geogrfica y de las plataformas fsicas usadas por la compaa, decidir si implementar de forma centralizada o distribuida. Esta etapa es altamente dependiente del ambiente de la empresa porque no existe una nica forma de implementacin. Planeacin de la Implementacin El aspecto ms importante de la planeacin de la implementacin es que este proceso debe armonizar juntos valor para el negocio y la infraestructura de entrega. El resultado es una serie de proyectos cada uno entregando valor al negocio e infraestructura de una manera controlada y en etapas. La prioridad de la secuencia de entregas en este proceso es determinada por una combinacin de las necesidades del negocio y de aspectos tcnicos, siendo la influencia ms importante el modelo de datos de la empresa [Devlin97, p333].
15
Para segmentar el Data Warehouse se debe seguir los siguientes pasos. 1. Definir el modelo de alto nivel de la empresa: este paso se realiza una sola vez. 2. Modelar un subconjunto del BDW: definir la estructura y las relaciones de las aplicaciones operacionales que son fuente de datos, este es el paso ms complejo. 3. Modelar el primer BIW: definir su estructura y sus relaciones con el BDW. Se debe planear una implementacin en etapas que entreguen la infraestructura requerida para asegurar el mximo re-uso de cdigo y esfuerzos realizados previamente y una asociacin cercana con las aplicaciones informacionales especficas priorizadas. Cada etapa combina tareas relacionadas con la infraestructura genrica y las aplicaciones especificas del negocio, stas son sus tres mayores componentes [Devlin97, 312]: 1. Desarrollo de la infraestructura: las reas de infraestructura que normalmente se presentan son: implementacin del DBMS, poblacin del BDW y del BIW, creacin del BIG y componentes de administracin. 2. Modelado Empresarial: Pasar del modelado lgico al nivel fsico de una rea definida del negocio. 3. Aplicacin del Negocio: La parte del trabajo que debe ser hecha para soportar los requerimientos de negocios especficos de los usuarios, incluye: obtencin de requerimientos para el uso de informacin, modelado del BIW a nivel lgico y fsico, documentacin de los trminos del negocio, definiciones de datos y dems, para la captura y uso del catlogo del Data Warehouse . Todo proceso de implementacin de un Data Warehouse debe iniciar con un proyecto piloto diseado para probar la viabilidad de todo el enfoque. Estructura Fsica del Data Warehouse El diseo lgico de la arquitectura de datos de tres capas lleva a un conjunto de opciones muy flexibles y poderosas para el diseo fsico del Data Warehouse. Estas opciones van desde una decisin basada en una implementacin centralizada hasta a un enfoque completamente distribuido basado en una mezcla de plataformas de distinto tamao [Devlin97, p378]. Hay dos formas de dividir el BDW en subconjuntos:
16
Segmentacin del BDW: Segmentar el BDW en conjuntos de tablas relacionadas muy estrechamente, donde cada conjunto corresponde a reas del modelo de datos que muestra muchas relaciones internas pero pocas externas. Particin del BDW: el cual puede ser dentro del segmento consiste en particionar los datos en el segmento de acuerdo a conjuntos de valores de datos para que reflejen distintas reas del negocio o de desempeo segn el nivel que ocupen. Al considerar el modelado de datos, los requerimientos de uso de los datos y sus restricciones y el trfico en la red, los diseadores del Warehouse pueden determinar una ptima distribucin fsica. Administracin del Data Warehouse De los componentes de administracin del Data Warehouse, es importante prestar atencin especial al componente de administracin de replicacin, utilizado para definir como opera la funcin de replicacin de datos, mantiene los metadatos- fuente, destino y mapeo de funciones requeridos para la replicacin. Tambin hay dos componentes ms que son utilizados para soportar las principales actividades de crear mantener y utilizar el Data Warehouse: Administracin de procesos: coordina las funciones que operan entre ambientes y cuyas acciones deben ocurrir en una secuencia particular. Transferencia de Datos: es responsable del movimiento de datos a todos los niveles de granularidad, desde un registro solo a un archivo completo, entre sistemas fsicamente separados.
2.
El enfoque de W. H. Inmon William H. Inmon es considerado el padre del Data Warehouse, pues fue el
primero en acuar el trmino, adems su libro con el cual dio a conocer su teora sobre el Data Warehouse, es hoy en da, una dcada despus de su primera publicacin, una de las referencias ms completas y utilizadas por los profesionales que ingresan al mundo de la tecnologa del Data Warehouse. l ha a escrito ms de 32 libros solo o en compaa, con lo que ha consolidado una serie de obras que abarcan cada aspecto del diseo, construccin y gestin de un Data Warehouse.
17
Inmon presenta dos descripciones del camino a seguir para la construccin de un Data Warehouse. Un plan de migracin y una metodologa. Segn describe el propio William Inmon en [Inmon96, p288] la metodologa que l propone difiere del plan de migracin en varias maneras. El plan de migracin describe actividades generales dinmicamente. La metodologa describe actividades especficas, los resultados de esas actividades y el orden de las actividades, pero las dinmicas iterativas de crear un Data Warehouse no son descritas. En otras palabras el plan de migracin describe un plan impreciso en tres dimensiones, mientras la metodologa describe un plan detallado en una dimensin. Juntos ellos forman un retrato completo de lo que se requiere para construir el Data Warehouse. 2.1. Data-Driven Development Methodology Uno de los aspectos sobresalientes de la metodologa dirigida por los datos es que ella construye sobre esfuerzos previos- construye sobre ambos cdigo y procesos que han sido desarrollados con anterioridad. La nica forma en que el desarrollo sobre esfuerzos previos puede ser alcanzado es a travs del reconocimiento de aspectos comunes. Antes que el desarrollador inicie su trabajo, l o ella necesita saber que es lo que realmente existe y como eso afecta el proceso de desarrollo. Esta es una de las esencias de la metodologa dirigida por los datos. Una metodologa dirigida por los datos tiene cuando menos dos caractersticas distintivas [Inmon96, p290]: 1. Se enfoca en utilizar el cdigo y los datos que han sido elaborados previamente como base para la nueva construccin en lugar de construir alrededor de ellos. Para realizar esto, es imperativo el reconocimiento de aspectos comunes en los datos y el procesamiento, la clave para este reconocimiento es el modelo de datos. 2. Hay un nfasis en el almacn central de datos El Data Warehouse- como la base para el procesamiento de soporte a la toma de decisiones, lo que reconoce que el procesamiento de soporte a la toma de decisiones tiene un ciclo de vida de desarrollo sumamente diferente a los sistemas operacionales. El desarrollo de sistemas operacionales se forma alrededor de un ciclo de vida de desarrollo que inicia con los requerimientos y termina con el cdigo, lo que se diferencia grandemente del procesamiento de soporte a la toma de decisiones, el cual inicia con los datos y termina con los requerimientos.
18
La metodologa propuesta por Inmon expone los resultados que se deben obtener y describe el orden en que las cosas deben ser hechas. Cmo son alcanzados los resultados requeridos se deja enteramente al criterio del desarrollador. La metodologa la dividi en tres partes componentes, incluye las actividades clsicas del desarrollo de sistemas operacionales para que sea una metodologa dirigida por los datos [Inmon96, p288]. A continuacin la esencia de la metodologa propuesta por Inmon en [Inmon96, p317], Apndice: METH-1: Desarrollo de Sistemas Operacionales M1. Actividades Iniciales del Proyecto: Obtencin de los requerimientos preliminares del sistema a travs de Entrevistas, recopilacin de datos, Diseo de Aplicaciones Conjuntas (JAD), anlisis del plan estratgico de negocios, requerimientos de parte de los sistemas existentes para los nuevos sistemas. M2. Uso de cdigo y datos existentes: Usar cuanto cdigo y datos sean posibles y preparar para futuros proyectos que usaran cdigo y datos desarrollados en el proyecto actual. M3. Determinacin de tamao y fases: Luego de la obtencin de los requerimientos generales se deben de determinar su tamao y dividir el desarrollo del proyecto en fases que funcionen como unidades pequeas y manejables. M4. Formalizacin de los requerimientos: asegurar que los requerimientos sean completos, organizados, lebles, comprensibles y a un nivel de detallen que permita ser efectivos, que no sean discordantes o se traslapen. Se debe separar los requerimientos operacionales de los de soporte a la toma de decisiones. Modelado de Datos D1. Diagrama Entidad Relacin: De la especificacin formal de los requerimientos resulta la necesidad de identificar las reas de mayor inters que constituirn el sistema y las relaciones y cardinalidad entre ellas. D2. Conjunto de Elementos de Datos: Cada tema es dividido (en trminos de nivel de detalle) en conjunto de elementos de datos (CED). Los CED contiene los atributos
19
de los datos, agrupamiento de los atributos, llaves, tipos de datos, conectores y agrupamiento secundario de los datos. Solo los datos primitivos se manejan aqu. D3. Anlisis de Desempeo: Se resuelve el asunto de la denormalizacin fsica de los datos que permita un ingreso y actualizacin eficientes, para el caso de grandes cantidades de datos o de procesamiento. D4. Diseo fsico de la Base de Datos: Obtencin de las tablas y bases de datos diseadas fsicamente, luego de transformar todas las consideraciones lgicas de diseo de datos, desempeo, actualizacin, ingreso, disponibilidad, etc. Especificaciones de Proceso P1. Descomposicin Funcional: Resulta de tomar todas las funciones amplias a ser alcanzadas por el sistema y dividirlas en una serie de funciones pequeas sucesivas. Es la descripcin de todas las actividades a ser realizadas durante el desarrollo desde un nivel alto hasta un nivel bajo. P2. Nivel de Contexto 0. Corresponde a D1, Diagrama Entidad-Relacin, en la especificacin de proceso. P3. Nivel de Contexto 1-n: Los niveles restantes de la descomposicin funcional describen ms detalladamente las actividades que ocurren, de manera ordenada, organizada, completa y en concordancia con el flujo de actividades. P4. Diagramas de Flujo de Datos (DFD): Existe un DFD para cada nivel de contexto n, indica la entrada de un proceso, la salida del proceso, el almacenamiento de datos necesario para establecer el proceso y una breve descripcin del proceso. P5. Especificaciones Algortmicas, Anlisis de Desempeo: Es el bosquejo del procesamiento actual paso por paso. Los procesos de cada DFD se dividen en especificaciones algortmicas detalladas, tomando en cuenta los aspectos de desempeo que deben ser resueltos en el diseo de los programas. P6. Pseudocdigo: Los algoritmos y especificaciones de programas se refinan en pseudocdigo, el cual debe incluir completitud, orden de ejecucin, todos los casos requeridos, todas las contingencias (manejo de errores, condiciones de excepcin), estructura de la codificacin. Corresponde a D4 en modelado de datos. P7. Codificacin: Construccin del cdigo fuente. La traduccin completa y eficiente de pseudocdigo en cdigo, incluyendo la documentacin en cdigo. P8. Caminata: Explicacin verbal del cdigo a los colegas, para encontrar y corregir la mayor cantidad posible de errores antes de las pruebas.
20
P9. Compilacin: El cdigo fuente es compilado y se corrigen todos los errores encontrados. P10. Pruebas unitarias: Pruebas del cdigo a diferentes niveles. P11. Implementacin: Esta etapa incluye en s muchas actividades como: Descarga inicial de datos Conversiones de datos Establecimiento de utilidades de monitoreo Escritura de la documentacin Establecimiento de procedimientos de recuperacin y respaldo.
METH-2: Desarrollo Del Data Warehouse Este es el componente de la metodologa que se ocupa del desarrollo de sistemas y procesamiento de soporte a la toma de decisiones. DSS1. Anlisis del Modelo de Datos: Confirmacin que el modelo de datos de la organizacin es slido y que contiene la identificacin de los temas de mayor inters, cada tema tiene separada su propia definicin de datos: subtipos de datos, atributos, relaciones claramente definidas, identificacin de llaves entre otros. DSS2. Anlisis Breadbox: Permite la determinacin del tamao estimacin bruta- del entorno de los sistemas de soporte a la toma de decisiones. Simplemente proyecta, en trminos crudos, que cantidad de datos mantendr el Data Warehouse. Con esto es posible determinar si ser necesario considerar mltiples niveles de granularidad. DSS3. Valoracin Tcnica: Contiene definiciones tcnicas que tienen la habilidad de manejar grandes cantidades de datos, permitir que los datos sean ingresados flexiblemente, organizar los datos de acuerdo al modelo de datos, recibir y enviar datos a una amplia variedad de tecnologas, contemplar descargas de datos masivas, acceder conjunto de datos simultneamente o registro por registro. DSS4. Preparacin del entorno tcnico: Instalacin, ubicacin y desarrollo de los componentes tcnicos que recibirn los datos: la red, el almacenamiento secundario, su sistema operativo, la interfaz hacia y desde el Data Warehouse el software administrador del Data Warehouse y el Data Warehouse en s. DSS5. Anlisis de los temas del Data Warehouse: Determinacin del tema que ser el primero en implementarse (poblarse). Debe ser grande lo suficiente para tener sentido y pequeo lo suficiente para permitir una rpida implementacin. DSS6. Diseo del Data Warehouse: Algunas de las caractersticas del diseo incluyen:
21