introducción datawarehousing - cinvestavvjsosa/clases/tsbd/data... · 2014-07-18 · dimensiones...
TRANSCRIPT
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).
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
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).
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.
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.
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
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.
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
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.
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
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
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
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
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
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
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,*)
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)
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
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
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)
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
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.
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
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
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
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
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.
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;
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
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é?
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
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
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