33
Datawarehousing Introducción DataWarehouse (almacén de datos) Warehousing: es un término utilizado para describir una forma de integración de la información: copiar información de diversas fuentes a una sola base de datos y tratar de mantenerla actualizada. Método usual: reconstrucción periódica del almacén, posiblemente durante la noche. posiblemente durante la noche. Aspectos generales de los almacenes de datos: Momento y modo de la recogida de datos (arquitectura dirigida por las fuentes de datos, arquitectura dirigida por el destino) Selección del esquema Transformación y limpieza de los datos (purgar, evitar duplicados, transformar, ..) Propagación de las actualizaciones Resúmenes de datos (uso de agregación) Los distintos pasos implicados en obtener datos a partir de una fuente de datos se denomina: ETL (Extraction, Transformation, Load).

Introducción Datawarehousing - CINVESTAVvjsosa/clases/tsbd/Data... · 2014-07-18 · dimensiones utilizadas en las tabulaciones cruzadas. Abstracción: Granularidad más gruesa Concreción:

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introducción Datawarehousing - CINVESTAVvjsosa/clases/tsbd/Data... · 2014-07-18 · dimensiones utilizadas en las tabulaciones cruzadas. Abstracción: Granularidad más gruesa Concreción:

Datawarehousing

Introducción

DataW

arehouse (almacén de datos)

�W

arehousing:es

untérm

inoutilizado

paradescribir

unaform

ade

integraciónde

lainform

ación:copiar

información

dediversas

fuentesa

unasola

basede

datosy

tratarde

mantenerla

actualizada.�

Método

usual:reconstrucción

periódicadel

almacén,

posiblemente

durantela

noche.posiblem

entedurante

lanoche.

�A

spectosgenerales

delos

almacenes

dedatos:

�M

omento

ym

odode

larecogida

dedatos

(arquitecturadirigida

porlas

fuentesde

datos,arquitecturadirigida

poreldestino)

�S

eleccióndelesquem

a�

Transform

acióny

limpieza

delos

datos(purgar,

evitarduplicados,

transformar,..)

�P

ropagaciónde

lasactualizaciones

�R

esúmenes

dedatos

(usode

agregación)�

Losdistintos

pasosim

plicadosen

obtenerdatos

apartir

deuna

fuentede

datosse

denomina:E

TL

(Extraction,T

ransformation,Load).

Page 2: Introducción Datawarehousing - CINVESTAVvjsosa/clases/tsbd/Data... · 2014-07-18 · dimensiones utilizadas en las tabulaciones cruzadas. Abstracción: Granularidad más gruesa Concreción:

OL

TP

�La

mayoría

delas

operacionesen

lasbases

dedatos

sondel

tipo:procesam

ientode

transaccionesen

línea(O

n-lin

eT

ransactio

nP

rocessin

g–O

LTP

-)�

Consultas

cortasy

simples,

yactualizaciones

frecuentesinvolucrando

unao

unnúm

eropequeño

defrecuentes

involucrandouna

oun

número

pequeñode

tuplas.�

Ejem

plos:R

espondera

queriesprovenientes

deuna

interfaceW

eb,registro

deventas

encajas

registradoras,ventade

boletosde

avión,etc..

Data M

arts

�A

lmacenes m

ás pequeños�

Expande parte de la organización�

e.g., mercadotecnia (clientes, productos, ventas)

�N

o requiere consenso en toda la empresa

�N

o requiere consenso en toda la empresa

�S

egún el diseño pudiera presentar algunos problem

as a largo plazo

Page 3: Introducción Datawarehousing - CINVESTAVvjsosa/clases/tsbd/Data... · 2014-07-18 · dimensiones utilizadas en las tabulaciones cruzadas. Abstracción: Granularidad más gruesa Concreción:

OL

AP

�D

ecreciente

importancia

eselllam

adoprocesam

ientoanalítico

enlínea

(On

line

An

alyticP

rocessin

g–O

LAP

-):�

Pocas

consultas,pero

muy

consumidoras

detiem

po(pueden

correrpor

horas).�

Lasactualizaciones

sonm

enosfrecuentes,

y/ola

respuestaa

laconsulta

nodepende

delhecho

detener

actualizadala

ala

consultano

dependedel

hechode

teneractualizada

labase

dedatos.

�E

jemplo:

Am

azonanaliza

lascom

prasque

lehacen

susclientes

paraposteriorm

entem

ostrarlespantallas

conproductos

quepudieran

serde

suinterés.

�E

jemplo:

Analistas

enW

al-Mart

buscanartículos

cuyasventas

vayanincrem

entándose(o

disminuyendo)

enalgunos

almacenes

enregiones

específicas

Arquitecturas de uso

�A

rquitectura más com

ún: Una base de datos

local, digamos una por sucursal utilizando

OL

TP

, mientras que un alm

acén de datos integra inform

ación de todas las sucursales y utiliza O

LA

P.

utiliza OL

AP

.�

Al grupo de consultas m

ás complejas que se

emiten en O

LAP

la mayoría de veces se les

conoce como m

inado de datos (data mining).

Page 4: Introducción Datawarehousing - CINVESTAVvjsosa/clases/tsbd/Data... · 2014-07-18 · dimensiones utilizadas en las tabulaciones cruzadas. Abstracción: Granularidad más gruesa Concreción:

OL

TP

vs. OL

AP

�P

rincipalmente actualizaciones

�M

uchas transacciones pequeñasD

atos en el rango de Mb-G

b

�P

rincipalmente lecturas

�C

onsultas largas y com

plejas�

Datos en el rango G

b-Tb

OLT

PO

LAP

�D

atos en el rango de Mb-G

b�

Datos directo de la fuente

�U

suarios cotidianos de oficina�

Datos al día

�C

onsistencia, recuperación criticas.

�D

atos en el rango Gb-T

b�

Datos consolidados,

resumidos

�U

suarios tomadores de

decisiones, analistas.

Técnicas de im

plementación de O

LA

P

�R

OL

AP

(Relatio

nal

OL

AP

):sistem

aadm

inistradorde

basesde

datosrelacionalajustado

paraesquem

asestrella,e.g.utilizando

estructurasespeciales

deíndices

talescom

o:�

Índ

icesB

itmap

(paracada

llavede

unatabla

dedim

ensiones,e.g.nombre

delbar,unvector

debits

diciendocuales

tuplasde

latabla

dehechos

tienenese

valor).�

Vistas

materializad

as=

respuestasa

consultasgenerales

�V

istasm

aterializadas

=respuestas

aconsultas

generalesdesde

lascuales

más

específicasconsultas

puedenser

respondidascon

menos

trabajoque

situvieran

queser

ejecutadasdesde

losdatos

originales.�

MO

LA

P(M

ultid

imen

sion

alO

LA

P):

Un

modelo

especializadobasado

enuna

vistade

“cubo”de

losdatos.U

tilizanarreglos

dem

emoria

multidim

ensionalparaalm

acenarlos

cubos.�

HO

LA

P(H

ybrid

OL

AP

):S

istemas

híbridos,que

almacenan

algunosresúm

enesen

lam

emoria

ylos

datosbásicos

yotros

resúmenes

enbases

dedatos

relacionales.

Page 5: Introducción Datawarehousing - CINVESTAVvjsosa/clases/tsbd/Data... · 2014-07-18 · dimensiones utilizadas en las tabulaciones cruzadas. Abstracción: Granularidad más gruesa Concreción:

Operaciones típicas:

�C

orte (Slice) =

seleccionar un valor sobre una dim

ensión, e.g. un bar en particular.

�D

ice = lo m

ismo sobre otra dim

ensión, e.g. una cerveza en particular.

�P

ivotaje = O

peración de modificación de las

dimensiones utilizadas en las tabulaciones cruzadas.

�A

bstracción: Granularidad m

ás gruesa

�C

oncreción: Granularidad m

ás fina.

Una consulta O

LA

P típica:

�H

arátodo

oparte

dela

reuniónestrella

�F

iltrarátuplas

interesantesbasándose

endatos

dehechos

y/odim

ensiones.�

Agrupará

poruna

ovarias

dimensiones.

�H

aráuna

agregacióndelresultado.

�H

aráuna

agregacióndelresultado.

�E

jemplo:

Para

cadabar

encd.

Victoria,

encontrarla

ventatotal

decada

cervezafabricada

porcervecería

modelo.

Page 6: Introducción Datawarehousing - CINVESTAVvjsosa/clases/tsbd/Data... · 2014-07-18 · dimensiones utilizadas en las tabulaciones cruzadas. Abstracción: Granularidad más gruesa Concreción:

RO

LA

P

�Las

consultastípicas

empiezan

conuna

“reuniónestrella”

completa,por

ejemplo:

SE

LEC

T*

FR

OM

Ventas,B

ares,Cervezas,C

onsumidores

FR

OM

Ventas,B

ares,Cervezas,C

onsumidores

WH

ER

EV

entas.bar=

Bares.bar

AN

DV

entas.cerveza=

Cerveza.C

ervezaA

ND

Ventas.consum

idor=

Consum

idores.consumidor;

Aspectos de eficiencia

�S

i la tabla de hechos es grande, las consultas tomarán m

ucho m

ás tiempo.

�V

istas materializadas pudieran ser una buena opción.

�E

jemplo: P

ara la consulta acerca de bares en cd. Victoria y

cervezas fabricadas por cervecería modelo, podríam

os ayudarnos con la siguiente vista m

aterializada:ayudarnos con la siguiente vista m

aterializada:

CR

EA

TE

VIE

W B

DC

FV

(bar, direccion, cerveza,fabricante, ventas) A

SS

ELE

CT

bar, direccion, cerveza, fabricante, S

UM

(precio) AS

ventasF

RO

M V

entas NA

TU

RA

L JOIN

B

ares NA

TU

RA

L JOIN

Cervezas

GR

OU

P B

Y bar, direccion, cerveza, fabricante;

Nota: R

ecordar que las vistas “materializadas” son actualizables

Page 7: Introducción Datawarehousing - CINVESTAVvjsosa/clases/tsbd/Data... · 2014-07-18 · dimensiones utilizadas en las tabulaciones cruzadas. Abstracción: Granularidad más gruesa Concreción:

MO

LA

P

�B

asado en “cubo de datos”: las llaves de las tablas de dim

ensiones forman los ejes del cubo.

�E

jemplo: P

ara nuestro ejemplo anterior, podríam

os tener 4 dim

ensiones: bar, cerveza, consumidor y tiem

po.�

Atributos dependientes (precio de la venta en nuestro

ejemplo) aparecen en los puntos del cubo.

�P

ero el cubo también incluye agregaciones (típicam

ente sum

as) a lo largo de los márgenes.

�E

jemplo: E

n nuestro cubo de 4 dimensiones, tendríam

os la sum

a sobre cada bar, cada cerveza, cada consumidor, y cada

instante de tiempo (tal vez agrupado por día).

�T

ambién tendríam

os agregaciones para todos los subconjuntos de las dim

ensiones, e.g. por cada bar y cerveza, o por cada cerveza, consum

idor y día.

Aspectos de eficiencia

�A

l igual que en RO

LAP

, las vistas materializadas pudieran ser

de ayuda.�

Los cubos de datos invitan a las vistas materializadas que son

agregaciones en una o más dim

ensiones.�

Las dimensiones no necesitan ser agregadas com

pletamente.

Mejor, es posible agrupar por atributos de la tabla de

dimensiones

dimensiones

�E

jemplo: una vista m

aterializada podría agregar com

pletamente por consum

idor, por cerveza no del todo, por tiem

po acorde al día, y por bar sólo acorde a la ciudad del bar.

�E

jemplo: el tiem

po es una dimensión realm

ente interesante, ya que hay agrupam

ientos naturales, tales como sem

anas y m

eses, que no son de la mism

a proporción.

Page 8: Introducción Datawarehousing - CINVESTAVvjsosa/clases/tsbd/Data... · 2014-07-18 · dimensiones utilizadas en las tabulaciones cruzadas. Abstracción: Granularidad más gruesa Concreción:

Warehouse: M

odelos y Operadores

�M

odelos de datos�

relaciones�

estrella y copo de nieve�

cubos

�O

peradores�

slice & dice

�roll-up, drill dow

n�

pivoteo�

otros

Estrella

pro

du

ctp

rod

Idn

ame

price

p1bolt

10p2

nut5

storestoreId

cityc1

nycc2

sfoc3

la

sa

leo

de

rIdd

ate

cu

stId

pro

dId

sto

reId

qty

am

t

cu

sto

me

rc

us

tIdn

am

ea

dd

res

sc

ity5

3jo

e1

0 m

ain

sfo8

1fre

d1

2 m

ain

sfo1

11

sally

80

willo

wla

sa

leo

de

rIdd

ate

cu

stId

pro

dId

sto

reId

qty

am

to

10

01

/7/9

75

3p

1c

11

12

o1

02

2/7

/97

53

p2

c1

21

11

05

3/8

/97

11

1p

1c

35

50

Page 9: Introducción Datawarehousing - CINVESTAVvjsosa/clases/tsbd/Data... · 2014-07-18 · dimensiones utilizadas en las tabulaciones cruzadas. Abstracción: Granularidad más gruesa Concreción:

Esquem

a de estrella

saleorderId

datecustIdprodIdstoreId

custo

mer

custIdnam

eaddress

pro

du

ctprodIdnam

estoreId

qtyam

t

addresscity

price

store

storeIdcity

Esquem

a Estrella (S

tar)

�T

ípicamente

losdatos

delalm

acénde

datosson

dedos

tipos:�

Dato

sd

eh

echo

s:M

uygrandes,

unaacum

ulaciónde

hechostales

como

lasventas.

�A

menudo

“sóloinserciones”;

unavez

ahí,la

tuplaperm

anece.

�D

atos

dim

ensio

nales:

Más

pequeños,generalm

enteestáticos,

loscuales

refierena

información

acercade

lasentidades

envueltasen

loshechos.

Page 10: Introducción Datawarehousing - CINVESTAVvjsosa/clases/tsbd/Data... · 2014-07-18 · dimensiones utilizadas en las tabulaciones cruzadas. Abstracción: Granularidad más gruesa Concreción:

Esquem

a Estrella (S

tar) …ejem

plo

�S

upongamos

quedeseam

osregistrar

cadaventa

decerveza

entodos

losbares:

elbar,la

cerveza,elconsum

idorquien

compró

lacerveza,eldía

yhora,elprecio

quese

lecargo.

�Los

datosque

refierena

losh

echo

spudieran

estaren

unarelación

conesquem

a:relación

conesquem

a:V

entas(b

ar,cerveza,con

sum

ido

r,dia,h

ora,p

recio)

�Los

dato

sd

imen

sion

alespudieran

incluiruna

relaciónpara

bares,unapara

cervezas,yuna

paraconsum

idores:B

ares(bar,direccion,licencia)C

ervezas(cerveza,fabricante)C

on

sum

ido

res(consum

idor,direccion,tel)

Term

inología

�T

abla de hechos (información que es objeto

del análisis)�

Tabla de dim

ensiones (dimensiones del

análisis)análisis)

�M

edidassale

orderIddate

custIdprodIdstoreId

qtyam

t

custo

mer

custIdnam

eaddress

city

pro

du

ctprodIdnam

eprice

store

storeIdcity

Page 11: Introducción Datawarehousing - CINVESTAVvjsosa/clases/tsbd/Data... · 2014-07-18 · dimensiones utilizadas en las tabulaciones cruzadas. Abstracción: Granularidad más gruesa Concreción:

Jerarquía de dimensiones

sT

ype

tIds

izelo

ca

tion

t1sm

all

dow

ntow

nt2

larg

esuburbs

storesType

cityregion

store

storeId

cityIdtId

mg

rs5

sfot1

joes7

sfot2

freds9

lat1

nancyc

ityc

ityIdp

op

reg

Idsfo

1M

north

la5

Mso

uth

reg

ion

reg

Idn

am

eno

rthco

ld regio

nso

uthw

arm

regio

n

t2la

rge

suburbs

Cubo

sa

lep

rod

Ids

tore

Ida

mt

p1c1

12

c1

c2

c3

Vista de la tabla de hechos:

Cubo B

i-dimensional:

p1c1

12

p2c1

11

p1c3

50

p2c2

8

c1

c2

c3

p11

25

0p2

11

8

dimensiones =

2

Page 12: Introducción Datawarehousing - CINVESTAVvjsosa/clases/tsbd/Data... · 2014-07-18 · dimensiones utilizadas en las tabulaciones cruzadas. Abstracción: Granularidad más gruesa Concreción:

Cubo en 3-D

salep

rod

Idsto

reIdd

ateam

tp1

c11

12p2

c11

11d

ía 2c

1c

2c

3

Vista de la tabla de hechos:

Cubo M

ulti-dimensional:

p2c1

111

p1c3

150

p2c2

18

p1c1

244

p1c2

24

día 2

c1

c2

c3

p14

44

p2c

1c

2c

3p1

12

50

p21

18

día 1

dimensiones =

3

Agregaciones/funciones de totales

•S

umar las cantidades para el día 1

•E

n SQ

L: SE

LEC

T sum

(amt)

FR

OM

SA

LEW

HE

RE

date = 1

sa

lep

rod

Ids

tore

Idd

ate

am

tp1

c11

12

p2c1

11

1p1

c31

50

p2c2

18

p1c1

24

4p1

c22

4

WH

ER

E date =

1

81

Page 13: Introducción Datawarehousing - CINVESTAVvjsosa/clases/tsbd/Data... · 2014-07-18 · dimensiones utilizadas en las tabulaciones cruzadas. Abstracción: Granularidad más gruesa Concreción:

Agregaciones/funciones de totales

•S

umar m

ontos por día•

En S

QL: S

ELE

CT

date, sum(am

t) F

RO

M S

ALE

GR

OU

P B

Y date

sa

lep

rod

Ids

tore

Idd

ate

am

tp1

c11

12

p2c1

11

1p1

c31

50

p2c2

18

p1c1

24

4p1

c22

4

GR

OU

P B

Y date

an

sd

ates

um

181

248

Otro ejem

plo•

Sum

ar montos por día y producto

•E

n SQ

L: S

ELE

CT

date, sum(am

t) F

RO

M S

ALE

GR

OU

P B

Y date, prodId

sa

lep

rod

Ids

tore

Idd

ate

am

tp1

c11

12

p2c1

11

1p1

c31

50

p2c2

18

p1c1

24

4p1

c22

4

GR

OU

P B

Y date, prodId

salep

rod

Idd

ateam

tp1

162

p21

19p1

248

drill-down

rollup

Page 14: Introducción Datawarehousing - CINVESTAVvjsosa/clases/tsbd/Data... · 2014-07-18 · dimensiones utilizadas en las tabulaciones cruzadas. Abstracción: Granularidad más gruesa Concreción:

Agregaciones/funciones de totales

�O

peradores: sum, count, m

ax, min,

median, avg

�C

lausula “Having”

�U

tilizando jerarquía de dimensiones

�U

tilizando jerarquía de dimensiones

�P

romedio por región (dentro de ciertas

tiendas)�

Máxim

o por mes (dentro de ciertas fechas)

Agregación en C

ubo

día 2

c1

c2

c3

p14

44

p2c

1c

2c

3p1

12

50

p21

18

día 1

. . .

Ejem

plo: procesar sumas

c1

c2

c3

p15

64

50

p21

18

c1c2

c3sum

6712

50

sum

p1110

p219

129

drill-down

rollup

Page 15: Introducción Datawarehousing - CINVESTAVvjsosa/clases/tsbd/Data... · 2014-07-18 · dimensiones utilizadas en las tabulaciones cruzadas. Abstracción: Granularidad más gruesa Concreción:

Drill-D

own y R

oll-Up

�D

rill-down =

“desagregar” = rom

per una agregación en sus partes constituyentes.�

Ejem

plo: Habiendo determ

inado cuantos contratos por trim

estre tenemos con nuestros

clientes, desmem

brar por tipo de cliente.clientes, desm

embrar por tipo de cliente.

�R

oll-up = “agregar” sobre una dim

ensión.�

Ejem

plo: Querem

os los totales de contratos en todo el año.

Drill-dow

n

Page 16: Introducción Datawarehousing - CINVESTAVvjsosa/clases/tsbd/Data... · 2014-07-18 · dimensiones utilizadas en las tabulaciones cruzadas. Abstracción: Granularidad más gruesa Concreción:

Roll-U

p

Operadores con C

ubo

día 2

c1

c2

c3

p14

44

p2c

1c

2c

3p1

12

50

p21

18

día 1

. . .

sale(c1,*,*)

c1

c2

c3

p15

64

50

p21

18

c1c2

c3sum

6712

50

sum

p1110

p219

129

sale(*,*,*)sale(c2,p

2,*)

Page 17: Introducción Datawarehousing - CINVESTAVvjsosa/clases/tsbd/Data... · 2014-07-18 · dimensiones utilizadas en las tabulaciones cruzadas. Abstracción: Granularidad más gruesa Concreción:

c1c2

c3*

p156

450

110p2

118

19*

6712

50129

Cubo extendido

día 2

c1c2

c3*

p144

448

*p144

448

p2*44

448

c1c2

c3*

p112

5062

p211

819

*23

850

81

día 1

sale(*,p2,*)

Agregaciones utilizando jerarquías

día 2

c1

c2

c3

p14

44

p2c

1c

2c

3p1

12

50

día 1

cliente

regiónp1

12

50

p21

18

regio

n A

regio

n B

p156

54p2

118

región

país

(Cliente c1 en R

egion A;

Clientes c2, c3 en R

egion B)

Page 18: Introducción Datawarehousing - CINVESTAVvjsosa/clases/tsbd/Data... · 2014-07-18 · dimensiones utilizadas en las tabulaciones cruzadas. Abstracción: Granularidad más gruesa Concreción:

Jerarquías de las dimensiones

Año

Trim

estreR

egión

País

Mes

Día de la sem

ana

Fecha

Hora del día

FechaH

ora

Jerarqu

ía de tiem

po

PaísE

stado

Ciudad

Jerarqu

ía de u

bicació

n

Pivotaje

salep

rod

Idsto

reIdd

ateam

tp1

c11

12p2

c11

11p1

c31

50p2

c21

8

día 2

c1

c2

c3

p14

44

Vista de la tabla de hechos:

Cubo M

ulti-dimensional:

p2c2

18

p1c1

244

p1c2

24

p14

44

p2c

1c

2c

3p1

12

50

p21

18

día 1

c1

c2

c3

p15

64

50

p21

18

Page 19: Introducción Datawarehousing - CINVESTAVvjsosa/clases/tsbd/Data... · 2014-07-18 · dimensiones utilizadas en las tabulaciones cruzadas. Abstracción: Granularidad más gruesa Concreción:

Herram

ientas de Consulta y A

nálisis

�C

onstructores de consultas�

Reporteadores (com

paraciones, crecimientos,

gráficas,…)

�S

ystemas de hoja de cálculo

�Interfaces W

eb�

Data M

ining

Otras operaciones

�F

unciones para tiempo

�e.g., tiem

po promedio

�A

tributos calculados�

e.g., comisión =

ventas * índice de ganancia�

e.g., comisión =

ventas * índice de ganancia

�C

onsultas en textos�

e.g., encontrar palabras con letras X y B

�e.g., clasificar docum

entos por frecuencia de palabras X

, Y, Z

Page 20: Introducción Datawarehousing - CINVESTAVvjsosa/clases/tsbd/Data... · 2014-07-18 · dimensiones utilizadas en las tabulaciones cruzadas. Abstracción: Granularidad más gruesa Concreción:

Agregaciones extendidas en S

QL

99

�N

uevasfunciones

deagregación

paraun

sóloatributo

(e.g.desviación

estándar–std

dev-,

varianza–varian

ce-)

�F

uncionesde

agregaciónbinarias

(e.g.correlación,

covarianzas,curvasde

regresión)G

eneralizacionesde

laestructura

groupby

mediante

�G

eneralizacionesde

laestructura

groupby

mediante

estructurascu

be

yro

llup

.�

Ejem

plo:select

nombre_articulo, color, talla, sum

(numero)

from

ventas g

rou

p b

y cub

e(nombre_articulo, color, talla)

Esta consulta calcula la unión de ocho agrupaciones diferentes de la relación

ventas: { (nombre_articulo, color, talla), (nom

bre_articulo, color), (nom

bre_articulo, talla), (color, talla), (nombre_articulo), (color), (talla), () }

Lista vacía

Nom

bre_articuloC

olorT

allacantidad

faldaoscuro

All

8

faldaP

astelA

ll35

faldaB

lancoA

ll10

faldanull

All

53

vestidooscuro

All

20

vestidoP

astelA

ll10

vestidoB

lancoA

ll5

selectnombre_articulo, color, talla,sum

(cantidad)fro

mventas

vestidoB

lancoA

ll5

vestidonull

All

35

camisa

oscuroA

ll14

camisa

Pastel

All

7

camisa

Blanco

All

28

camisa

nullA

ll49

pantalonoscuro

All

20

pantalonP

astelA

ll2

pantalonB

lancoA

ll5

pantalonnull

All

27

nulloscuro

All

62

nullP

astelA

ll54

nullB

lancoA

ll48

nullnull

All

164

from

ventas g

rou

p b

y cub

e(nombre_articulo, color,talla)

Page 21: Introducción Datawarehousing - CINVESTAVvjsosa/clases/tsbd/Data... · 2014-07-18 · dimensiones utilizadas en las tabulaciones cruzadas. Abstracción: Granularidad más gruesa Concreción:

selectnom

bre_articulo, color, talla, sum(cantidad)

from

ventas g

rou

p b

y rollu

p (nom

bre_articulo, color, talla)

En este caso sólo se generan cuatro agrupaciones diferentes de la relación

ventas: { (nombre_articulo, color, talla), (nom

bre_articulo, color), (nom

bre_articulo), () }

Ejem

plo utilizando rollup

(nombre_articulo), () }

Otras fu

ncio

nes:

Supongam

os la relación estudiante_calificacion(id_estudiante, calif) :

selectid_estudiante, ran

k() over

(ord

er by

(calif) desc) as clasificacion_est

from

estudiante_calificacion ord

er by

clasificacion_est

SQ

L99utiliza

elvalor

nu

lltanto

paraindicar

elsentidohabitualdelnulo,

asícomo

elvalorde

all.S

epuede

aplicarla

funciónde

gro

up

ing

aun

atributo;devuelve1

sielvalores

unvalor

nuloque

representea

all,y

devuelve0

enlos

demás

casos.

selectnombre_articulo, color, talla, su

m(cantidad)

gro

up

ing

(nombre_articulo) as

indicador_nombre_articulo,

gro

up

ing

(color) asindicador_color

gro

up

ing

(talla) asindicador_talla

from

ventas g

rou

p b

y cub

e (nombre_articulo, color, talla)

�función cu

me_d

ist(cum

ulative distribution): define la función de distribución acum

ulativa, para una tupla se define como p/n, donde p

es el número de tuplas

de la partición con valores de ordenación que preceden o son iguales al valor de ordenación de la tupla, y n

es el número de tuplas de la partición.

�F

unción ntile(n): tom

a las tuplas de cada partición en el orden especificado y las divide en n

cajones con igual número de tuplas.

selecttercil, su

m(sueldo)

selecttercil, su

m(sueldo)

from

(select

sueldo, ntile(3) o

ver(o

rder b

y(sueldo)) as

tercilfro

mem

pleado) ass

gro

up

by

tercil

Los valores nulos pueden complicar la definición de una clasificación, dado que

no está claro si deben colocarse antes en el orden. SQ

L:1999

permite que el

usuario especifique dónde deben aparecer mediante n

ulls first

o nu

lls last:

selectid_estudiante, rank() o

ver(o

rder b

ycalif d

esc nu

lls last ) as clasificacion_estfro

mestudiante_calificacion

Page 22: Introducción Datawarehousing - CINVESTAVvjsosa/clases/tsbd/Data... · 2014-07-18 · dimensiones utilizadas en las tabulaciones cruzadas. Abstracción: Granularidad más gruesa Concreción:

Consultas del tipo “ventana”

�U

nejem

plode

unaconsulta

ventanaes

unaconsulta

que,dados

losvalores

deventas

paracada

fecha,calcula

paracada

fechael

promedio

deventas

deese

día,del

díaanterior

ydel

díasiguiente;

esasconsultas

dem

ediam

óvilse

utilizanpara

suavizarla

variaciónaleatoria.

�S

QL:1999

ofreceuna

característicade

ventanaspara

soportaresas

consultas.A

diferenciadel

groupby,

lam

isma

tuplapuede

estaren

consultas.A

diferenciadel

groupby,

lam

isma

tuplapuede

estaren

variasventanas.

Consultas del tipo “ventana”

�E

jemplo:

supóngasela

relacióntra

nsaccio

n(n

um

ero_cu

enta,

fecha_h

ora,

valor),

dondeva

lor

espositivo

paralos

depósitosde

fondosy

negativospara

losretiros.

Se

dapor

supuestoque

haycom

om

áximo

unatransacción

porcada

valorfe

ch

a_

ho

ra.�

Laconsulta:

selectnumero_cuenta, fecha_hora, su

m(valor) o

ver(p

artition

by

numero_cuenta

ord

er by

fecha_horaro

ws u

nb

ou

nd

ed p

recedin

g)

assaldo

assaldo

from

transacciono

rder b

ynum

ero_cuenta, fecha_hora

Proporciona

lossaldos

acumulados

decada

cuentajusto

antesde

cadatransacción

enesa

cuenta;elsaldo

acumulado

deuna

cuentaes

lasum

ade

valoresde

todaslas

transaccionesanteriores

dela

cuenta.La

cláusulap

artition

by

separalas

tuplaspor

núm

ero

_cuenta,

dem

odoque

paracada

filasólo

seconsideran

lastuplas

desu

partición.Se

creauna

ventanapara

cadatupla.

Lapalabra

clavero

ws

un

bo

un

ded

preced

ing

especificanque

laventana

decada

tuplaconsiste

entodas

lastuplas

dela

particiónque

lapreceden

enelorden

especificado(en

estecaso,orden

crecientede

fecha_hora).La

funciónsu

m(valor)

seaplica

atodas

lastuplas

dela

ventana.N

óteseque

laconsulta

nonecesita

ningunacláusula

gro

up

by,

yaque

hayuna

tuplade

resultadopor

cadatupla

dela

relacióntra

nsaccio

n.

Page 23: Introducción Datawarehousing - CINVESTAVvjsosa/clases/tsbd/Data... · 2014-07-18 · dimensiones utilizadas en las tabulaciones cruzadas. Abstracción: Granularidad más gruesa Concreción:

Consultas del tipo “ventana”

�S

epueden

especificarotros

tiposde

ventanas.�

Por

ejemplo,

paraobtener

unaventana

quecontenga

las10

filasanteriores

acada

fila,sepuede

especificar:ro

ws

10p

recedin

g�

Para

obteneruna

ventanaque

contengala

filaactual,

laanterior

yla

siguiente:b

etween

row

s1

preced

ing

and

1fo

llow

ing

�P

araobtener

lasfilas

siguientesy

lafila

actual:b

etween

row

su

nb

ou

nd

edp

recedin

gan

dcu

rrent.

�N

óteseque

sila

ordenaciónse

realizacon

unatributo

queno

sea�

Nótese

quesi

laordenación

serealiza

conun

atributoque

nosea

claveelresultado

noes

determinista,ya

queelorden

noestá

definido.�

Se

puedenespecificar

ventanasm

edianterangos

devalores,

enlugar

dehacerlo

mediante

número

defilas.

�E

jemplo,

siel

valorde

ordenaciónde

unatupla

esv;

entoncesran

ge

betw

een10

preced

ing

and

curren

tro

wdevolverá

tuplascuyo

valorde

ordenaciónse

hallenentre

v–

10y

v(am

bosincluidos).

�A

ltratarcon

fechasde

puedeutilizar

rang

ein

terval10d

ayp

recedin

gpara

obteneruna

ventanaque

contengatuplas

conlos

10días

anteriores,perosin

incluirla

fechade

latupla.

�S

QL1999

contienem

uchasm

ásfuncionalidades

queno

sonexpuestas

enesta

presentación.

DA

TA

MIN

ING

(Mineria de D

atos)

Introducción

Page 24: Introducción Datawarehousing - CINVESTAVvjsosa/clases/tsbd/Data... · 2014-07-18 · dimensiones utilizadas en las tabulaciones cruzadas. Abstracción: Granularidad más gruesa Concreción:

Data M

ining

�C

onsultasa

granescala

diseñadaspara

extraerpatrones

delos

datos.�

Lasaplicaciones

más

utilizadasson

lasque

necesitanalgún

tipode

predicción.�

Fuertem

entesoportada

porm

ecanismos

depredicción:F

uertemente

soportadapor

mecanism

osde

predicción:�

Árb

oles

de

decisió

n�

Clasificadores

bayesianos�

Redes

neuronales�

Regresión

�R

eglas

de

asociació

n�

Ag

rup

amien

to

Árboles de decisión

Ejem

plo:•

Un estudio dirigido para ver qué clientes estarían interesados en un

nuevo modelo de coche.

•S

e desea seleccionar clientes para campaña publicitaria

salecu

stIdcar

age

cityn

ewC

arc1

taurus27

sfyes

c2van

35la

yesc3

van40

sfyes

c4taurus

22sf

yesc5

merc

50la

noc6

taurus25

lano

Conjunto

de entrenam

iento

Page 25: Introducción Datawarehousing - CINVESTAVvjsosa/clases/tsbd/Data... · 2014-07-18 · dimensiones utilizadas en las tabulaciones cruzadas. Abstracción: Granularidad más gruesa Concreción:

Una opción

salecu

stIdcar

age

cityn

ewC

arc1

taurus27

sfyes

c2van

35la

yesc3

van40

sfyes

c4taurus

22sf

yesc5

merc

50la

noc6

taurus25

lano

age<30

c6taurus

25la

noage<

30

city=sf

car=van

probable

YY

Y

NN

N

probableim

probableim

probable

Otra opción

salecu

stIdcar

age

cityn

ewC

arc1

taurus27

sfyes

c2van

35la

yesc3

van40

sfyes

c4taurus

22sf

yesc5

merc

50la

noc6

taurus25

lano

car=taurus

Yc6

taurus25

lano

city=sf

age<45

YY

Y

NN

N

probableim

probableim

probableprobable

Page 26: Introducción Datawarehousing - CINVESTAVvjsosa/clases/tsbd/Data... · 2014-07-18 · dimensiones utilizadas en las tabulaciones cruzadas. Abstracción: Granularidad más gruesa Concreción:

Algunas situaciones a considerar

�E

l árbol de decisión no puede ser muy

“profundo” �

Se necesita seleccionar el árbol que m

ás confiablem

ente predice la salidas.confiablem

ente predice la salidas.�

Encontrar las m

ejores particiones.�

Obtener m

ejor ganancia de información.

Agrupación (C

lustering)

edad

ingresos

educación

Page 27: Introducción Datawarehousing - CINVESTAVvjsosa/clases/tsbd/Data... · 2014-07-18 · dimensiones utilizadas en las tabulaciones cruzadas. Abstracción: Granularidad más gruesa Concreción:

Otro ejem

plo: Manejo de textos

�C

ada documento es un vector

�e.g., <

100110...> contiene palabras 1,4,5,...

�Las agrupaciones contienen docum

entos “sim

ilares” �

Útil para entender, docum

entos de búsqueda

Noticias

internacionales

deportes

negocios

Algunas situaciones a considerar

�¿

cuál es el número de grupos deseado?

�E

ncontrar los “mejores” grupos

�¿

Son los grupos sem

ánticamente

significativos? significativos? �

e.g., el grupo “yuppies’’?

�A

grupamiento aglom

erativo.�

Agrupam

iento divisivo.

Page 28: Introducción Datawarehousing - CINVESTAVvjsosa/clases/tsbd/Data... · 2014-07-18 · dimensiones utilizadas en las tabulaciones cruzadas. Abstracción: Granularidad más gruesa Concreción:

Reglas de asociación: el ejem

plo de la canasta del m

ercado

�U

na fuente importante de datos para las reglas de

asociación está en la “canasta del mercado”.

�C

uando un cliente pasa a través de la caja registradora, aprendem

os qué artículos compra juntos, e.g. huevos y

jamón.

�S

ean datos con el esquema C

an

as

tas

(ca

n_

id, a

rticu

lo).

�S

ean datos con el esquema C

an

as

tas

(ca

n_

id, a

rticu

lo).

�Los com

erciantes quisieran saber qué artículos la gente com

pra juntos.�

Ejem

plo: si la gente tiende a comprar huevos y

jamón juntos, porque no ponerlos cerca el uno del

otro, con algún tocino en medio.

�E

jemplo: lanzar una gran venta de huevos y

aumentar un poco el precio del jam

ón.

El esquem

a básico: encontrar la pareja de artículos m

ás frecuente

�D

adoun

umbralde

soportes,podríam

ospedir:

�E

ncontrarlos

paresde

artículosque

aparecenjuntos

enalm

enoss

canastas.

SE

LE

CT

can1.articu

lo, can

2.articulo

FR

OM

canastas can

1, canastas can

2F

RO

M can

astas can1, can

astas can2

WH

ER

E can

1.can_id

= can

2.can_id

AN

Dcan

1.articulo

< can

2.articulo

GR

OU

P B

Y can

1.articulo

, can2.articu

loH

AV

ING

CO

UN

T (*) >

= s;

Page 29: Introducción Datawarehousing - CINVESTAVvjsosa/clases/tsbd/Data... · 2014-07-18 · dimensiones utilizadas en las tabulaciones cruzadas. Abstracción: Granularidad más gruesa Concreción:

Haciendo un análisis a-priori

�La

consultaanterior

esprohibitivam

entecostosa

paraun

monto

dedatos

grande.�

Un

algoritmo

a-prioriutilizaelhecho

queun

par(i

,j)

nopuede

tenersoporte

des

am

enosque

tantoiy

j

tengansoporte

des

porsím

ismos.

tengansoporte

des

porsím

ismos.

�U

naim

plementación

más

eficienteutiliza

unarelación

intermedia

canastas1.IN

SE

RT

INT

O C

anastas1 (can

_id, articu

lo)

SE

LE

CT

* FR

OM

Can

astasW

HE

RE

articulo

IN (

SE

LE

CT

articulo

FR

OM

Can

astasG

RO

UP

BY

articulo

HA

VIN

G C

OU

NT

(*) >=

S);

Al

obtenerC

an

asta

s1

podemos

volvera

ejecutarla

consultaanterior

utilizandoca

nasta

s1

enlugar

deca

na

sta

s

Ejem

plo: reglas de asociación

tran

1cu

st33

p2

, p5

, p8

tran

2cu

st45

p5

, p8

, p1

1tra

n3

cust1

2p

1, p

9registrode ventas:

canastatra

n4

cust4

0p

5, p

8, p

11

tran

5cu

st12

p2

, p9

tran

6cu

st12

p9

de ventas:

•Tendencia: P

roductos p5, p8 a menudo com

prados juntos•

Tendencia: Cliente 12 prefiere producto p9 canasta

Page 30: Introducción Datawarehousing - CINVESTAVvjsosa/clases/tsbd/Data... · 2014-07-18 · dimensiones utilizadas en las tabulaciones cruzadas. Abstracción: Granularidad más gruesa Concreción:

Regla de asociación

�R

egla: {p1 , p

3 , p8 }

�S

oporte: número de canastes donde estos

productos aparecen�

Conjunto con soporte-alto: s

op

orte

≥um

bral s�

Conjunto con soporte-alto: s

op

orte

≥um

bral s�

Problem

a: encontrar todos los conjuntos con alto soporte

Encontrar pares con soporte alto

�C

anastas(canasta, item)

�S

ELE

CT

I.item, J.item

, CO

UN

T(I.canasta)

FR

OM

canastas I, canastas JW

HE

RE

I.canasta = J.canasta A

ND

WH

ER

E I.canasta =

J.canasta AN

DI.item

< J.item

GR

OU

P B

Y I.item

, J.itemH

AV

ING

CO

UN

T(I.canasta) >

= s; P

orqué?

Page 31: Introducción Datawarehousing - CINVESTAVvjsosa/clases/tsbd/Data... · 2014-07-18 · dimensiones utilizadas en las tabulaciones cruzadas. Abstracción: Granularidad más gruesa Concreción:

Ejem

plo

ca

na

sta

item

t1p2

t1p5

t1p8

t2p5

t2p8

canasta

item1

item2

t1p2

p5t1

p2p8

t1p5

p8t2

p5p8

t2p5

p11

verificar sicantidad ≥

st2

p8t2

p11...

...

t2p5

p11t2

p8p11

......

...

Algunos aspectos a considerar

�E

ficiencia para reglas de tamaño 2

basket

itemt1

p2t1

p5t1

p8t2

p5t2

p8

basket

item1

item2

t1p2

p5t1

p2p8

t1p5

p8t2

p5p8

t2p5

p11

grandeA

ún más

grande!t2

p8t2

p11...

...

t2p5

p11t2

p8p11

......

...

�E

ficiencia para reglas de tamaño k

Page 32: Introducción Datawarehousing - CINVESTAVvjsosa/clases/tsbd/Data... · 2014-07-18 · dimensiones utilizadas en las tabulaciones cruzadas. Abstracción: Granularidad más gruesa Concreción:

Conteo eficiente

�U

na opción:

canasta

I.itemJ.item

t1p5

p8t2

p5p8

t2p8

p11ordenar

canas

taI.item

J.item

t3p2

p3t3

p2p8

t1p5

p8

contary quitar

con

tarI.item

J.item

umbral =

3

t2p8

p11t3

p2p3

t3p5

p8t3

p2p8

......

...

t1p5

p8t2

p5p8

t3p5

p8t2

p8p11

......

...

con

tarI.item

J.item3

p5p8

5p12

p18...

......

�O

tra opción:

canasta

I.itemJ.item

t1p5

p8t2

p5p8

t2p8

p11quitar

con

tarI.item

J.item

escanear y contar

con

tarI.item

J.item

1p2

p32

p2p8

3p5

p8

threshold = 3

Conteo eficiente

t2p8

p11t3

p2p3

t3p5

p8t3

p2p8

......

...

con

tarI.item

J.item3

p5p8

5p12

p18...

......

3p5

p85

p12p18

1p21

p222

p21p23

......

...

Mantener el arreglo de

contadores en mem

oria

Page 33: Introducción Datawarehousing - CINVESTAVvjsosa/clases/tsbd/Data... · 2014-07-18 · dimensiones utilizadas en las tabulaciones cruzadas. Abstracción: Granularidad más gruesa Concreción:

Otra opción m

ás

canasta

I.itemJ.item

t1p5

p8t2

p5p8

t2p8

p11t3

p2p3

t3p5

p8t3

p2p8

(1)E

scanear,hacer hash y

contar

contarbucket

1A

5B

2C

1D

8E

1F

......

tabla hash en m

emoria

threshold = 3

con

tarI.item

J.item3

p5p8

5p12

p18t3

p2p8

......

......

...

canasta

I.itemJ.item

t1p5

p8t2

p5p8

t2p8

p11t3

p5p8

t5p12

p18t8

p12p18

......

...

(2) escanear y quitar

5p12

p18...

......

(4) quitarco

ntar

I.itemJ.item

3p5

p81

p8p11

5p12

p18...

......

(3) Escanear y contar

contadoresen m

emoria

falso positivo

Discusión

�E

squema usando dispersión (hash): 2 (o 3) escaneo

de datos�

Esquem

a usando ordenamiento: requiere ordenar!

�E

l esquema de dispersión trabaja bien si aparecen

pocos pares con soporte alto y muchos con soporte

pocos pares con soporte alto y muchos con soporte

bajo

Pares de item

s clasificados por frecuencia

frecuencia

umbral

Consultas del tipo iceberg