VIII Jornadas de Ingeniería del Software y Bases de Datos (JISBD'2003), p. 539-550, Alicante (Spain), November 12-14 2003.
Departamento de Lenguajes y Sistemas Informáticos
Un método global basado en UML para el diseño de Almacenes de Datos Sergio Luján-Mora Juan Trujillo
JISBD 2003
Un método global basado en UML para el diseño de Almacenes de Datos
Contenido • Motivación • • • • •
Mecanismos de extensión en UML Esquemas de modelado de AD Aplicación de los modelos Conclusiones Trabajos futuros
1
Un método global basado en UML para el diseño de Almacenes de Datos
Motivación • Almacenes de Datos (AD) son sistemas de información complejos • Proporcionan soporte para: – – – –
OLAP Data mining Decision Support Systems …
• Construcción AD: – Consume mucho tiempo – Costoso – Propenso a fallos
Un método global basado en UML para el diseño de Almacenes de Datos
Motivación • Aproximaciones parciales: – Procesos ETL – Diseño lógico y conceptual de AD – Derivación del esquema del AD a partir de esquemas ER de las fuentes de datos –…
• Diferentes métodos para AD, pero no un método (con su modelo) que abarque las distintas fases de diseño
2
Un método global basado en UML para el diseño de Almacenes de Datos
Motivación • Objetivo: Un método completo de diseño de Almacenes de Datos • Principios de nuestra aproximación: – Notación estándar Æ UML – Completo Æ Incluye las principales fases de diseño – Potente pero fácil de entender • Diferentes niveles de detalle para diferentes usuarios (técnicos y usuarios finales) Æ Empleo de paquetes
– Método flexible Æ Punto de inicio, pero no un esquema estricto – Aplicable Æ Soportado por herramientas CASE
Un método global basado en UML para el diseño de Almacenes de Datos
Contenido • Motivación
• Mecanismos de extensión en UML • • • •
Esquemas de modelado de AD Aplicación de los modelos Conclusiones Trabajos futuros
3
Un método global basado en UML para el diseño de Almacenes de Datos
Mecanismos extensión UML • UML es un lenguaje de modelado visual de propósito general • Mecanismos de extensión permiten adaptarlo a dominios específicos • Mecanismos: – Stereotypes Æ Nuevos elementos de construcción – Tagged values Æ Nuevas propiedades – Constraints Æ Nuevas semánticas
Profile
Un método global basado en UML para el diseño de Almacenes de Datos
Mecanismos extensión UML
Icono
Adorno
Etiqueta
Ninguno
4
Un método global basado en UML para el diseño de Almacenes de Datos
Contenido • Motivación • Mecanismos de extensión en UML
• Esquemas de modelado de AD • Aplicación de los modelos • Conclusiones • Trabajos futuros
Un método global basado en UML para el diseño de Almacenes de Datos
Data Warehouse Conceptual Schema (DWCS)
Model
*** *** *** ***
ETL Process
*** *** *** ***
*** *** *** ***
Analyze
*** *** *** ***
Exportation Process
Business Model
Operational Data Schema
Data Warehouse Storage Schema
(ODS)
(DWSS)
(BM)
Diagramas (ventanas o vistas sobre el modelo)
5
Un método global basado en UML para el diseño de Almacenes de Datos
Diagrama general (nivel 0) , , , , ,
Manager
Accounting
Data warehouse
Sales data
Informix Metacube Production data
Transformations
Mappings Cognos PowerPlay
Syndicated data
Un método global basado en UML para el diseño de Almacenes de Datos
Data Warehouse Conceptual Schema (DWCS) *** *** *** ***
ETL Process
*** *** *** ***
*** *** *** ***
Analyze
*** *** *** ***
Exportation Process
Business Model
Operational Data Schema
Data Warehouse Storage Schema
(ODS)
(DWSS)
(BM)
6
Un método global basado en UML para el diseño de Almacenes de Datos
ODS • Operational Data Schema • Representa: – Sistemas de procesamiento transaccional (OLTP) – Fuentes de datos externas (datos censales, datos económicos, datos sobre los competidores, etc.)
• No existe una extensión de UML para modelar distintos tipos de fuentes de datos
Un método global basado en UML para el diseño de Almacenes de Datos
ODS • RDBMS Æ Rational’s UML Profile for Database Design: , ,
, … • ORDBMS Æ Marcos et al. UML Profile for Object-Relational Database Design: , , , … • XML Æ Rational’s XML-DTD UML Profile: , , , • …
7
Un método global basado en UML para el diseño de Almacenes de Datos
Sales data 0..n
0..n
1
1..n
1
Production data
Salesmen 1
Cities 1
0..n
Syndicated data
1
1
1..n
Counties
Groups 0..n
0..n
Discount policies
0..n Invoices 1
0..n
1 Families
1 Customers
0..n Agents 0..n
1 Products 0..n 0.. n
1
1
0..n
0..n
St ates
0..n 0.. n
1
1
0..n
Categories
Lines
1 1 Packages
Storage conditions
Un método global basado en UML para el diseño de Almacenes de Datos
Data Warehouse Conceptual Schema (DWCS) *** *** *** ***
ETL Process
*** *** *** ***
*** *** *** ***
Analyze
*** *** *** ***
Exportation Process
Business Model
Operational Data Schema
Data Warehouse Storage Schema
(ODS)
(DWSS)
(BM)
8
Un método global basado en UML para el diseño de Almacenes de Datos
DWCS • Data Warehouse Conceptual Schema • Propuesta: UML Profile for Multidimensional Modeling • Componentes básicos: – Hechos: las transacciones o valores a analizar – Dimensiones: información descriptiva de los hechos
• Propiedades capturadas: – – – – –
Dimensiones compartidas Dimensiones heterogéneas Hechos y dimensiones degerados Jerarquías de clasificación múltiples y alternativas …
Un método global basado en UML para el diseño de Almacenes de Datos
DWCS
Nivel 1
Nivel 2
Nivel 3
Definición
Definición
Definición
model
esquema estrella
dimensión/hecho
9
Un método global basado en UML para el diseño de Almacenes de Datos
DWCS Estereotipos de paquete
Estereotipos de clase
StarPackage (Nivel 1)
Fact (Nivel 3)
FactPackage (Nivel 2)
Dimension (Nivel 3)
DimensionPackage (Nivel 2)
Base (Nivel 3)
Un método global basado en UML para el diseño de Almacenes de Datos
Definición del modelo (nivel 1)
Produc tion s chema
Sales schema
Salesmen schema
10
Un método global basado en UML para el diseño de Almacenes de Datos
Definición del esquema estrella (nivel 2) ,
Produc tion s chema
Sales schema
Salesmen schema
Stores dimension
Times dimension
Sales fact
Products dimension
Customers dimension
Un método global basado en UML para el diseño de Almacenes de Datos
Definición dimensión/hecho (nivel 3) , , Customers dim 1
Produc tion s chema
Sales schema
1
Salesmen schema
Customers +child Stores dimension
Times dimension
+parent
0.. n
0..n +child
1
Sales fact
Products dimension
Customers dimension
ZIPs +child 0..n +parent
1 +parent
+c hild Cities
0..n
+parent
1
1 States
11
Un método global basado en UML para el diseño de Almacenes de Datos
Data Warehouse Conceptual Schema
Analyze
(DWCS) *** *** *** ***
ETL Process
*** *** *** ***
*** *** *** ***
*** *** *** ***
Exportation Process
Business Model
Operational Data Schema
Data Warehouse Storage Schema
(ODS)
(DWSS)
(BM)
Un método global basado en UML para el diseño de Almacenes de Datos
DWSS • Data Warehouse Storage Schema • Representación en función de la implementación (RDMS, ORDBMS, MD, …) Æ Similar a ODS • Dos posibilidades: manual o automática
12
Un método global basado en UML para el diseño de Almacenes de Datos
Data Warehouse Conceptual Schema (DWCS) *** *** *** ***
ETL Process
*** *** *** ***
*** *** *** ***
Analyze
*** *** *** ***
Exportation Process
Business Model
Operational Data Schema
Data Warehouse Storage Schema
(ODS)
(DWSS)
(BM)
Un método global basado en UML para el diseño de Almacenes de Datos
BM • Business Model • Adaptar el AD a los diferentes usuarios finales: – Más fácil de entender – Incluye temas de seguridad –…
• Mecanismo de importación de UML Æ Diferentes submodelos a partir del DWCS
13
Un método global basado en UML para el diseño de Almacenes de Datos
Data warehouse
Produc tion s chema
Sales schema
Accounting
Salesmen schema
Sales schema (from Dat a warehouse)
Importación
Un método global basado en UML para el diseño de Almacenes de Datos
Data Warehouse Conceptual Schema (DWCS) *** *** *** ***
ETL Process
*** *** *** ***
*** *** *** ***
Analyze
*** *** *** ***
Exportation Process
Business Model
Operational Data Schema
Data Warehouse Storage Schema
(ODS)
(DWSS)
(BM)
14
Un método global basado en UML para el diseño de Almacenes de Datos
ETL Process • Extraction-Transformation-Loading • Mapeo entre ODS y DWCS • Propuesta: UML Profile for Modeling ETL Processes • Paleta de mecanismos comunes: – – – –
Integración de diferentes fuentes de datos Transformaciones Generación de claves sustitutas (surrogate keys) …
Un método global basado en UML para el diseño de Almacenes de Datos
ETL Process Aggregation
Loader
Conversion
Log
Filter
Merge
Incorrect
Surrogate
Join
Wrapper
15
Un método global basado en UML para el diseño de Almacenes de Datos LeftJoin(Storage = IdStorage) Name = Products.Name StName = [Storage conditions].Name StDescription = [Storage conditions].Description Storage conditions (from Sales data)
- IdStorage - Name - Description Products dim 1
(from Products dimension)
0..n
A Products (from Sales data)
- IdProduct - Name - Price - Family - Storage
NewClass2 - IdProduct - Name - Price - Family - StName - StDescription
B
ProdEuro
ProdLoader
ProdDescription (from Products dimension)
Price = DollarToEuro(Price)
Un método global basado en UML para el diseño de Almacenes de Datos
Data Warehouse Conceptual Schema (DWCS) *** *** *** ***
ETL Process
*** *** *** ***
*** *** *** ***
Analyze
*** *** *** ***
Exportation Process
Business Model
Operational Data Schema
Data Warehouse Storage Schema
(ODS)
(DWSS)
(BM)
16
Un método global basado en UML para el diseño de Almacenes de Datos
Exportation Process • Mapeo entre DWCS y DWSS • Dos posibilidades: manual o automático (depende del modo de creación del DWSS)
Un método global basado en UML para el diseño de Almacenes de Datos
Contenido • Motivación • Mecanismos de extensión en UML • Esquemas de modelado de AD
• Aplicación de los modelos • Conclusiones • Trabajos futuros
17
Un método global basado en UML para el diseño de Almacenes de Datos
Un método global basado en UML para el diseño de Almacenes de Datos
18
Un método global basado en UML para el diseño de Almacenes de Datos
Un método global basado en UML para el diseño de Almacenes de Datos
Contenido • • • •
Motivación Mecanismos de extensión en UML Esquemas de modelado de AD Aplicación de los modelos
• Conclusiones • Trabajos futuros
19
Un método global basado en UML para el diseño de Almacenes de Datos
Conclusiones • Método de diseño global • Principales ventajas: – Misma notación estándar (UML) para todos los modelos – Perfil Æ Definición formal (OCL) – Integración de diferentes fases de diseño en un marco único – Se adapta a ADs grandes y complejos
• Soporte en la herramienta CASE Rational Rose Æ Add-in
Un método global basado en UML para el diseño de Almacenes de Datos
Contenido • • • • •
Motivación Mecanismos de extensión en UML Esquemas de modelado de AD Aplicación de los modelos Conclusiones
• Trabajos futuros
20
Un método global basado en UML para el diseño de Almacenes de Datos
Trabajos futuros • Mapeo de atributos en el nivel de atributo • Guías de estilo y de modelado para crear diagramas correctos • Modelado de fases de diseño adicionales del ciclo de vida de un AD (implantación, procesos de refresco, etc.)
Un método global basado en UML para el diseño de Almacenes de Datos
Department of Software and Computing Systems
Un método global basado en UML para el diseño de Almacenes de Datos Sergio Luján-Mora Juan Trujillo
JISBD 2003
21