Técnicas de almacenamiento y
extracción de datos. Recordemos que varios son los procesos
asociados con esta tecnología: Población inicial y actualizaciones,
almacenamiento y análisis de datos. Como se explicó en el artículo
anterior, en ocasiones los datos que poblarán la bodega de datos
provienen de diferentes orígenes. Se requiere definir una estructura
y esquema eficientes. Además, consolidar esos datos implica conocer
y manejar diferentes sistemas, diferentes motores de bases de datos
y eventualmente varios lenguajes de programación, que permitan la
extracción desde las fuentes. Las extracciones iniciales implicaran
generalmente una conversión de tipo de datos y el manejo de datos
ausentes o inconsistentes, que garantice la integridad. |
Las actualizaciones implican la extracción de datos desde sistemas en operación, que se harán periódica y cíclicamente. Se requiere, de acuerdo al conocimiento de la situación en particular, definir si se hará semanal, mensualmente o en otro período establecido. Actualizaciones muy constantes normalmente no benefician el análisis de datos, puesto que rara vez cambian las tendencias y/o comparaciones. Se recomienda, en caso de extracciones voluminosas, hacerlo hacia un archivo, esto facilita el reinicio desde distintos puntos, repetir el cargue y preprocesar antes de enviar a la red. Los cargues deben ser masivos, aprovechando los utilitarios de las bases de datos o las rutinas desarrolladas para esto y no una simple instrucción insert, que generalmente es ineficiente. Es usual y conveniente eliminar índices en este proceso y posteriormente volverlos a crear. En el caso de los refrescos es preferible manejar la detección y propagación de cambios. Eventualmente usar triggers (disparadores. Son acciones especiales definidas por el usuario que son automáticamente ejecutadas por el servidor de bases de datos a partir de eventos sucedidos: insert, update, delete) o aplicaciones propias. También es permitido la comparación de versiones, que algunos sistemas operativos apoyan a través de breves comandos.
|
|
En el almacenamiento se debe usar estrategias para lograr eficiencia. En las bodegas de datos es posible manejar diversos niveles de granularidad. A menor granularidad, mayor cantidad de detalle. Para aumentar la granularidad, los datos operacionales deben resumirse y acumularse. Entre mayor sea la granularidad mas procesamiento se tendrá para convertir y resumir los datos desde las fuentes pero, al mismo tiempo, menor será el volumen de almacenamiento y mayor la facilidad de las consultas. Como se nota algunos datos se pueden almacenar como agregados, eso implica un especial cuidado al momento de los refrescos, para que estos datos sumarios también sean actualizados.
|
Otro elemento importante son las dimensiones de categorización. Un especial interés al momento del análisis es el tiempo, que permite determinar tendencias e información por períodos. También estas son dimensiones que se usan: grupos de clientes, líneas de productos, ubicación geográfica, grupo industrial, área en la organización, estrato social y las específicas del negocio a modelar. No obstante lo dicho hasta ahora, existen varios enfoques de la arquitectura del data warehouse y en algún caso podría optarse por no generar copias de los datos de las aplicaciones en producción sino utilizar los datos operacionales usando aplicaciones que los consulten directamente. |
|
Técnicas de administración del
programa y análisis de datos. Como se dijo anteriormente, no
es suficiente con almacenar un volumen alto de datos. Data warehousing
implica la gestión de los mismos para convertirse en vital herramienta
de soporte a las decisiones, derivar conclusiones a partir de la
historia. Esto incluye el descubrimiento de patrones y tendencias,
que puedan ser extrapoladas e intentar predecir comportamientos
futuros. Estas técnicas se basan en las matemáticas, estadísticas,
en la psicología, algoritmos genéticos, redes neuronales e incluso
en la experiencia. |
Partiendo de datos almacenados
es posible obtener consultas sencillas, descriptivas, de datos independientes.
También se pueden obtener reportes que manejen varias dimensiones
y permitan crecer o bajar en la granularidad, dando una visión de
los diferentes valores combinados cuando se requiera. Pero, como
se planteó en el párrafo anterior podemos ser más exigentes y a
partir de software especializado, optar por la predicción. |
|
| Selección de Arquitectura de Data Warehouse | ||
Otro elemento que reviste
importancia al momento de implementar una bodega de datos, es la
selección de la arquitectura. La arquitectura enfoca el proyecto
como componentes (Fuente de datos, bodega de datos, datamart y el
acceso y uso). |
El diagrama siguiente explica como se organizan estos elementos. Este es un caso particular propuesto por la firma Oracle. Haga clic para maximizar la imagen en otra ventana Otros proveedores ofrecen diferentes modelos. |
|
| Enfoques | ||
| Varios enfoques son elegibles [ORF97]: | ||
|
|
|
| Construcción del Data Warehouse. | ||
El ciclo del desarrollo
del data warehouse no difiere en mucho de las fases de perfeccionamiento
de todos los desarrollos de software. Las fases y las secuencias
son las mismas, pero existen variantes únicas asociadas al data
warehouse. Comprende: |
||
Planeación En esta fase se determina: El enfoque que se optará para la implementación: Top-Down (De Arriba abajo), Bottom-up (De abajo a arriba) o una combinación de estos. La metodología de desarrollo: Las más usuales son el método de análisis y diseño estructurado y el método del desarrollo en espiral. El alcance inicial de proyecto. Selección del enfoque arquitectónico. Programa y presupuesto. Definir las expectativas del usuario final. Recopilación de metadatos. |
Requerimientos Especificación clara y precisa de las funciones que se esperan obtener del data warehouse. Estos deben definirse desde varias perspectivas: propietario, arquitecto/desarrollador del data warehouse y desde la visión del usuario. Se definen las áreas tema que apoyará la bodega de datos, el nivel de detalle de la información requerida (nivel de granularidad), las dimensiones de categorización (tiempo, geografía, industria, grupo de clientes, línea de producto, etc.). |
|
Análisis Consiste en convertir todos los requerimientos conseguidos en la fase anterior en especificaciones concretas que sirvan de base para el diseño. Se definen los modelos lógicos de los datos para el data warehouse, los mercados de datos, definir los procedimientos de conexión con las fuentes de datos y el data warehouse y las herramientas de acceso del usuario final. |
Diseño Los modelos lógicos conseguidos en la anterior fase se convierten en modelos físicos. Se generan los diseños para programas y procesos que se requieren según la arquitectura, tanto a nivel de los datos como de aplicación. Construcción. Se conoce también como diseño físico y consiste en plasmar en la práctica, los diseños lógicos de la fase anterior. Incluye la construcción de programas que creen y modifiquen las bases de datos, que extraigan datos de las fuentes, programas para transformación de datos tales como integración, resumen y adición, programas para la actualización de los datos, programas para búsquedas en bases de datos muy grandes. |
|
Montaje Relacionados con la instalación, puesta en marcha y uso del data warehouse. Un elemento importante consiste en concientizar a los usuarios sobre la disponibilidad, beneficios y presentación de data warehouse, esto se conoce como comercialización de la información. |
||
| Retos en la Implementación | ||
Como se aprecia, enfrentar
un proyecto de data warehouse exige el conocimiento de la empresa,
capacidades administrativas y fortalezas técnicas. Estos proyectos
deben ser asumidos por equipos de trabajo multidisciplinarios, que
logren que las ventajas potenciales se lleven a la práctica. Estos
son algunas de las tareas que deben ser sorteadas por este equipo: |
||
1. La integración de datos y metadatos de diferentes fuentes y épocas. Esto conlleva la necesidad de generar datos a almacenar en forma consistente partiendo de datos símiles, sin perder información importante. 2. Limpieza, filtrado y refinación de los datos. Para el proceso de análisis de los datos es problemático la ausencia de valores de atributos y la existencia de valores ilógicos o inconsistentes. 3. En los sistemas de procesamiento en línea (OLTP) el detalle de las operaciones son muy importantes mientras que en data warehouse se busca almacenar datos en forma condensada y agrupada. |
4. Siendo la bodega de datos el resultado de la importación de datos de diferentes fuentes, las cuales son dinámicas, cambian con el tiempo, se requiere generar mecanismos que garanticen la sincronización y aseguren la actualización a partir de los cambios en las fuentes. 5. Para una correcta operación de la bodega de datos es necesario tener correcta información sobre los datos que se tienen almacenados, la administración de metadatos toma importancia. |
|
| Conclusiones. | ||
Se están convirtiendo
en las bases de datos de la inteligencia de un negocio, generando
y apoyando elementos de competitividad. Se debe usar en organizaciones
donde se tomen decisiones basadas en la información. Data warehouse
no es un producto, envuelve muchas tecnologías y herramientas. |
Se quiere dejar en
el ambiente una reflexión: Las necesidades de información en las
diferentes actividades y en los diferentes niveles de dirección
en la organización son también diferentes. No siempre la información
al instante, en tiempo real es la requerida. No siempre el detalle
es necesario. A pesar de que nos hemos referido a una tecnología
especial, con métodos de implementación y herramientas especializadas,
la filosofía del manejo de la información, en sistemas de menor
escala puede dejar grandes enseñanzas y rutas para integrar y procesar
datos desde diferentes orígenes. |
|