ANALISIS Y DISEÑO DE
SISTEMAS
INVESTIGACION EN
INTERNET
PROFESOR: YAROS PEREZ
REALIZADO POR: ING.
MIGUEL ALVAREZ
TEMA: ALMACENES DE
BASES DE DATOS (Data Warehouses)
Subtema: Conceptos e
Implementacion De Data Warehouses
Introducción
El concepto de DWH está teniendo una gran aplicación
en la actualidad para el desarrollo de las empresas, como almacén de datos. Sus
objetivos incluyen la reducción de los costes de almacenamiento y una mayor
velocidad de respuesta frente a las consultas de los usuarios. Estos pueden
ahora analizar y realizar preguntas sobre años, más que sobre meses de
información.
Para diseñar una
buena arquitectura de DWH es necesario como primer paso conocer bien los
requerimientos del negocio y hacer un estudio profundo de las fuentes externas
que van a suministrar los datos. Además, hacer un buen diseño del área de
transformación de datos, cuáles son las transformaciones que se van a realizar
y cómo se va a implementar el modelo dimensional con sus tablas de hechos y de
dimensiones es el segundo paso a seguir.
No se tiene un enfoque único para construir un
data warehouse que se adapte a las necesidades de las empresas, debido a que
las necesidades de cada una de ellas son diferentes, al igual que su contexto.
Además, como la tecnología data warehousing va
evolucionando, se aprende cada vez más y más sobre el desarrollo de data
warehouses, que resulta en que el único enfoque práctico para al almacenamiento
de datos es la evolución de uno mismo.
|
|
|
Un DWH es
un espacio en el cual es posible almacenar datos que contienen información
estratégica; hacer Data Warehousing es el proceso de consolidar esta
información. Es una arquitectura que debe servir como infraestructra para una
solución completa de inteligencia de negocios. Es una base de datos que contiene datos de toda la compañía, datos históricos de todas las fuentes de
datos, datos consolidados y consistentes, datos estructurados y listos para
distribuir y realizar consultas en ellos.
“ Un DWH es un sistema de datos orientado al sujeto, integrado, de tiempo
variante y no volatil que da soporte a las necesidades de toma de decisiones
por parte de la dirección”
Hill Inmon
(llamado el padre del DWH)
Data
Warehousing
Es un proceso que extrae
y transforma datos, transforma datos en un formato útil para ser ubicados
dentro de la base de datos,
transformar datos en
conocimiento, usar herramientas para construir y
manejar el Data warehouse.
Diferencias entre Bases Operacionales y
DWH
Operacional |
Data Warehouse |
Predomina la
actualización |
Predomina la
consulta |
La actividad más
importante es de tipo operativo (día a día) |
La actividad más
importante es el análisis y la decisión estratégica |
Predomina el
proceso puntual |
Predomina el
proceso masivo |
Estructura
relacional |
Visión
multidimensional |
Datos
Operacionales |
Datos orientados
negocio |
Orientado a la
aplicación |
Orientado al
sujeto |
Disponibilidad
información actual |
Disponiblidad información
ctual+histórico |
Información
detallada (datos desagregados) |
Información
detallada + resumida |
Usuarios de
perfiles medios o bajos |
Usuarios de
perfiles altos |
Cambia
continuamente |
Estable |
Caracteristicas
del DWH
Diseñadas
para tomar decisiones
Procesos
Analíticos en línea (OLAP)
Diferentes
niveles de análisis
Permiten
Drillin-up y Drilling-Down
Encontrar
relaciones y patrones entre los datos
Diseñada al rededor de los conceptos del negocio de la empresa (Cliente, Geografía, Producto)
Orientado
al tema: La información se clasifica en base a los aspectos que son de
interés para la empresa.
Integrado:
En convenciones de nombres consistentes, en la medida uniforme
de variables, en la codificación de estructuras consistentes, en atributos
físicos de los datos consistentes, fuentes múltiples y otros.
De
tiempo variante: Como la información en el data warehouse es solicitada en
cualquier momento, los datos encontrados en el depósito se llaman de tiempo
variante, lo cual se representan en datos historicos no
existentes en ambientes operacionales o transaccionales.
No
volátil: En ambientes operacionales la actualización (insertar, borrar y
modificar) se hace sobre una base de registro por registro, en el data
warehouse es mucho más simple. Hay dos únicos tipos de operaciones: la carga
inicial de datos y el acceso a los mismos. No hay actualización de datos (en el
sentido general de actualización) en el depósito, como una parte normal de
procesamiento.
Estructura del Data
Warehouse
Detalle de datos actuales: Refleja las
ocurrencias más recientes, las cuales son de gran interés, es voluminoso, ya
que se almacena al más bajo nivel de granularidad. Casi siempre se almacena en disco,
el cual es de fácil acceso, aunque su administración sea costosa y compleja.
Detalle de datos antiguos: La data antigua es
aquella que se almacena sobre alguna forma de almacenamiento masivo. No es
frecuentemente su acceso y se almacena a un nivel de detalle, consistente con
los datos detallados actuales. Mientras no sea prioritario el almacenamiento en
un medio de almacenaje alterno, a causa del gran
volumen de datos unido al acceso no frecuente de los mismos, es poco usual
utilizar el disco como medio de almacenamiento.
Datos ligeramente resumidos: La data ligeramente
resumida es aquella que proviene desde un bajo nivel de detalle encontrado al
nivel de detalle actual. Este nivel del data warehouse
casi siempre se almacena en disco. Los puntos en los que se basa el diseñador
para construirlo son: que la unidad de tiempo se encuentre sobre la
esquematización hecha y qué contenidos (atributos) tendrá la data ligeramente
resumida.
Metadata: El componente final del
data warehouse es el de la metadata. De muchas maneras la metadata se sitúa en
una dimensión diferente al de otros datos del data
warehouse, debido a que su contenido no es tomado directamente desde el
ambiente operacional y es usada como un directorio para ayudar al analista a
ubicar los contenidos del data warehouse, una guía para la trazabilidad de los
datos, de cómo se transforma, del ambiente operacional al de data warehouse,
una guía de los algoritmos usados para la esquematización entre el detalle de
datos actual, con los datos ligeramente resumidos y éstos, con los datos
completamente resumidos, etc.
A continuación ilustramos la estructura del DWH:
|
|
Arquitectura
del DWH
Una Arquitectura Data Warehouse (Data
Warehouse Architecture - DWA) es una forma de representar la estructura total
de datos, comunicación, procesamiento y presentación, que existe para los
usuarios finales que disponen de una computadora dentro de la empresa.
Base de datos operacional / Nivel de base de
datos externo: Los sistemas operacionales procesan datos para apoyar las
necesidades operacionales críticas. Para hacer eso, se han creado las bases de
datos operacionales históricas que proveen una estructura de procesamiento
eficiente, para un número relativamente pequeño de transacciones comerciales
bien definidas.
Nivel de acceso a la información: Es el nivel del que el usuario final se encarga directamente. Representa
las herramientas que el usuario final normalmente usa día a día. Por ejemplo: EXCEL, LOTUS 1-2-3, FOCUS, ACCESS, SAS, etc. Este nivel
también incluye el hardware y software involucrados en mostrar información en
pantalla y emitir reportes de impresión, hojas de cálculo, gráficos y diagramas
para el análisis y presentación.
Nivel de acceso a los datos: Está involucrado con
el nivel de acceso a la información para conversar en el nivel operacional. En
la red mundial de hoy, el lenguaje de datos común que ha surgido es SQL. El nivel
de acceso a los datos entonces es responsable de la interfaces entre las
herramientas de acceso a la información y las bases de datos operacionales.
Nivel de Directorio de Datos (Metadata): A fin de proveer el
acceso a los datos universales, es absolutamente necesario mantener alguna
forma de directorio de datos o repositorio de la información metadata. La
metadata es la información alrededor de los datos dentro de la empresa. Las
descripciones de registro en un programa COBOL son metadata. También lo son las
sentencias DIMENSION en un programa FORTRAN o las sentencias a crear en SQL.
Nivel de Gestión de Procesos: Tiene que ver con la
programación de diversas tareas que deben realizarse para construir y mantener
el data warehouse y la información del directorio de
datos. Este nivel puede depender del alto nivel de
control de trabajo para muchos procesos (procedimientos) que deben ocurrir para
mantener el data warehouse actualizado.
Nivel de Mensaje de la Aplicación: Tiene que ver con el
transporte de información alrededor de la red de la empresa. El mensaje de
aplicación se refiere también como "subproducto", pero puede
involucrar sólo protocolos de red. Puede usarse por ejemplo, para aislar
aplicaciones operacionales o estratégicas a partir del
formato de datos exacto, recolectar transacciones o los mensajes y entregarlos
a una ubicación segura en un tiempo seguro.
Nivel Data Warehouse (Físico): En el data warehouse
(núcleo) es donde ocurre la data actual, principalmente para usos estratégicos.
En un data warehouse físico, copias, en algunos casos, muchas copias de datos
operacionales y/o externos, son almacenados realmente en una forma que es fácil
de acceder y es altamente flexible. Cada vez más, los
data warehouses son almacenados sobre plataformas cliente/servidor, pero por lo
general se almacenan sobre mainframes.
Nivel de Organización de Datos: Se llama también
gestión de copia o réplica, pero de hecho, incluye todos los procesos
necesarios como seleccionar, editar, resumir, combinar y cargar datos en el
depósito y acceder a la información desde bases de datos operacionales y/o
externas. La organización de datos involucra con frecuencia una programación
compleja, pero cada vez más, están creándose las
herramientas data warehousing para ayudar en este proceso. Involucra también
programas de análisis de calidad de datos y filtros que identifican modelos y
estructura de datos dentro de la data operacional existente.
Operaciones en un Data Warehouse
Sistemas Operacionales: Los datos administrados por los sistemas de aplicación operacionales son
la fuente principal de datos para el data warehouse. Las bases de datos
operacionales se organizan como archivos indexados (UFAS, VSAM), bases de datos
de redes/jerárquicas (I-D-S/II, IMS, IDMS) o sistemas de base de datos
relacionales (DB2, ORACLE, INFORMIX, etc.). Según las encuestas,
aproximadamente del 70% a 80% de las bases de datos de
las empresas se organizan usando DBMSS no relacional.
Extracción, Transformación y Carga de los
Datos: Se requieren herramientas de gestión de datos para
extraer datos desde bases de datos y/o archivos operacionales, luego es
necesario manipular o transformar los datos antes de cargar los resultados en
el data warehouse.
Tomar los datos
desde varias bases de datos operacionales y transformarlos en datos requeridos
para el depósito, se refiere a la transformación o a la integración de datos.
Las bases de datos operacionales, diseñadas para el soporte de varias
aplicaciones de producción, frecuentemente difieren en el formato.
Los mismos elementos
de datos, si son usados por aplicaciones diferentes o administrados por diferentes software DBMS, pueden definirse al usar nombres
de elementos inconsistentes, que tienen formatos inconsistentes y/o ser
codificados de manera diferente. Todas estas inconsistencias deben resolverse
antes que los elementos de datos sean almacenados en el data warehouse.
Metadata: Otro paso
necesario es crear la metadata. La metadata (es decir, datos acerca de datos)
describe los contenidos del data warehouse. La
metadata consiste de definiciones de los elementos de datos en el depósito,
sistema(s) del (os) elemento(s) fuente. Como la data,
se integra y transforma antes de ser almacenada en información similar.
Acceso de usuario final: Los usuarios acceden al data warehouse por medio de herramientas de
productividad basadas en GUI (Graphical User Interface - Interface gráfica de
usuario). Pueden proveerse a los usuarios del data
warehouse muchos de estos tipos de herramientas. Estos pueden incluir software
de consultas, generadores de reportes, procesamiento analítico
en línea, herramientas data/visual mining, etc., dependiendo de los
tipos de usuarios y sus requerimientos particulares. Sin embargo, una sola
herramienta no satisface todos los requerimientos, por lo que es necesaria la
integración de una serie de herramientas.
Plataforma del data
warehouse: La plataforma para el data warehouse es
casi siempre un servidor de base de datos relacional. Cuando se manipulan
volúmenes muy grandes de datos puede requerirse una configuración en bloque de
servidores UNIX con multiprocesador simétrico (SMP) o un servidor con
procesador paralelo masivo (MPP) especializado. Los extractos de la data
integrada/transformada se cargan en el data warehouse. Uno de los más populares
RDBMSs disponibles para data warehousing sobre la
plataforma UNIX (SMP y MPP) generalmente es Teradata. La elección de la
plataforma es crítica. El depósito crecerá y hay que comprender los
requerimientos después de 3 o 5 años.
A continuación ilustramos la arquitectura del DWH:
|
|
|
Data Mart
Es
un subconjunto de un Data Warehouse, subconjunto de las actividades de una organización,
pequeña base de datos que permite solucionar un problema estecífico o base de
datos de un área de la organización en específico.
Son
utiles debido que permite manipular consultas rápidas, pocos usuarios
compitiendo por los recursos y un rápido desarrollo, se garantiza que tiene
campos comunes, todas las transformaciones de las fuentes son comunes, simple y
rápido de implementar, guardar información específica de un área de la
compañía.
Como
desventaja se tiene que toma mucho tiempo y es más difícil diseñar primero el
Data Warehouse y luego los Data Marts, datos duplicados entre Data Marts, la
información de un Data Mart podría no ser compatible con la de otro Data Mart.
|
|
|
Cubos
Son
subconjunto de los datos de una DWH que es almacenado en una estructura
multidimensional y que son usados para responder consultas complejas por medio
de medidas y datos almacenados en tablas llamadas dimensiones.
Estructura
Conjunto
de dimensiones relacionadas que forman una cuadrícula ndimensional
Cada
celda del cubo contiene un valor
El
valor de cada celda es una intersección entre las dimensiones
El
dato en la celda es un número sumarizado
Componentes
Dimensiones:
Conjunto de valores de una cara
Miembros:
Un valor en particular de una dimensión
Celdas:
Conjunto que contiene un miembro de cada
dimensión
Jerarquías:
Agrupaciones que combinan varios miembros
Niveles:
Un valor en particular de una dimensión
Niveles
Múltiples: Conjunto que contiene un miembro
de cada dimensión
Implementación de un Data Warehouse
Factores en la Planificacion de un Data
Warehouse
No existe una fórmula de garantía real para el
éxito de la construcción de un data warehouse, pero hay muchos puntos que
contribuyen a ese objetivo:
Establecer una asociación de usuarios, gestión
y grupos
Es esencial involucrar tanto a los usuarios
como a la gestión para asegurar que el data warehouse contenga información que
satisfaga los requerimientos de la empresa.
Seleccionar una aplicación piloto con una alta
probabilidad de éxito
Una aplicación piloto de alcance limitado, con
un reembolso medible para los usuarios y la gestión, establecerá el data
warehouse como una tecnología clave para la empresa. Estos mismos criterios
(alcance limitado, reembolso medible y beneficios claros para la empresa) se
aplican a cada fase de la implementación de un data warehouse.
Construir prototipos rápida y frecuentemente
La única manera para asegurar que el data
warehouse reúna las necesidades de los usuarios, es hacer el prototipo a lo
largo del proceso de implementación y aún más allá,
así como agregar los nuevos datos y/o los modelos en forma permanente. El
trabajo continuo con los usuarios y la gestión es, nuevamente, la clave.
Implementación incremental
La implementación incremental reduce riesgos y
asegura que el tamaño del proyecto permanezca
manejable en cada fase.
Reportar activamente y publicar los casos
exitosos
La retroalimentación de los usuarios ofrece
una excelente oportunidad para publicar los hechos exitosos dentro de una
organización. La publicidad interna sobre cómo el data warehouse ha ayudado a
los usuarios a operar más efectivamente puede apoyar la construcción del data warehouse a lo largo de una empresa. La
retroalimentación del usuario también ayuda a
comprender cómo evoluciona la implementación del data warehouse a través del
tiempo para reunir requerimientos de usuario nuevamente identificados.
Estrategias para el Desarrollo de un Data
Warehouse
Antes de desarrollar un data warehouse, es
crítico el desarrollo de una estrategia equilibrada que sea apropiada para sus
necesidades y sus usuarios.
Las preguntas que deben tenerse en cuenta son:
¿Quién es el
auditorio?
¿Cuál es el alcance?
¿Qué tipo de data
warehouse debería construirse?
Existe un número de estrategias mediante las
cuales las organizaciones pueden conseguir sus data warehouses.
Primera: Establecer un ambiente "data warehouse
virtual", el cual puede ser creado por:
Instalación de un conjunto de facilidades para
acceso a datos, directorio de datos y gestión de proceso.
Entrenamiento de usuarios finales.
Control de cómo se usan realmente las
instalaciones del data warehouse.
Basados en el uso actual, crear un data
warehouse físico para soportar los pedidos de alta frecuencia.
Segunda: Construir una copia de los datos
operacionales desde un sistema operacional único y posibilitar al data
warehouse de una serie de herramientas de acceso a la información.
Esta estrategia tiene la ventaja de ser simple
y rápida. Desafortunadamente, si los datos existentes son de mala calidad y/o
el acceso a los datos no ha sido previamente evaluado, entonces se puede crear
una serie de problemas.
Tercera: Finalmente, la estrategia data warehousing
óptima es seleccionar el número de usuarios basados en el valor de la empresa y
hacer un análisis de sus puntos, preguntas y necesidades de acceso a datos.
De acuerdo a estas necesidades, se construyen
los prototipos data warehousing y se prueban para que los usuarios finales
puedan experimentar y modificar sus requerimientos.
Consideraciones Previas al Desarrollo de un
Data Warehouse
Hay muchas maneras para desarrollar data
warehouses como tantas organizaciones existen. Sin embargo, hay un número de
dimensiones diferentes que necesitan ser consideradas
tales como alcance de un data warehouse, redundancia de datos, tipo de usuario
final.
Alcance de un Data Warehouse: El alcance de un data
warehouse puede ser tan amplio como toda la información estratégica de la
empresa desde su inicio, o puede ser tan limitado como un data warehouse
personal para un solo gerente durante un año. En la práctica, en la amplitud del alcance, el mayor valor del data warehouse es para la
empresa y lo más caro y consumidor de tiempo es crear y mantenerlo.
Redundancia de Datos: Hay tres niveles
esenciales de redundancia de datos que las empresas deberían considerar en sus
opciones de data warehouse:
Data warehouses
"virtual" o "Point to Point" : usuarios
finales pueden acceder a bases de datos operacionales directamente, usando
cualquier herramienta que posibilite "la red de acceso de datos".
Data warehouses
"centrales" : Es una única base de datos física, que contiene
todos los datos para un área funcional específica, departamento, división o
empresa.
Data warehouses
"distribuidos": Aquellos en los cuales ciertos componentes del depósito se distribuyen a través de un número de bases
de datos físicas diferentes.
Tipo de Usuario Final: En general, se puede
considerar tres grandes categorías, ejecutivos y gerentes, "Power
users" (analistas financieros y de negocios, ingenieros, etc.), usuarios
de soporte (de oficina, administrativos, etc.).
Cada una de estas categorías diferentes de
usuario tienen su propio conjunto de requerimientos para los datos, acceso,
flexibilidad y facilidad de uso.
Elementos Claves para el Desarrollo de un Data
Warehouse
Para conseguir que la implementación del depósito tenga un inicio exitoso, se necesita enfocar
hacia tres bloques claves de construcción,
arquitectura total del depósito, arquitecturas del servidor, sistemas de
Gestión de Base de Datos
Arquitectura del
Depósito: El desarrollo del data warehouse comienza con la estructura lógica
y física de la base de datos del depósito más los servicios requeridos para
operar y mantenerlo. Esta elección conduce a la selección de otros dos ítems
fundamentales: el servidor de hardware y el DBMS.
Arquitectura del
servidor: Al decidir sobre una estructura de depósito distribuida o
centralizada, también se necesita considerar los servidores que retendrán y
entregarán los datos. El tamaño de su implementación (y las necesidades de su
empresa para escalabilidad, disponibilidad y gestión de sistemas) influirá en
la elección de la arquitectura del servidor.
Sistemas de Gestión de Bases de Datos: Los data warehouses
(conjuntamente con los sistemas de soporte de decisión [Decision Support
Systems - DSS] y las aplicaciones cliente/servidor), fueron los primeros éxitos
para el DBMS relacional (Relational Data Base Management Systems - RDBMS).
Los RDBMS son muy flexibles cuando se usan con
una estructura de datos normalizada. En una base de datos normalizada, las
estructuras de datos son no redundantes y representan
las entidades básicas y las relaciones descritas por los datos (por ejemplo
productos, comercio y transacción de ventas). Pero un procesamiento analítico
en línea (OLAP) típico de consultas que involucra varias
estructuras, requiere varias operaciones de unión para colocar los datos
juntos.
La performance de los RDBMS tradicionales es
mejor para consultas basadas en claves ("Encuentre cuenta de cliente
#2014") que para consultas basadas en el contenido ("Encuentre a
todos los clientes con un ingreso sobre $ 10,000 que hayan comprado un
automóvil en los últimos seis meses").
La selección del DBMS
está también sujeta al servidor de hardware que se usa. Algunos RDBMS, como el
DB2 Paralelo, INFORMIX XPS y el ORACLE Paralelo, ofrecen versiones que soportan
operaciones paralelas. El software paralelo divide consultas, uniones a través
de procesadores múltiples y corre estas operaciones simultáneamente para
mejorar la performance.
Se requiere el paralelismo para el mejor
desempeño en los servidores MPP grandes y SMP agrupados. No es aún una opción
con MDDBS o DBMS relacional - objeto.
En esta dirección se pueden ver conceptos interesantes de
dwh, tambien exponen
que un expediente de una empresa más allá de la
información transaccional y operacional, almacenado en una base de datos
diseñada para favorecer análisis y la divulgación eficientes de datos
(especialmente OLAP). El almacenamiento de los datos no debe usarse con datos
de uso actual.
Los almacenes de los datos contienen a
menudo grandes cantidades de información que se subdividen a veces en unidades
lógicas más pequeñas llamadas los centros comerciales dependientes de los
datos.
http://es.wikipedia.org/wiki/Data_warehouse
En este site tenemos un documento completo con aspectos de dwh,
y lo definen como un conjunto de procesos y acciones, es una colección de datos
orientados a un tema, integrados y no volátiles en el soporte al proceso de
toma de decisiones de la gerencia. Se habla de los impactos empresariales,
quienen lo usan, para que lo usan, comparativo con sistemas transaccionales, etc
http://www.monografias.com/trabajos6/dawa/dawa.shtml
Haciendo click en este link vemos aspectos tales como la estructura del data
warehouse, se muestran los diferentes componentes del data warehouse (y
se definen) como lo es el detalle de datos actuales, detalle de datos antiguos, datos ligeramente
resumidos
datos completamente resumidos y meta data.
http://www.pcm.gob.pe/PORTAL_ONGEI/publica/metodologias/Lib5084/14.HTM
Lugar de internet con titulo Aplicaciones de Negocio, donde podemos obtener un par de conceptos
de datawarehouse como este: es una solución que permite centralizar en un solo
punto toda la información definida por la compañía como relevante para la
gestión de su negocio y la toma de decisiones. La distribución de la
información se realiza a través de herramientas que permiten a los usuarios
finales construir sus propios informes de forma autónoma.
En esta dirección se puede bajar un archivo PDF con afirmaciones
como esta: El data warehouse, es actualmente, el centro de atención de las
grandes instituciones, porque provee un ambiente para que las organizaciones
hagan un mejor uso de la información que está siendo administrada por diversas
aplicaciones operacionales.
http://www.willydev.net/descargas/prev/ElABCDW.PDF