+ All Categories
Home > Documents > 1 Concepción de Sistemas de Información Instituto de Computación – Facultad de Ingeniería –...

1 Concepción de Sistemas de Información Instituto de Computación – Facultad de Ingeniería –...

Date post: 22-Jan-2016
Category:
Upload: bayardo-nunez
View: 213 times
Download: 1 times
Share this document with a friend
26
1 Concepción de Sistemas de Información Instituto de Computación – Facultad de Ingeniería – Universidad de la República Estudio de modelos y técnicas de workflow en vista a la definición de un proceso para la carga y mantenimiento de data warehouses SEMINARIO Presentación día 13 con fecha 23/07/2001 Artículo:Efficient Resumption of Interrupted Warehouse Loads Expositor: Pablo Morales
Transcript
Page 1: 1 Concepción de Sistemas de Información Instituto de Computación – Facultad de Ingeniería – Universidad de la República Estudio de modelos y técnicas de.

1

Concepción de Sistemas de InformaciónInstituto de Computación – Facultad de Ingeniería – Universidad de la República

Estudio de modelos y técnicas de workflow en vista a la definición de un proceso para la carga y mantenimiento de data

warehouses

SEMINARIO

Presentación día 13 con fecha 23/07/2001

Artículo: Efficient Resumption of Interrupted Warehouse Loads

Expositor: Pablo Morales

Page 2: 1 Concepción de Sistemas de Información Instituto de Computación – Facultad de Ingeniería – Universidad de la República Estudio de modelos y técnicas de.

2

Efficient Resumption of Interrupted Warehouse Loads

Wilburt Juan Labio, Janet L. Wiener, Hector Garcia-Molina, Vlad Gorelik

Presentación de una algoritmo (DR) de recuperación ante fallas en el proceso de carga y refresque del data warehouse.

Dos características principales:

1. No impone un overhead en el tiempo de carga normal

2. Utiliza únicamente ciertas propiedades básicas de las transformaciones

Page 3: 1 Concepción de Sistemas de Información Instituto de Computación – Facultad de Ingeniería – Universidad de la República Estudio de modelos y técnicas de.

3

Idea general y estrategia

Otros Algoritmos:

• Rehacer toda la carga

• Dividir la entrada en lotes y procesarlos en secuencia

• Tomar “snapshots” periódicos del estado del workflow de carga

• Dividir el workflow en estados (identificarlos) y guardar resultados intermedios

Page 4: 1 Concepción de Sistemas de Información Instituto de Computación – Facultad de Ingeniería – Universidad de la República Estudio de modelos y técnicas de.

4

Idea general y estrategia

Algoritmo DR:

• No hay overhead en el proceso de carga normal

• No es necesario modificar los procesos de transformación

• Quién codifica los elementos de transformación (wrappers, etc) debe declarar si éstos cumplen alguna propiedades simples

• Explota la semántica del workflow de carga para ser selectivo al reasumir luego de una falla

Page 5: 1 Concepción de Sistemas de Información Instituto de Computación – Facultad de Ingeniería – Universidad de la República Estudio de modelos y técnicas de.

5

Aportes

• Presentación del marco que describe los procesos de carga normales y con fallas identificando ciertas propiedades

• Presentación del algoritmo DR que filtra tuplas de entrada ASAP

• Conclusiones

Page 6: 1 Concepción de Sistemas de Información Instituto de Computación – Facultad de Ingeniería – Universidad de la República Estudio de modelos y técnicas de.

6

Proceso de carga normal

Definición:

Secuencia de tuplas: T = [t1..tn] ; con atributos [a1..am]

Ejemplo de carga

Page 7: 1 Concepción de Sistemas de Información Instituto de Computación – Facultad de Ingeniería – Universidad de la República Estudio de modelos y técnicas de.

7

Representación del workflow de carga con un Grafo Acíclico Dirigido (DAG):

Proceso de carga normal

Page 8: 1 Concepción de Sistemas de Información Instituto de Computación – Facultad de Ingeniería – Universidad de la República Estudio de modelos y técnicas de.

8

DAG

Notación:

X YYX YO

X : Componente

Y : Componente

YX : Parámetro de entrada del componente Y producido por X

YO : Parámetro de salida del componente Y

YX : Secuencia que instancia el parámetro de entrada YX

YO : Secuencia que instancia el parámetro de salida YO

Y(...YX...) = YO : Y produce YO procesando YX (y otras secuencias)

W : Secuencia que se carga en el warehouse en ausencia de fallas

Page 9: 1 Concepción de Sistemas de Información Instituto de Computación – Facultad de Ingeniería – Universidad de la República Estudio de modelos y técnicas de.

9

Proceso de carga con falla

Tipos de fallas:

El algoritmo hace foco en fallas a nivel de sistema y no a nivel lógico

Observación:

Ante cualquier falla de cualquier componente solo un prefijo de la secuencia W es cargado en el warehouse

Datos para re-asumir la carga:

• El prefijo de la secuencia de entrada al warehouse W

• Procedimientos provistos por los extractors

GetAllReordered(), GetAll(), GetSubSet(), GetSuffix()

Page 10: 1 Concepción de Sistemas de Información Instituto de Computación – Facultad de Ingeniería – Universidad de la República Estudio de modelos y técnicas de.

10

Propiedades para re-asumir la carga:

En general, se deben contestar estas dos preguntas para evitar el re-proceso de tuplas:

1) Para una tupla dada del warehouse, cuales de las tuplas de YX contribuyen a ella.

2) Cuándo es seguro filtrar esas tuplas de YX

(Same-set(Y )) If Y is an extractor then Same-set(Y ) = true if Y uses GetAll or GetAllReordered during resumption. Otherwise, Same-set(Y ) = true if YX : Same-set(X) and, given the same sets of input tuples, Y produces the same set of output tuples.

Proceso de carga con falla

Page 11: 1 Concepción de Sistemas de Información Instituto de Computación – Facultad de Ingeniería – Universidad de la República Estudio de modelos y técnicas de.

11

Definición:

(Contributes, Contributors) Given transform Y , let Y(...YX…) =YO and

Y(…Y’X...) =Y’O . Also let YX = [x1..xi-1 xi xi+1..xn] and Y’X = [x1..xi-1 xi+1..xn].

Contributes(xi,yj ) = true, if yj YO and yj Y’O .Otherwise, Contributes(xi,yj )

= false.

Contributors(YX, yj ) =T , where IsSubsequence(T , YX) and

(xi T : Contributes(xi, yj )) and (xi YX : Contributes(xi,yj ) xi T).

Proceso de carga con falla

Page 12: 1 Concepción de Sistemas de Información Instituto de Computación – Facultad de Ingeniería – Universidad de la República Estudio de modelos y técnicas de.

12

Proceso de carga con falla – Filtrado Seguro

Propiedad:

map-to-one(YX)

Given transform Y with input parameter YX, YX is map-to-one

if YX; YO; xi YX: (Y (:::YX:::) = YO) (yj ; yk YO

such that Contributes(xi,yj ) and Contributes(xi,yk) and j k).

Page 13: 1 Concepción de Sistemas de Información Instituto de Computación – Facultad de Ingeniería – Universidad de la República Estudio de modelos y técnicas de.

13

X YYX ZY

Z WWZ

map-to-one map-to-one map-to-one

Subset-feasible(YX)

Subset-feasible(YX)

Given transform Y with input parameter YX, Subset-feasible(YX) =

true if Y is the warehouse inserter.

Otherwise, Subset-feasible(YX) = true if YX is map-to-one and ZY :

Subset-feasible(ZY ). Otherwise, Subset-feasible(YX) = false.

Proceso de carga con falla – Filtrado Seguro

Definición:

Page 14: 1 Concepción de Sistemas de Información Instituto de Computación – Facultad de Ingeniería – Universidad de la República Estudio de modelos y técnicas de.

14

Proceso de carga con falla – Filtrado Seguro

Propiedad:suffix-safe(YX)

Given T = [t1::tn], let First(T ) =t1, Last(T ) =tn, and ti T tj if

ti is before tj in T or i = j. Given transform Y with input parameter YX, YX is suffix-safe if YX; YO; yj ; yj+1 YO:

(Y (:::YX:::) =YO) )(Last(Contributors(YX, yj )) YX

First(Contributors(YX,yj+1))).

If Contributors(YX, yj ) = [ ] or Contributors(YX, yj+1) = [ ], then YX is not suffix-safe.

Page 15: 1 Concepción de Sistemas de Información Instituto de Computación – Facultad de Ingeniería – Universidad de la República Estudio de modelos y técnicas de.

15

X YYX

V1

V2

V3

XV1

XV2

XV3

Proceso de carga con falla – Filtrado Seguro

Prefix-feasible(YX)

Given transform Y with input parameter YX,

Prefix-feasible(YX) = true if Y is the warehouse inserter.

Otherwise, Prefix-feasible(YX) = true if YX is suffix-safe and

ZY : Prefix-feasible(ZY ). Otherwise, Prefix-feasible(YX) = false.

Definición:

Page 16: 1 Concepción de Sistemas de Información Instituto de Computación – Facultad de Ingeniería – Universidad de la República Estudio de modelos y técnicas de.

16

X YYX

V1

V2

V3

XV1

XV2

XV3

Proceso de carga con falla – Filtrado Seguro

in-det-out(Y )

Transform Y is in-det-out if Y produces the same output sequence whenever it processes the same input sequences.

Propiedad:

Page 17: 1 Concepción de Sistemas de Información Instituto de Computación – Facultad de Ingeniería – Universidad de la República Estudio de modelos y técnicas de.

17

X YYX

V1

V2

V3

XV1

XV2

XV3

Proceso de carga con falla – Filtrado Seguro

set-to-seq(YX)

Given transform Y with input parameter YX, YX is set-to-seq if (Y

is in-det-out) and ( YX; Y’X : ((YX and Y’X have the same set of

tuples) and (all other input parameters of Y receive the same sequence)) Y (:::YX:::) =Y (:::Y’X:::)).

Propiedad:

Page 18: 1 Concepción de Sistemas de Información Instituto de Computación – Facultad de Ingeniería – Universidad de la República Estudio de modelos y técnicas de.

18

Observación: Dado un path desde una fuente hasta un componente Y, para que se cumpla Same-seq(YX) exijo que todos los componentes del path sean in-det-out, y si uno no lo es, entonces exijo que el siguiente sea set-to-seq (más fuerte)

Proceso de carga con falla – Filtrado Seguro

Same-seq(YX)

If X is an extractor then Same-seq(YX) = true if X uses the

GetAll re-extraction procedure.

Otherwise, Same-seq(YX) = true if X is in-det-out and XV :

(Same-seq(XV ) or (XV is set-to-seq and Same-set(V ))).

Otherwise, Same-seq(YX) = false.

Definición:

Page 19: 1 Concepción de Sistemas de Información Instituto de Computación – Facultad de Ingeniería – Universidad de la República Estudio de modelos y técnicas de.

19

Objetivo: Identificar las tuplas de una secuencia YX que son contribuyentes a una tupla del warehouse wk

Idea: Matchear los atributos que YX y wk tienen en común

Proceso de carga con falla – Ident. Contribuyentes

Page 20: 1 Concepción de Sistemas de Información Instituto de Computación – Facultad de Ingeniería – Universidad de la República Estudio de modelos y técnicas de.

20

no-hidden-contributor(YX)

Given transform Y with input parameter YX, no-hidden-

contributors(YX) if YX, YO, yj YO, xi Contributors(YX,

yj ), a (Attrs(YX) Attrs(YO)): (Y (:::YX:::) = YO) (xi.a =

yj.a).

Propiedades a satisfacer para poder identificar los contribuyentes:

Match con yj en

Attrs(YX) Attrs(YO)

Contributors(YX, yj)No-hidden-contributor(YX)

Proceso de carga con falla – Ident. Contribuyentes

Page 21: 1 Concepción de Sistemas de Información Instituto de Computación – Facultad de Ingeniería – Universidad de la República Estudio de modelos y técnicas de.

21

Propiedades a satisfacer para poder identificar los contribuyentes:

Proceso de carga con falla – Ident. Contribuyentes

CandAttrs(YX,P)

Let P be a path from input parameter YX to the warehouse.

There are three possibilities for CandAttrs(YX , P):

1. If Y is the warehouse inserter, then CandAttrs(YX, P) =Attrs(YX).

2. If no-hidden-contributors(YX), then CandAttrs(YX; P) = [ ].

3. Else CandAttrs(YX , P) = CandAttrs(ZY , P’ ) Attrs(YX), where

P = [YX ZY ::WI], and P’ is P excluding YX.

Definición:

Page 22: 1 Concepción de Sistemas de Información Instituto de Computación – Facultad de Ingeniería – Universidad de la República Estudio de modelos y técnicas de.

22

Propiedades a satisfacer para poder identificar los contribuyentes:

Proceso de carga con falla – Ident. Contribuyentes

no-spurious-output( Y )

A transform Y produces no spurious output if input parameters YX, YX, YO, yj YO : (Y (:::YX:::) = YO)

(Contributors(YX,yj) [ ]).

Propiedad:

Page 23: 1 Concepción de Sistemas de Información Instituto de Computación – Facultad de Ingeniería – Universidad de la República Estudio de modelos y técnicas de.

23

no-hidden-contributor(YX) = Se cumple si todas las tuplas de entrada YX que contribuyen a una tupla de salida yj matchean con yj en Attrs(YX) Attrs(YO)

CandAttrs(YX, P) = Todos los atributos presentes en el path P desde YX al warehouse. Estos atributos identifican a los potenciales contribuyentes de una tupla final wk

idAttrs(YX) = Conjunto de atributos utilizados para identificar los contribuyentes de YX a la tupla del warehouse wk. Los contribuyentes serán los que matcheen con wk en idAttrs(YX)

Proceso de carga con falla – Ident. Contribuyentes

Observaciones:

Page 24: 1 Concepción de Sistemas de Información Instituto de Computación – Facultad de Ingeniería – Universidad de la República Estudio de modelos y técnicas de.

24

Por lo tanto:

Dados wk y CandAttrs(YX, P) puedo identificar a los potenciales contribuyentes de wk en YX.

Dados wk y idAttrsPath(YX, P) puedo identificar a los contribuyentes de wk en YX.

Proceso de carga con falla – Ident. Contribuyentes

Page 25: 1 Concepción de Sistemas de Información Instituto de Computación – Facultad de Ingeniería – Universidad de la República Estudio de modelos y técnicas de.

25

1. IdAttrs(YX) = KeyAttrs(YX) if KeyAttrs(YX) CandAttrs(YX, P)

and both Y and Z satisfy the no-spurious-output property.

2. IdAttrs(YX) = KeyAttrs(WZ) if KeyAttrs(WZ) CandAttrs(YX, P).

3. IdAttrs(YX) = IdAttrs(ZY) if IdAttrs(ZY) CandAttrs(YX, P).

Proceso de carga con falla – Ident. Contribuyentes

Page 26: 1 Concepción de Sistemas de Información Instituto de Computación – Facultad de Ingeniería – Universidad de la República Estudio de modelos y técnicas de.

26

IdAttrsPath(YX,P), IdAttrs(YX)

Let P be the only path from YX to the warehouse.

There are three possibilities for IdAttrsPath(YX,P) (i.e., IdAttrs(YX)).

1. If (KeyAttrs(YX) CandAttrs(YX, P) and ZV P : ZV has no

spurious output tuples), then (IdAttrsPath(YX, P) = KeyAttrs(YX)).

2. Otherwise, let ZV P but ZV YX. Let P’ be the path from ZV to

the warehouse. If (IdAttrsPath(ZV, P’) [ ] and IdAttrsPath(ZV, P’)

CandAttrs(YX, P)), then (IdAttrsPath(YX,P) = IdAttrsPath(ZV ,P’)).

3. Otherwise IdAttrsPath(YX,P) =[ ].

Definición:

Proceso de carga con falla – Ident. Contribuyentes


Recommended