Contenido del Curso - M. en C. Jose Mario Martinez Castro

Anuncio
2. Base de Datos en Múltiples Servidores
Contenido del Curso
I.II.II.III.IV.-
2.1. Diseño de Base de Datos Distribuidas
2.2. Consideraciones para Distribuir la BD
2.3. Procesamiento de Consultas Distribuidas
Fundamentos de SBDDs.
Bases de Datos en Múltiples Servidores
Optimización de las Estrategias de Acceso
Proceso de Transacciones en Bases de Datos
Distribuidas
1
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
2
M. en C. José Mario Martínez Castro
Base de Datos Distribuidas – Unidad II
Problema de Diseño
DISEÑO
DISEÑO DE
DE BASES
BASES DE
DE
DATOS
DATOS DISTRIBUIDAS
DISTRIBUIDAS
En un marco general
tomar decisiones acerca de la ubicación de los datos y
los programas, en los sitios de una red de computadoras, así como también posiblemente el diseño de la
propia red.
En los SABDDs, la ubicación de las aplicaciones supone
ubicación del software de los SABDDs, y
ubicación de las aplicaciones que corren sobre la base
de datos.
3
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
4
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
Diseño Descendente
Análisis de
requerimientos
Diseño de la Distribución
Req. del sistema
(objetivos)
Descendente.
Principalmente en sistemas que inician de cero.
Principalmente en sistemas homogeneos.
Ascendente.
Cuando las bases de datos ya existen en los diferentes
sitios.
Diseño
conceptual
Entrada del usuario
Integración de vistas
Esq. conep. global
Información
de acceso
Diseño
de vistas
Definición del
esquema externo
Entrada
del usuario
Diseño de la
distribución
Esq. concep. local
Diseño físico
Esquema físico
Retroalimentación
Observ. y monit.
Retroalimentación
5
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
6
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
Problemática del Diseño de la Distribución
¿Por qué fragmentar todo?
¿Cómo fragmentar?
¿Cuánto fragmentar?
¿Cómo probar la correctez?
¿Cómo ubicar los fragmentos?
¿Qué requerimientos de información?
CONSIDERACIONES
CONSIDERACIONES PARA
PARA
DISTRIBUIR
DISTRIBUIR LA
LA BASE
BASE DE
DE DATOS
DATOS
7
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
8
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
Requerimientos de Información
Requerimientos de Información
Cuatro Categorías:
Información de la base de datos.
Información de la aplicación.
Información de la red de comunicaciones.
Información del sistema de cómputo.
Información de la base de datos.
Información de la aplicación.
Información de la red de comunicaciones.
Información del sistema de cómputo.
Selectividad de fragmentos.
Tamaño de un fragmento.
Tipos de acceso y número.
Acceso a sitios.
Ancho de banda.
Distancias entre sitios.
Sobrecarga de protocolos.
Unidad de costo de almacenar datos en un
sitio.
Unidad de costo de procesar datos en un sitio.
9
M. en C. José Mario Martínez Castro
Base de Datos Distribuidas – Unidad II
10
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
Ejemplo
Fragmentación
Una relación r estará fragmentada, cuando se divida en
cierto numero de fragmentos r1, r2, ... , rn.
Estos Fragmentos contienen información suficiente para
permitir la reconstrucción de la relación original r
11
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
12
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
Fragmentación
Grado de Fragmentación
¿Podemos distribuir sólo relaciones?
¿Cuál es la unidad razonable de distribución?
Relación.
Número finito de alternativas
• Las vistas son subconjuntos de relaciones (localmente).
• Comunicación extra.
Fragmento de relación (sub-relación).
Tuplas o
atributos
• Ejecución concurrente de un número de transacciones que
acceden diferentes porciones de una relación.
• Las vistas que no puedan ser definidas sobre un solo fragmento
requerirán procesamiento extra.
• El control de la semántica de datos (especialmente forzar la
integridad) es más complejo.
Relaciones
Encontrar el nivel adecuado de particionamiento
dentro de este rango.
13
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
14
Correctez de la Fragmentación
Tipos de Fragmentación
Completez.
La descomposición de una relación R en fragmentos R1, R2,
..., Rn, es completa si y sólo si cada elemento de datos en R
puede ser encontrado en algún Ri.
Reconstrucción.
Si la relación R se descompone en fragmentos R1, R2, ..., Rn,
debiera existir un operador relacional ∇ tal que R = ∇Ri,
Ri ∈ FR .
Excluyente.
Si la relación R se descompone en fragmentos R1, R2, ..., Rn,
y datos del elemento di están en Rj, entonces di no debiera
estar en algún otro fragmento Rk (j ≠ k).
Fragmentación horizontal (FH).
Fragmentación horizontal primaria (FHP).
Fragmentación horizontal derivada (FHD).
Fragmentación vertical (FV).
Fragmentación híbrida o mixta (FM).
15
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
16
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
Alternativas: Fragmentación Horizontal
Fragmentación Horizontal
Presupuesto
J
La relación r se divide en cierto número de subconjuntos
de tuplas, r1, r2, ... , rn .
Se define como una selección de la relación global r,
utilizando un predicado P1
ri = σP1 (r)
Cada Tupla de la relacion r debe pertenecer al menos a
uno de los fragmentos
Se puede reconstruir tomando la unión de todos los
fragmentos
r = r1 ∪ r2 ∪ ... ∪ rn
J1: Proyectos con presupuesto
menor que $200,000.
J2: Proyectos con presupuesto
mayor o igual a $200,000.
JNO
JNAME
BUDGET
LOC
J1
J2
J3
J4
J5
Instrumentation
Database Develop.
CAD/CAM
Maintenance
CAD/CAM
150000
135000
250000
310000
500000
Montreal
New York
New York
Paris
Boston
J1
J2
JNO
LOC
JNO
JNAME
BUDGET
LOC
Montreal
New York
J3
J4
J5
CAD/CAM
Maintenance
CAD/CAM
250000
310000
500000
New York
Paris
Boston
J1
J2
JNAME
BUDGET
Instrumentation
150000
Database Develop. 135000
J1 = σBUDGET<200000 (J)
J2 = σBUDGET≥200000 (J)
17
M. en C. José Mario Martínez Castro
Base de Datos Distribuidas – Unidad II
18
Base de Datos Distribuidas – Unidad II
FHP - Requerimientos de Información
FHP - Requerimientos de Información
Información de la base de datos:
Relaciones
S
TITLE, SAL
E
L1
J
ENO, ENAME, TITLE
L2
JNO, JNAME, BUDGET, LOC
L3
G
ENO, JNO, RESP, DUR
Cardinalidad de cada relación: card(R).
Información de la aplicación:
Predicados simples: Dada R[A1,A2,...An], un predicado
simple pj es
pj : Ai θ Valor
donde θ ∈{=, ≠, <, ≤, >, ≥}, Valor ∈Di y Di es el
dominio de Ai.
Ejemplo:
JNAME = ‘Maintenance’
BUDGET ≤ 200000.
Predicados minterm: Dado Ri y Pri = {pi1, pi2, ..., pim}
definir Mi = {mi1, mi2, ..., miz} como
Mi = {mij |mij = vpik ∈ Pri pik*}, 1≤ k≤ m, 1≤ j≤ z
donde pik*= pi o pik*= ¬ pi.
19
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
M. en C. José Mario Martínez Castro
20
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
FHP - Requerimientos de Información
FHP - Requerimientos de Información
Ejemplos de predicados minterm:
m1 : JNAME = ‘Maintenance’ BUDGET ≤ 200000
m2 : ¬ (JNAME = ‘Maintenance’) BUDGET ≤ 200000
m3 : JNAME = ‘Maintenance’ ¬ (BUDGET ≤ 200000)
m4 : ¬ (JNAME = ‘Maintenance’) ¬ (BUDGET ≤ 200000)
Información de la aplicación:
Selectividad de predicados minterm: sel(mj)
Número de tuplas de la relación que son accesadas
por una consulta de usuario la cual está especificada
por un predicado minterm mj dado.
Frecuencias de acceso: acc(qj)
Frecuencia con la cual la aplicación qj accesa datos.
Análogamente se puede definir la frecuencia de
acceso para un predicado minterm.
21
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
Fragmentación Horizontal Primaria
22
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
FHP - Obtención de Predicados Simples
Definición:
Rij = σ Fj(Ri), 1≤ j≤ w
donde Fj es la fórmula de selección usada para obtener el fragmento Rij, el cual es (preferentemente) un predicado minterm.
Por lo tanto:
Una fragmentación horizontal Ri de una relación R consiste de
todas las tuplas de R las cuales satisfacen un predicado minterm.
Dado un conjunto de predicados minterm M, hay tantas
fragmentaciones horizontales de la relación R como predicados
minterm existan.
A los fragmentos horizontales también se les llama fragmentos
minterm.
Dados: Una relación R, y el conjunto de predicados simples Pr.
Obtener: El conjunto de fragmentos de R = {R1, R2, ..., Rw}
los cuales obedecen las reglas de fragmentación.
Preliminares:
Pr debe ser completo.
Pr debe ser mínimo.
23
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
24
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
Completez de los Predicados Simples
Completez de los Predicados Simples
Ejemplo:
Se dice que un conjunto de predicados simples Pr es completo si y sólo si el acceso a las tuplas de los fragmentos
minterm definidos sobre Pr requiere que dos tuplas del
mismo fragmento minterm tengan la misma probabilidad
de ser accesadas por todas y cada una de las aplicaciones.
Suponemos que J(JNO, JNAME, BUDGET, LOC) tiene dos
aplicaciones definidas para trabajar sobre J:
Encontrar los presupuestos de los proyectos en cada
localidad.
Encontrar los proyectos con presupuesto menor que
$200000.
25
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
26
Base de Datos Distribuidas – Unidad II
Completez de los Predicados Simples
M. en C. José Mario Martínez Castro
Minimalidad de los Predicados Simples
De acuerdo a (1)
Pr = {LOC=“Montreal”, LOC=“New York”, LOC=“Paris”}
lo cual no es completo con respecto a (2).
Si modificamos
Pr = {LOC=“Montreal”, LOC=“New York”, LOC=“Paris”,
BUDGET≤200000, BUDGET>200000}
Si un predicado influye en cómo se ejecuta la fragmentación (v.g. provoca que un fragmento f se particione en
nuevos fragmentos fi y fj), entonces debiera existir al
menos una aplicación que accese a fi y fj diferentemente.
En otras palabras el predicado simple deberá ser relevante
en determinar una fragmentación.
Si todos los predicados de un conjunto Pr son relevantes,
entonces Pr es mínimo.
el cual es completo.
27
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
28
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
Relevancia de los Predicados Simples
Minimalidad de los Predicados Simples
Ejemplo
Sean mi y mj dos predicados minterm idénticos en su definición, excepto que mi contiene el predicado simple pi mientras que mj contiene ¬ pi, y sean fi y fj dos fragmentos definidos de acuerdo a mi y mj; entonces pi es relevante si y sólo si
acc(mi)
card(fi)
≠
Pr = {LOC=“Montreal”, LOC=“New York”, LOC=“Paris”,
BUDGET≤200000, BUDGET>200000}
es mínimo además de ser completo.
Sin embargo, si agregamos
acc(mj)
card(fj)
JNAME=“Instrumentation”
entonces Pr no es mínimo.
29
M. en C. José Mario Martínez Castro
Base de Datos Distribuidas – Unidad II
30
FHP - Ejemplo
FHP - Ejemplo
Dos relaciones candidatas: S y J.
Fragmentación de la relación S:
Fragmentación de la relación S (continúa):
Implicaciones:
Aplicación: verificar salario y determinar aumento.
Los registros de empleados se manipulan en dos sitios => la
aplicación corre en dos sitios.
Predicados simples:
p1 : SAL ≤ 30000
p2 : SAL > 30000
Pr : {p1, p2} el cual es completo y mínimo Pr’ = Pr
Predicados minterm:
m1 : (SAL ≤ 30000) (SAL > 30000)
m2 : (SAL ≤ 30000) ¬ (SAL > 30000)
m3 : ¬ (SAL ≤ 30000) (SAL > 30000)
m4 : ¬ (SAL ≤ 30000) ¬ (SAL > 30000)
i1 : (SAL ≤ 30000) => ¬ (SAL > 30000)
i2 : ¬ (SAL ≤ 30000) => (SAL > 30000)
i3 : (SAL > 30000) => ¬ (SAL ≤ 30000)
i4 : ¬ (SAL > 30000) => (SAL ≤ 30000)
m1 es contradictorio a i1, m4 es contradictorio a i2
S2
S1
TITLE
SAL
TITLE
SAL
Mech. Eng.
Programmer
27000
24000
Elect. Eng.
Syst. Anal.
40000
34000
31
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
32
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
FHP - Ejemplo
FHP - Ejemplo
Fragmentación de la relación J:
Aplicaciones:
Encontrar el nombre y el presupuesto de los proyectos dado su
número. Estas consultas son emitidas en tres sitios.
Accesar la información del proyecto de acuerdo a su
presupuesto.
Predicados simples para la aplicación (1):
p1 : LOC = “Montreal”
p2 : LOC = “New York”
p3 : LOC = “Paris”
Predicados simples para la aplicación (2):
p4 : BUDGET ≤ 200000
p5 : BUDGET > 200000
Pr = Pr’ = {p1, p2, p3, p4, p5}
Fragmentación de la relación J (continúa):
Fragmentos minterm después de la eliminación:
m1 : (LOC = “Montreal”) (BUDGET ≤ 200000)
m2 : (LOC = “Montreal”) (BUDGET > 200000)
m3 : (LOC = “New York”) (BUDGET ≤ 200000)
m4 : (LOC = “New York”) (BUDGET > 200000)
m5 : (LOC = “Paris”) (BUDGET ≤ 200000)
m6 : (LOC = “Paris”) (BUDGET > 200000)
33
M. en C. José Mario Martínez Castro
Base de Datos Distribuidas – Unidad II
34
Fragmentación Horizontal Derivada
FHP - Ejemplo
J1
J2
JNO
JNAME
BUDGET
LOC
JNO
J1
Instrumentation
150000
Montreal
J2
M. en C. José Mario Martínez Castro
Base de Datos Distribuidas – Unidad II
JNAME
BUDGET
Database Develop. 135000
LOC
New York
Definida sobre una relación miembro de una liga según
una operación de selección especificada sobre su relación
propietaria.
Cada enlace corresponde a una equireunión.
S
TITLE, SAL
J6
J4
JNO
JNAME
BUDGET
LOC
JNO
JNAME
BUDGET
LOC
J3
CAD/CAM
250000
New York
J4
Maintenance
310000
Paris
E
L1
J
ENO, ENAME, TITLE
L2
JNO, JNAME, BUDGET, LOC
L3
G
ENO, JNO, RESP, DUR
35
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
36
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
FHD - Ejemplo
FHD - Definición
Dado el enlace L1, donde propietario(L1)=S y
miembro(L1)=E
E1= E S1
E2= E S2
donde
S1= σSAL ≤30000(S)
S2= σSAL >30000(S)
Dado un enlace L donde propietario(L)=S y miembro(L)=R,
la fragmentación horizontal derivada de R se define como
Ri = R
Si, 1 ≤ i ≤ w
Donde w es el número máximo de fragmentos que serán
definidos en R, y Si = σFi(S), donde Fi es la formula mediante
la cual se define la fragmentación horizontal primaria Si.
Ε1
Ε2
ENO ENAME
TITLE
E3
A. Lee Mech. Eng.
E4 J. Miller Programmer
E7 R. Davis Mech. Eng.
ENO
E1
E2
E5
E6
E8
ENAME
TITLE
J. Doe
Elect. Eng.
M. Smith Syst. Anal.
B. Casey Syst. Anal.
L. Chu
Elect. Eng.
J. Jones Syst. Anal.
37
M. en C. José Mario Martínez Castro
Base de Datos Distribuidas – Unidad II
38
FHD - Correctez
Fragmentación Vertical
Completez.
Integridad referencial.
Sea R la relación miembro de un enlace cuyo propietario es la relación S la cual está fragmentada como Fs =
{S1, S2, ..., Sw}. Además sea A el atributo de la reunión
entre R y S. Entonces para cada tupla t de R, debiera
existir una tupla t’ de S tal que t[A] = t’[A]
Reconstrucción.
Igual que la de la fragmentación horizontal primaria.
Exclusión.
Si el grafo de la reunión entre el propietario y los fragmentos miembro es simple.
La relación R se divide en cierto número de subconjuntos
de tuplas, R1, R2, ... , Rn .
Se define como una descomposición de la relación R.
ri = ΠRi (r)
Se debe incluir la llave primaria en cada fragmento
Cada Atributo de la relacion R debe pertenecer solo a uno
de los fragmentos, a excepción de la llave primaria
Se puede reconstruir tomando la reunión natural de todos
los fragmentos
r = r1 r2 ... rn
39
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
40
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
FV - Correctez
Alternativas: Fragmentación Vertical
Presupuesto
J
Una relación R, definida sobre un conjunto de atributos A
y clave K, genera la partición vertical FR={R1, R2, ..., Rr}.
J1: Información de los presupuestos
de los proyectos.
Completez. Lo siguiente debiera satisfacerse:
A = ∪Ai
Reconstrucción. La reconstrucción puede efectuarse
mediante
R = K Ri, ∀ Ri ∈ FR
Exclusión.
Los identificadores no se consideran para ser traslapados ya que son mantenidos por el sistema.
Las llaves duplicadas no se consideran para ser
traslapadas.
JNO
JNAME
BUDGET
LOC
J1
J2
J3
J4
J5
Instrumentation
Database Develop.
CAD/CAM
Maintenance
CAD/CAM
150000
135000
250000
310000
500000
Montreal
New York
New York
Paris
Boston
J2: Información de los nombres de
los proyectos y su ubicación.
J1
J2
JNO BUDGET
JNO
JNAME
LOC
J1
J2
J3
J4
J5
Instrumentation
Database Develop.
CAD/CAM
Maintenance
CAD/CAM
Montreal
New York
New York
Paris
Boston
J1
J2
J3
J4
J5
150000
135000
250000
310000
500000
J1 = ΠJNO, BUDGET (J)
J2 = ΠJNO, JNAME, LOC (J)
41
M. en C. José Mario Martínez Castro
Base de Datos Distribuidas – Unidad II
42
Fragmentación Vertical
Fragmentación Vertical
Ha sido estudiada dentro del contexto centralizado.
Metodología de diseño.
Agrupamiento físico.
Más difícil que la horizontal, debido a que existen más
alternativas.
Existen dos técnicas:
Agrupamiento de atributos en fragmentos.
División de la relación en fragmentos.
Traslape de fragmentos.
Agrupamiento.
Sin traslape de fragmentos.
División.
No se considera traslape en los atributos llave replicados.
Ventaja: facilita hacer cumplir las dependencias funcionales
(para verificar integridad, etc.)
43
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
44
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
Distribución de Fragmentos
Fragmentación Híbrida
Planteamiento del problema:
Dado
F = {F1, F2,...,Fn} es el conjunto de fragmentos.
S = {S1, S2, ..., Sm} es el conjubto de sitios en la red, y
Q = {q1, q2, ..., qq} es el conjunto de aplicaciones,
encontrar la distribución “óptima” de F en S.
R
FH
FH
R1
FV
R2
FV
FV
FV
FV
R11
R12
R21
R22
R23
45
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
46
Distribución de Fragmentos
Distribución
Optimalidad
Problema de distribución de archivos (FAP) vs. problema de
distribución de base de datos (DAP).
Costo minimo.
Comunicación + Almacenamiento + Procesamiento (lectura
y actualizaciones).
Costo en términos de tiempo (usualmente).
Eficiencia.
Tiempo de respuesta.
Restricciones.
Restricciones por sitio (almacenaje y procesamiento).
Los fragmentos no pueden tratarse como archivos individuales.
Se tienen que tomar en cuenta sus relaciones.
El acceso a la base de datos es más complicado.
El modelo de acceso a archivos remotos no aplica.
Relación entre distribución y procesamiento de
consultas.
El costo de mantener la integridad debe considerarse.
El costo del control de concurrencia debe considerarse.
47
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
48
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
Distribución - Requerimientos de Información
Distribución - Requerimientos de Información
Información de la base de datos:
Selectividad de fragmentos minterm.
Tamaño de los fragmentos.
Información de las aplicaciones:
Número de accesos de lectura de una consulta a un
fragmento.
Número de accesos de actualización a un fragmento.
Una matriz que indique cuáles consultas actualizan qué
fragmentos.
Una matriz similar para las lecturas.
Sitio de origen de cada consulta.
Información de los sitios:
Unidad de costo de almacenar datos en un sitio.
Unidad de costo de procesar datos en un sitio.
Información de la red:
Costo de comunicación de una trama entre dos sitios.
Tamaño de la trama.
49
M. en C. José Mario Martínez Castro
Base de Datos Distribuidas – Unidad II
50
Modelo de Distribución
Modelo de Distribución
Forma general
Costo Total :
Σ todas las consultas costo de procesamiento de consulta +
Σ todos los sitios Σ todos los fragmentos costo de almacenaje de un frag. en un sitio
Costo de almacenaje (del fragmento Fj en Sk):
(unidad de costo de almacenaje en Sk) * (tamaño de Fj) * xjk
Costo de procesamiento de consulta:
componente de procesamiento + componente de transmisión
min(costo total)
sujeto a
restricciones de tiempo de respuesta
restricción de almacenaje
restricción de procesamiento
variables de decisión:
1 si el fragmento Fi se almacena en el sitio Sj
xij =
0 en caso contrario
51
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
52
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
Modelo de Distribución
Modelo de Distribución
Componente de procesamiento:
costo de acceso + costo de mantenimiento de integridad
+ costo de control de concurrencia
Costo de Acceso:
Σ todos los sitios Σ todos los fragmentos (no. de accesos de actualización
+ no. de accesos de lectura) * xjk
* costo de procesamiento local en un sitio
Los costos de mantenimiento de integridad y de control de
concurrencia se pueden formaular de una manera similar.
Componente de Transmisión:
costo de procesar actualizaciones + costo de procesar
lecturas
Costo de actualizaciones:
Σ todos los sitios Σ todos los fragmentos costo del mensaje de actualizar +
Σ todos los sitios Σ todos los fragmentos costo de confirmación
Costo de lecturas:
Σ todos los fragmentos min todos los sitios (costo del comando de recuperación +
costo de enviar los resultados)
53
M. en C. José Mario Martínez Castro
Base de Datos Distribuidas – Unidad II
Problema - Separación de los Pasos de Diseño
Modelo de Distribución
54
M. en C. José Mario Martínez Castro
Base de Datos Distribuidas – Unidad II
Relaciones Globales
Restricciones:
Tiempo de respuesta:
tiempo de ejecución de la consulta
≤ max. tiempo de resp. permisible para esa consulta
Almacenamiento:
Σ todos los fragmentos reqs. de almacenaje de un fragmento en ese sitio
≤ capacidad de almacenaje de ese sitio
Procesamiento:
Σ todas las consultas carga de proc. de una consultas en ese sitio
≤ capacidad de procesamiento de ese sitio
FRAGMENTACION
Fragmentos de Relaciones
DISTRIBUCION
Relaciones Locales
55
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
56
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
Comparación de Alternativas de Réplica
Alternativas de Asignación
Réplica Total
No Replicado.
Particionada: cada fragmento reside en un solo sitio.
Replicado.
Réplica completa: cada fragmento en cada sitio.
Réplica parcial: cada fragmento en algunos de los
sitios.
Regla del pulgar:
Consultas sólo de lectura
Si Consultas para actualizar ≥ 1 replicación es ventajosa,
de lo contrario la réplica puede causar problemas.
PROCESAMIENTO
DE CONSULTAS
Fácil
ADMINISTRACION
DE DICCIONARIO
Fácil o
no existente
Réplica Parcial Particionado
Misma
Dificultad
Misma
Dificultad
CONTROL DE
CONCURRENCIA
Moderado
Difícil
Fácil
FIABILIDAD
Muy Alta
Alta
Baja
Posible
Aplicación
Realista
FACTIBILIDAD
Posible
Aplicación
57
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
58
M. en C. José Mario Martínez Castro
Base de Datos Distribuidas – Unidad II
Procesamiento de Consultas
Consulta de usuario
en alto nivel
PROCESAMIENTO
PROCESAMIENTO DE
DE
CONSULTAS
CONSULTAS DISTRIBUIDAS
DISTRIBUIDAS
Procesador
de consultas
Comandos de manipulación de
datos en bajo nivel
59
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
60
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
Alternativas de Selección
Componentes del Procesamiento de Consultas
SELECT
FROM
WHERE
AND
Lenguaje de consultas utilizado.
SQL “Intergalactic Dataspeak”.
Metodología de ejecución de consultas.
Los pasos necesarios para ejecutar una consulta de alto
nivel (declarativa).
Optimización de consultas.
¿Cómo determinar el “mejor” plan de ejecución?
ENAME
E, G
E.ENO = G.ENO
DUR > 37
Estrategia 1
ΠENAME(σDUR>37 ∧ E.ENO=G.ENO(E × G))
Estrategia 2
ΠENAME( E
ENO (σDUR>37(G)))
La estrategia 2 reduce el producto cartesiano, así que es “mejor”
61
M. en C. José Mario Martínez Castro
Base de Datos Distribuidas – Unidad II
62
M. en C. José Mario Martínez Castro
Base de Datos Distribuidas – Unidad II
¿Cuál es el Problema?
¿Cuál es el Problema?
Sitio 1
Sitio 2
Sitio 3
Sitio 4
Sitio 5
Sitio 1
Sitio 2
Sitio 3
Sitio 4
Sitio 5
G1= σENO≤“E3”(G)
G2= σENO>“E3”(G)
E1= σENO≤“E3”(E)
E2= σENO>“E3”(E)
Resultado
G1= σENO≤“E3”(G)
G2= σENO>“E3”(G)
E1= σENO≤“E3”(E)
E2= σENO>“E3”(E)
Resultado
Estrategia 1
Estrategia 2
Sitio 5
Sitio 5
Resultado = (E1 ∪ E2)
Resultado = E1’ ∪ E2’
Sitio 3
E1’ = E1
Sitio 4
ENO
G 1’
G 1’
Sitio 1
G1’ = σDUR>37(G1)
E2’ = E2
ENO
G2’
G1
G2
Sitio 1
Sitio 2
E1
Sitio 3
∪ G 2)
E2
Sitio 4
G2’
Sitio 2
G2’ = σDUR>37(G2)
63
Base de Datos Distribuidas – Unidad II
ENO σDUR>37(G1
M. en C. José Mario Martínez Castro
64
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
Alternativas de Costo
Suponer lo siguiente:
tamaño(E) = 400, tamaño (G) = 1000
costo de acceso a tuplas = 1 unidad; costo de trasferir una tupla = 10 unidades
Estrategia 1.
1. Producir G’: 20*costo de acceso a tupla
20
2. Transferir G’ a los lugares de E: 20*costo de transferir tupla
200
3. Producir E’: (20*20)*costo de acceso a tupla
800
4. Transferir E’ a los lugares resultantes: 20*costo de trasferir tupla
200
Costo Total
1,220
Estrategia 2.
1. Transferir E al lugar 5: 400*costo de transferir tupla
4,000
2. Transferir E al lugar 5: 1,000*costo de transferir tupla
10,000
3. Producir G’: 1,000*costo de acceso a tupla
1,000
4. Reunión de E y G’: 20*1,000*costo de acceso a tupla
20,000
Costo Total
35,000
65
Base de Datos Distribuidas – Unidad II
M. en C. José Mario Martínez Castro
Descargar