Está en la página 1de 32

Sesin 2: Diseando un Sistema de Data Warehousing

Mg. Ing. Oscar Zocn Alva

Overview
Anlisis de los Procesos de Negocios Data Warehousing System Modelando un Data Warehouse Escogiendo el Grain (Alcance-Nivel Detalle) Estableciendo Dimensiones Estableciendo la Fact Table Implementando el Esquema Estrella (Star Schema)

Mg. Ing. Oscar Zocn Alva

Anlisis del Proceso de Negocios


Identificando los Objetivos y Direcciones del Negocio

Obteniendo y Analizando Informacin


Identificando el Proceso de Negocios Estableciendo un Modelo Conceptual de Datos Identificando Orgen y Performance de la Transformacin Estableciendo la Duracin
Mg. Ing. Oscar Zocn Alva

Data Warehousing System


Data desde Sistemas Operationales Data Warehouse Data Marts Datos en un Entorno OLAP

Sales

Production

OLTP
Accounting OLTP

Enterprise Data
Purchasing

OLTP

Mg. Ing. Oscar Zocn Alva

Comparando el Modelamiento de la Base de Datos


Operacional: OLTP Definicin de Entidades Altamente Normalizadas Sigue la Tercera Forma Normal a ms Produce un Complejo Diseo de Base Datos Almacen Data desde el nivel Transaccional ms bajo de Detalle Incrementa el Nmero de Joins en las Consultas a las Tablas Analtica: Data Warehouse Definicin de Entidades que son Denormalizadas Produce un Simple Diseo de BD fcilmente comprendido por usuarios finales Almacena Datos: Nivel Transaccional Nivel Summarizado Existen pocos Joins en las Consultas a las Tablas

Mg. Ing. Oscar Zocn Alva

Modelando un Data Warehouse


Componentes del Modelo de Data Warehouse Usando el Esquema Estrella (Star Schema) Componentes del Esquema Estrella Usando el Esquema Snowflake Escogiendo un Esquema
Mg. Ing. Oscar Zocn Alva

Modelando Componentes de una Data Warehouse


Tablas Dimensin
Geographic Dimensin

Fact Table
Geographic
Product

Measures

Product

Time

Units

$
Facts

Time

Mg. Ing. Oscar Zocn Alva

Usando el Esquema Estrella


Employee_Dim
EmployeeKey EmployeeID

. . .

Dimension Table Time_Dim


TimeKey TheDate

Fact Table Sales_Fact


TimeKey EmployeeKey ProductKey CustomerKey ShipperKey RequiredDate

Product_Dim
ProductKey ProductID

. . .

. . .

Shipper_Dim
ShipperKey ShipperID

. . .

Customer_Dim
. . . Mg. Ing. Oscar Zocn Alva
CustomerKey CustomerID

. . .

Componentes de un Star Schema


Employee_Dim
EmployeeKey EmployeeID

. . .

Product_Dim Time_Dim
TimeKey TheDate
ProductKey ProductID

Sales_Fact
Dimensional Keys TimeKey TimeKey EmployeeKey ProductKey CustomerKey ShipperKey RequiredDate

. . .

. . .

Multipart Key

Shipper_Dim
ShipperKey ShipperID . .ShipperKey

. . .

Measures Customer_Dim CustomerKey CustomerID . CustomerKey .

. Mg. Ing. Oscar Zocn Alva

Usando el Esquema Snowflake


Primary Dimension Table
Sales_Fact
TimeKey EmployeeKey ProductKey CustomerKey ShipperKey RequiredDate

Product_Dim
ProductKey Product Name Product Size Product Brand ID

. . .

Secondary Dimension Tables

Product_Brand_Id
Product Brand Product Category ID

Product_Category_Id
Product Category Product Category ID

Mg. Ing. Oscar Zocn Alva

Escogiendo un Esquema
Star Comprensin del Modelo Nmero de Tablas Complejidad de las Consultas Performance de las Consultas Fcil Menos Simple Rpido Snowflake Ms Difcil Ms Ms Complejo Lento

Mg. Ing. Oscar Zocn Alva

Escogiendo el Grain (Alcance)


Determinando los Requerimientos de Datos Escogiendo el Nivel ms bajo de Detalle Requirimientos de espacio Involucra ms tiempo de procesamiento Proporciona capacidad de anlisis del detalle de los datos. Conformando Medidas para el estado del Grain Consideraciones de Diseo

Mg. Ing. Oscar Zocn Alva

Estableciendo las Dimensiones


Definiendo las Caractersticas de la Dimensin Identificando Jerarquas en las Dimensiones Definiendo Dimensiones Convencionales Compartiendo Dimensiones con otro Data Marts

Mg. Ing. Oscar Zocn Alva

Definiendo Caractersticas de una Dimensin


Aplicando Caractersticas a una Tabla Dimension Definir una primary key Incluir nombre descriptivos a las columnas Deseando para un Mejor Uso Minimizar o eviatr el uso de cdigos a abrev. Crear columnas que sirvan para nivel de agregacin. Elminar valores errados y valores NULL Minimizar el nro de registros que cambian en el tiempo
Mg. Ing. Oscar Zocn Alva

Identificando Jerarquas en la Dimensin


Jerarqua Consolidada
Ubicacin del Almacn Continent Country Region City Store

Jerarqua Separada
Store Location Continent Continent Country

Country Region
Region City City Store Store 01

Mg. Ing. Oscar Zocn Alva

Definiendo Convenciones en la Dimensin


Dimensin Tiempo Explotar el tiempo en atributos individuales
Representar el tiempo como das, semanas, ferados, trimestres, o estaciones Estar limitado de acuerdo al alcance de la fact table Dimensin Geogrfica Dimensin Producto Dimensin Cliente
Mg. Ing. Oscar Zocn Alva

Compartiendo Dimensiones con Otros Data Marts


Logstica Comercial

One instance exist and is shared among data marts Time

Finanzas

Mg. Ing. Oscar Zocn Alva

Compartiendo Dimensiones con Otros Data Marts

Logstica

One instance exist and is shared among data marts Time Mltiples instancias existen en data marts individuales

Comercial

Finanzas

Mg. Ing. Oscar Zocn Alva

Estableciendo una Fact Table


Definendo una Fact Table Definiendo Precalculaciones Minimizando el tamao de la Fact Table Balanceando Tamao y Performance

Mg. Ing. Oscar Zocn Alva

Definiendo la Fact Table


Estableciendo el Grain Asegurando la Consistencia entre Medidas Usando Valores Aditivos y Numricos Sumarizando Datos

Mg. Ing. Oscar Zocn Alva

Definiendo Precalculaciones
Fact Table

Single Row Precalculations


Price Discount Rebate Extended Price
20.00 .10 5.00 13.00

Time Keys Product Keys


7 13 25 7 2

30 ~ ~ ~ ~ ((Price - (Price X Discount)) - Rebate) = Extended Price 8 ~ ~ ~ ~ 5 10.00 .10 5.00 4.00

Valores Derivados de las medidas en el mismo registro

...

...
Fact Table

...

...

...

...

Multiple Row Precalculations


Year-to-date sales 20,000.00 25,000.00

Time Keys Product Keys 7 10 ~ 2 2

Valores son derivados desde mltiples registros

~ ~ SUM(Extended Price) = Year-to-date Sales ... ... ...

Mg. Ing. Oscar Zocn Alva

Minimando el Tamao de la Fact Table


Reduciendo el Nmero de Columnas Data es redundante Data no es requirida para anlisis Reduciendo el Tamao de Cada Columna Usar surrogate keys Asegurarse que los datos character sean de longitud variable

Mg. Ing. Oscar Zocn Alva

Balanceando el Tamao y Performance


Disear en el Star Schema Fact tableslargas y angostas Dimension tablescortas y anchas Incluir Datos Precalculados Incrementa la performance de los query pero incrementa el tamao de la fact table MoviendoColumnas de la Fact Table a Otra Tabla Reduce el tamao de la fact table pero afecta la performance del quer
Mg. Ing. Oscar Zocn Alva

Lab A: Diseando el Esquema Estrella

Mg. Ing. Oscar Zocn Alva

Implementando el Esquema Estrella


Estimando el Tamao del Data Warehouse Creando un Base de Datos Creando Tablas Creando Constraints Creando Indexes

Mg. Ing. Oscar Zocn Alva

Estimando el Tamao del Data Warehouse


Tamao de la Fact Table Grain Bytes por Registro
Variables: Aos acumulados de datos = 5 Nmero de Clientes = 10,000 Primedio de transacciones por cliente por da = 4
Descripcin Clculos Nro registros en fact table 10,000 x 4 x 365 x 5 Tamao estimado del reg (7 IDs x 4 bytes) + (5 medidas x 4 bytes) Estimando el data warehouse size 48 bytes x 73,000,000 registros Valores 73,000,000 ~ 48 bytes ~3.5 GB

Mg. Ing. Oscar Zocn Alva

Creando una Base de Datos


Usndo Opciones de CREATE DATABASE SIZE MAXSIZE FILEGROWTH Activando Opciones en la Database Simple Recovery

Mg. Ing. Oscar Zocn Alva

Creando Tablas
Creando un Tabla Especificando NULL o NOT NULL Generando Valores a las Columnas. Caso de los Surrogate Key, propiedad IDENTITY

Mg. Ing. Oscar Zocn Alva

Creando Constraints
Usando PRIMARY KEY Constraints No permite valores duplicados Se crean ndice No permite valores NULL Usando FOREIGN KEY Constraints Define una referencia de una columna con PRIMARY KEY or UNIQUE constraint Especifica que valores son aceptados en la Base de Datos

Mg. Ing. Oscar Zocn Alva

Creando Indices
Pasos para Crear Indices en el Data Warehouse 1 Definir una primary key a las tablas 2 dimensin 3 Declarar relaciones con foreign key 4 Definir la primary key en la fact table Definir ndices en c/foreign key de la fact table Usar Surrogate Keys Usar Indices Clustered Usar Indices Nonclustered Crear Indices Compuestos
Mg. Ing. Oscar Zocn Alva

Recommended Practices
Use Star Schema to Model Data Mart or Data Warehouse Database Choose Grain Use Single Element Surrogate Keys When Defining Dimensions Define Shared Dimensions Do Not Mix Grain in Individual Fact Table Attributes Use Facts That Are Both Numeric and Additive
Mg. Ing. Oscar Zocn Alva

Lab B: Implementando el Esquema Estrella

Mg. Ing. Oscar Zocn Alva