05.03.2015 Views

BDD Bases de Datos Distribuidas

BDD Bases de Datos Distribuidas

BDD Bases de Datos Distribuidas

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>BDD</strong><br />

<strong>Bases</strong> <strong>de</strong> <strong>Datos</strong> <strong>Distribuidas</strong><br />

Integrantes:<br />

Miguel Marchetti.<br />

Guillermo Vera.


Introducción<br />

¿Porque Hablamos De <strong>BDD</strong>?<br />

1) Conceptos Básicos.<br />

1.1) Sistema De Computación<br />

Distribuído.<br />

1.2) Base De <strong>Datos</strong> Distribuída<br />

(Bdd).<br />

1.3) Sistema De Gestión De Base De<br />

<strong>Datos</strong> Distribuído (Ddbms).<br />

1.3.1) Características SA<strong>BDD</strong>.<br />

1.3.2) Funciones De Un<br />

SA<strong>BDD</strong>.<br />

1.4) Nodo O Emplazamiento<br />

1.5) Re<strong>de</strong>s De Comunicación<br />

1.5.1) Red De Área Local<br />

(Local Area Network)<br />

1.5.2) Red De Área Amplia<br />

(Long-haul Network)<br />

2) Base De <strong>Datos</strong> <strong>Distribuidas</strong><br />

3) Razones Para Construir Un Sistema<br />

Distribuido<br />

4) Tipos De Transacciones<br />

4.1) Locales:<br />

4.2) Globales:<br />

5) Ventajas De Las Bds <strong>Distribuidas</strong><br />

6) Desventajas De Las Bds <strong>Distribuidas</strong><br />

7) Condiciones Deseables De Una BD<br />

Distribuida<br />

8) Tipos De Bds <strong>Distribuidas</strong><br />

8.1) Homogéneas:<br />

8.2) Heterogéneas O Multibases De<br />

<strong>Datos</strong><br />

9) Arquitectura De Los Dbmss<br />

Distribuidos<br />

9.1) Cliente-servidor<br />

9.2) Servidores Cooperantes<br />

9.3) De Una Vía Centralizada<br />

10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un<br />

DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

Introducción<br />

Las <strong>BDD</strong> son la unión <strong>de</strong> dos conceptos<br />

los DBMS y la tecnología <strong>de</strong> re<strong>de</strong>s <strong>de</strong><br />

computadores.<br />

Los DBMS se basan en un paradigma <strong>de</strong><br />

procesamiento <strong>de</strong> datos, que poseen una<br />

data única que es <strong>de</strong>finida y administrada<br />

en un punto <strong>de</strong> control centralizado.<br />

La tecnología <strong>de</strong> re<strong>de</strong>s <strong>de</strong> computadores,<br />

promueve un modo <strong>de</strong> trabajo que va en<br />

contra <strong>de</strong> todo esfuerzo <strong>de</strong> centralización.<br />

La i<strong>de</strong>a consiste en lograr la integración y<br />

distribución y que ambos enfoques<br />

no pierdan su naturaleza esencial.


Introducción<br />

¿Porque Hablamos De <strong>BDD</strong>?<br />

1) Conceptos Básicos.<br />

1.1) Sistema De Computación<br />

Distribuído.<br />

1.2) Base De <strong>Datos</strong> Distribuída<br />

(Bdd).<br />

1.3) Sistema De Gestión De Base De<br />

<strong>Datos</strong> Distribuído (Ddbms).<br />

1.3.1) Características SA<strong>BDD</strong>.<br />

1.3.2) Funciones De Un<br />

SA<strong>BDD</strong>.<br />

1.4) Nodo O Emplazamiento<br />

1.5) Re<strong>de</strong>s De Comunicación<br />

1.5.1) Red De Área Local<br />

(Local Area Network)<br />

1.5.2) Red De Área Amplia<br />

(Long-haul Network)<br />

2) Base De <strong>Datos</strong> <strong>Distribuidas</strong><br />

3) Razones Para Construir Un Sistema<br />

Distribuido<br />

4) Tipos De Transacciones<br />

4.1) Locales:<br />

4.2) Globales:<br />

5) Ventajas De Las Bds <strong>Distribuidas</strong><br />

6) Desventajas De Las Bds <strong>Distribuidas</strong><br />

7) Condiciones Deseables De Una BD<br />

Distribuida<br />

8) Tipos De Bds <strong>Distribuidas</strong><br />

8.1) Homogéneas:<br />

8.2) Heterogéneas O Multibases De<br />

<strong>Datos</strong><br />

9) Arquitectura De Los Dbmss<br />

Distribuidos<br />

9.1) Cliente-servidor<br />

9.2) Servidores Cooperantes<br />

9.3) De Una Vía Centralizada<br />

10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un<br />

DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

Introducción


Introducción<br />

¿Porque Hablamos De <strong>BDD</strong>?<br />

1) Conceptos Básicos.<br />

1.1) Sistema De Computación<br />

Distribuído.<br />

1.2) Base De <strong>Datos</strong> Distribuída<br />

(Bdd).<br />

1.3) Sistema De Gestión De Base De<br />

<strong>Datos</strong> Distribuído (Ddbms).<br />

1.3.1) Características SA<strong>BDD</strong>.<br />

1.3.2) Funciones De Un<br />

SA<strong>BDD</strong>.<br />

1.4) Nodo O Emplazamiento<br />

1.5) Re<strong>de</strong>s De Comunicación<br />

1.5.1) Red De Área Local<br />

(Local Area Network)<br />

1.5.2) Red De Área Amplia<br />

(Long-haul Network)<br />

2) Base De <strong>Datos</strong> <strong>Distribuidas</strong><br />

3) Razones Para Construir Un Sistema<br />

Distribuido<br />

4) Tipos De Transacciones<br />

4.1) Locales:<br />

4.2) Globales:<br />

5) Ventajas De Las Bds <strong>Distribuidas</strong><br />

6) Desventajas De Las Bds <strong>Distribuidas</strong><br />

7) Condiciones Deseables De Una BD<br />

Distribuida<br />

8) Tipos De Bds <strong>Distribuidas</strong><br />

8.1) Homogéneas:<br />

8.2) Heterogéneas O Multibases De<br />

<strong>Datos</strong><br />

9) Arquitectura De Los Dbmss<br />

Distribuidos<br />

9.1) Cliente-servidor<br />

9.2) Servidores Cooperantes<br />

9.3) De Una Vía Centralizada<br />

10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un<br />

DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query<br />

¿Porque Hablamos De <strong>BDD</strong>?<br />

¿Por qué son necesarias las bases <strong>de</strong><br />

datos distribuidas?<br />

Para administrar datos distribuidos<br />

geográfica o administrativamente<br />

En general las empresas están ya<br />

distribuidas <strong>de</strong> manera lógica por<br />

lo que se <strong>de</strong>duce que los datos<br />

también estén distribuidos.<br />

Una base <strong>de</strong> datos distribuida<br />

permite reflejar la estructura<br />

lógica <strong>de</strong> la empresa.


Introducción<br />

¿Porque Hablamos De <strong>BDD</strong>?<br />

1) Conceptos Básicos.<br />

1.1) Sistema De Computación<br />

Distribuído.<br />

1.2) Base De <strong>Datos</strong> Distribuída<br />

(Bdd).<br />

1.3) Sistema De Gestión De Base De<br />

<strong>Datos</strong> Distribuído (Ddbms).<br />

1.3.1) Características SA<strong>BDD</strong>.<br />

1.3.2) Funciones De Un<br />

SA<strong>BDD</strong>.<br />

1.4) Nodo O Emplazamiento<br />

1.5) Re<strong>de</strong>s De Comunicación<br />

1.5.1) Red De Área Local<br />

(Local Area Network)<br />

1.5.2) Red De Área Amplia<br />

(Long-haul Network)<br />

2) Base De <strong>Datos</strong> <strong>Distribuidas</strong><br />

3) Razones Para Construir Un Sistema<br />

Distribuido<br />

4) Tipos De Transacciones<br />

4.1) Locales:<br />

4.2) Globales:<br />

5) Ventajas De Las Bds <strong>Distribuidas</strong><br />

6) Desventajas De Las Bds <strong>Distribuidas</strong><br />

7) Condiciones Deseables De Una BD<br />

Distribuida<br />

8) Tipos De Bds <strong>Distribuidas</strong><br />

8.1) Homogéneas:<br />

8.2) Heterogéneas O Multibases De<br />

<strong>Datos</strong><br />

9) Arquitectura De Los Dbmss<br />

Distribuidos<br />

9.1) Cliente-servidor<br />

9.2) Servidores Cooperantes<br />

9.3) De Una Vía Centralizada<br />

10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un<br />

DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query<br />

Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

SISTEMA DE COMPUTACIÓN DISTRIBUÍDO.<br />

Es un número <strong>de</strong> elementos <strong>de</strong><br />

procesamiento (no necesariamente<br />

homogéneos) que están<br />

interconectados en una red <strong>de</strong><br />

computadores y que cooperan para<br />

realizar las tareas que tienen<br />

asignadas.


Introducción<br />

¿Porque Hablamos De <strong>BDD</strong>?<br />

1) Conceptos Básicos.<br />

1.1) Sistema De Computación<br />

Distribuído.<br />

1.2) Base De <strong>Datos</strong> Distribuída<br />

(Bdd).<br />

1.3) Sistema De Gestión De Base De<br />

<strong>Datos</strong> Distribuído (Ddbms).<br />

1.3.1) Características SA<strong>BDD</strong>.<br />

1.3.2) Funciones De Un<br />

SA<strong>BDD</strong>.<br />

1.4) Nodo O Emplazamiento<br />

1.5) Re<strong>de</strong>s De Comunicación<br />

1.5.1) Red De Área Local<br />

(Local Area Network)<br />

1.5.2) Red De Área Amplia<br />

(Long-haul Network)<br />

2) Base De <strong>Datos</strong> <strong>Distribuidas</strong><br />

3) Razones Para Construir Un Sistema<br />

Distribuido<br />

4) Tipos De Transacciones<br />

4.1) Locales:<br />

4.2) Globales:<br />

5) Ventajas De Las Bds <strong>Distribuidas</strong><br />

6) Desventajas De Las Bds <strong>Distribuidas</strong><br />

7) Condiciones Deseables De Una BD<br />

Distribuida<br />

8) Tipos De Bds <strong>Distribuidas</strong><br />

8.1) Homogéneas:<br />

8.2) Heterogéneas O Multibases De<br />

<strong>Datos</strong><br />

9) Arquitectura De Los Dbmss<br />

Distribuidos<br />

9.1) Cliente-servidor<br />

9.2) Servidores Cooperantes<br />

9.3) De Una Vía Centralizada<br />

10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un<br />

DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query<br />

Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

Base De <strong>Datos</strong> Distribuída (<strong>BDD</strong>).<br />

Es una colección <strong>de</strong> múltiples bases <strong>de</strong><br />

datos lógicamente interrelacionadas y<br />

repartidas sobre un sistema <strong>de</strong> computo<br />

distribuído.


Introducción<br />

¿Porque Hablamos De <strong>BDD</strong>?<br />

1) Conceptos Básicos.<br />

1.1) Sistema De Computación<br />

Distribuído.<br />

1.2) Base De <strong>Datos</strong> Distribuída<br />

(Bdd).<br />

1.3) Sistema De Gestión De Base De<br />

<strong>Datos</strong> Distribuído (Ddbms).<br />

1.3.1) Características SA<strong>BDD</strong>.<br />

1.3.2) Funciones De Un<br />

SA<strong>BDD</strong>.<br />

1.4) Nodo O Emplazamiento<br />

1.5) Re<strong>de</strong>s De Comunicación<br />

1.5.1) Red De Área Local<br />

(Local Area Network)<br />

1.5.2) Red De Área Amplia<br />

(Long-haul Network)<br />

2) Base De <strong>Datos</strong> <strong>Distribuidas</strong><br />

3) Razones Para Construir Un Sistema<br />

Distribuido<br />

4) Tipos De Transacciones<br />

4.1) Locales:<br />

4.2) Globales:<br />

5) Ventajas De Las Bds <strong>Distribuidas</strong><br />

6) Desventajas De Las Bds <strong>Distribuidas</strong><br />

7) Condiciones Deseables De Una BD<br />

Distribuida<br />

8) Tipos De Bds <strong>Distribuidas</strong><br />

8.1) Homogéneas:<br />

8.2) Heterogéneas O Multibases De<br />

<strong>Datos</strong><br />

9) Arquitectura De Los Dbmss<br />

Distribuidos<br />

9.1) Cliente-servidor<br />

9.2) Servidores Cooperantes<br />

9.3) De Una Vía Centralizada<br />

10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un<br />

DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query<br />

Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

Sistema De Gestión De Base De <strong>Datos</strong><br />

Distribuído (DDBMS).<br />

Un sistema <strong>de</strong> gestión <strong>de</strong> bases <strong>de</strong><br />

datos distribuidas (SG<strong>BDD</strong>) es el<br />

software que permite el manejo <strong>de</strong><br />

bases <strong>de</strong> datos distribuidas y que hace<br />

dicha distribución transparente al<br />

usuario, es <strong>de</strong>cir, los usuarios actúan<br />

como si todo estuviese junto en una sola<br />

base <strong>de</strong> datos.<br />

Transparente significa: las<br />

aplicaciones trabajaran, <strong>de</strong>s<strong>de</strong> un punto<br />

<strong>de</strong> vista lógico, como sí un solo SGBD<br />

ejecutado en una sola máquina,<br />

administrara esos datos.


Introducción<br />

¿Porque Hablamos De <strong>BDD</strong>?<br />

1) Conceptos Básicos.<br />

1.1) Sistema De Computación<br />

Distribuído.<br />

1.2) Base De <strong>Datos</strong> Distribuída<br />

(Bdd).<br />

1.3) Sistema De Gestión De Base De<br />

<strong>Datos</strong> Distribuído (Ddbms).<br />

1.3.1) Características SA<strong>BDD</strong>.<br />

1.3.2) Funciones De Un<br />

SA<strong>BDD</strong>.<br />

1.4) Nodo O Emplazamiento<br />

1.5) Re<strong>de</strong>s De Comunicación<br />

1.5.1) Red De Área Local<br />

(Local Area Network)<br />

1.5.2) Red De Área Amplia<br />

(Long-haul Network)<br />

2) Base De <strong>Datos</strong> <strong>Distribuidas</strong><br />

3) Razones Para Construir Un Sistema<br />

Distribuido<br />

4) Tipos De Transacciones<br />

4.1) Locales:<br />

4.2) Globales:<br />

5) Ventajas De Las Bds <strong>Distribuidas</strong><br />

6) Desventajas De Las Bds <strong>Distribuidas</strong><br />

7) Condiciones Deseables De Una BD<br />

Distribuida<br />

8) Tipos De Bds <strong>Distribuidas</strong><br />

8.1) Homogéneas:<br />

8.2) Heterogéneas O Multibases De<br />

<strong>Datos</strong><br />

9) Arquitectura De Los Dbmss<br />

Distribuidos<br />

9.1) Cliente-servidor<br />

9.2) Servidores Cooperantes<br />

9.3) De Una Vía Centralizada<br />

10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un<br />

DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query<br />

Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

Características SA<strong>BDD</strong>.<br />

• Una colección <strong>de</strong> datos compartidos y<br />

relacionados lógicamente.<br />

• Los datos están divididos en<br />

fragmentos.<br />

• Los fragmentos se pue<strong>de</strong>n duplicar.<br />

• Los fragmentos se colocan en varios<br />

emplazamientos (computadores).<br />

• Dichos emplazamientos están<br />

conectados por una red.<br />

• Los datos <strong>de</strong> cada emplazamiento<br />

están bajo el control <strong>de</strong> un SABD.<br />

• Cada SABD participa en al menos una<br />

aplicación global.


Introducción<br />

¿Porque Hablamos De <strong>BDD</strong>?<br />

1) Conceptos Básicos.<br />

1.1) Sistema De Computación<br />

Distribuído.<br />

1.2) Base De <strong>Datos</strong> Distribuída<br />

(Bdd).<br />

1.3) Sistema De Gestión De Base De<br />

<strong>Datos</strong> Distribuído (Ddbms).<br />

1.3.1) Características SA<strong>BDD</strong>.<br />

1.3.2) Funciones De Un<br />

SA<strong>BDD</strong>.<br />

1.4) Nodo O Emplazamiento<br />

1.5) Re<strong>de</strong>s De Comunicación<br />

1.5.1) Red De Área Local<br />

(Local Area Network)<br />

1.5.2) Red De Área Amplia<br />

(Long-haul Network)<br />

2) Base De <strong>Datos</strong> <strong>Distribuidas</strong><br />

3) Razones Para Construir Un Sistema<br />

Distribuido<br />

4) Tipos De Transacciones<br />

4.1) Locales:<br />

4.2) Globales:<br />

5) Ventajas De Las Bds <strong>Distribuidas</strong><br />

6) Desventajas De Las Bds <strong>Distribuidas</strong><br />

7) Condiciones Deseables De Una BD<br />

Distribuida<br />

8) Tipos De Bds <strong>Distribuidas</strong><br />

8.1) Homogéneas:<br />

8.2) Heterogéneas O Multibases De<br />

<strong>Datos</strong><br />

9) Arquitectura De Los Dbmss<br />

Distribuidos<br />

9.1) Cliente-servidor<br />

9.2) Servidores Cooperantes<br />

9.3) De Una Vía Centralizada<br />

10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un<br />

DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query<br />

Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

Funciones <strong>de</strong> un SA<strong>BDD</strong>.<br />

A<strong>de</strong>más <strong>de</strong> las funciones <strong>de</strong> un SGBD<br />

centralizado, un SG<strong>BDD</strong> <strong>de</strong>be tener las<br />

siguientes funciones:<br />

- Servicios <strong>de</strong> comunicación extendidos para<br />

proporcionar acceso a localizaciones<br />

remotas y permitir la transferencia <strong>de</strong><br />

consultas y datos entre las localizaciones<br />

usando una red.<br />

- Catálogo <strong>de</strong>l sistema extendido para<br />

almacenar <strong>de</strong>talles sobre la distribución <strong>de</strong><br />

los datos.


Introducción<br />

¿Porque Hablamos De <strong>BDD</strong>?<br />

1) Conceptos Básicos.<br />

1.1) Sistema De Computación<br />

Distribuído.<br />

1.2) Base De <strong>Datos</strong> Distribuída<br />

(Bdd).<br />

1.3) Sistema De Gestión De Base De<br />

<strong>Datos</strong> Distribuído (Ddbms).<br />

1.3.1) Características SA<strong>BDD</strong>.<br />

1.3.2) Funciones De Un<br />

SA<strong>BDD</strong>.<br />

1.4) Nodo O Emplazamiento<br />

1.5) Re<strong>de</strong>s De Comunicación<br />

1.5.1) Red De Área Local<br />

(Local Area Network)<br />

1.5.2) Red De Área Amplia<br />

(Long-haul Network)<br />

2) Base De <strong>Datos</strong> <strong>Distribuidas</strong><br />

3) Razones Para Construir Un Sistema<br />

Distribuido<br />

4) Tipos De Transacciones<br />

4.1) Locales:<br />

4.2) Globales:<br />

5) Ventajas De Las Bds <strong>Distribuidas</strong><br />

6) Desventajas De Las Bds <strong>Distribuidas</strong><br />

7) Condiciones Deseables De Una BD<br />

Distribuida<br />

8) Tipos De Bds <strong>Distribuidas</strong><br />

8.1) Homogéneas:<br />

8.2) Heterogéneas O Multibases De<br />

<strong>Datos</strong><br />

9) Arquitectura De Los Dbmss<br />

Distribuidos<br />

9.1) Cliente-servidor<br />

9.2) Servidores Cooperantes<br />

9.3) De Una Vía Centralizada<br />

10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un<br />

DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query<br />

Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

Funciones <strong>de</strong> un SA<strong>BDD</strong>.<br />

- Procesamiento distribuido <strong>de</strong><br />

consultas, incluyendo optimización <strong>de</strong><br />

consultas y acceso a datos remotos.<br />

- Control <strong>de</strong> concurrencia extendido<br />

para mantener la consistencia <strong>de</strong> los<br />

datos replicados.<br />

- Servicios <strong>de</strong> recuperación extendidos<br />

que tengan en cuenta fallos en las<br />

localizaciones individuales y fallos <strong>de</strong><br />

conexiones <strong>de</strong> comunicación.


¿Porque Hablamos De <strong>BDD</strong>?<br />

1) Conceptos Básicos.<br />

1.1) Sistema De Computación<br />

Distribuído.<br />

1.2) Base De <strong>Datos</strong> Distribuída<br />

(Bdd).<br />

1.3) Sistema De Gestión De Base De<br />

<strong>Datos</strong> Distribuído (Ddbms).<br />

1.3.1) Características SA<strong>BDD</strong>.<br />

1.3.2) Funciones De Un<br />

SA<strong>BDD</strong>.<br />

1.4) Nodo O Emplazamiento<br />

1.5) Re<strong>de</strong>s De Comunicación<br />

1.5.1) Red De Área Local<br />

(Local Area Network)<br />

1.5.2) Red De Área Amplia<br />

(Long-haul Network)<br />

2) Base De <strong>Datos</strong> <strong>Distribuidas</strong><br />

3) Razones Para Construir Un Sistema<br />

Distribuido<br />

4) Tipos De Transacciones<br />

4.1) Locales:<br />

4.2) Globales:<br />

5) Ventajas De Las Bds <strong>Distribuidas</strong><br />

6) Desventajas De Las Bds <strong>Distribuidas</strong><br />

7) Condiciones Deseables De Una BD<br />

Distribuida<br />

8) Tipos De Bds <strong>Distribuidas</strong><br />

8.1) Homogéneas:<br />

8.2) Heterogéneas O Multibases De<br />

<strong>Datos</strong><br />

9) Arquitectura De Los Dbmss<br />

Distribuidos<br />

9.1) Cliente-servidor<br />

9.2) Servidores Cooperantes<br />

9.3) De Una Vía Centralizada<br />

10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un<br />

DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query<br />

Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

Nodo o Emplazamiento.<br />

Se refiere a cada uno <strong>de</strong> los<br />

or<strong>de</strong>nadores que integran el sistema <strong>de</strong><br />

<strong>Bases</strong> <strong>de</strong> <strong>Datos</strong> distribuido.


1) Conceptos Básicos.<br />

1.1) Sistema De Computación<br />

Distribuído.<br />

1.2) Base De <strong>Datos</strong> Distribuída<br />

(Bdd).<br />

1.3) Sistema De Gestión De Base De<br />

<strong>Datos</strong> Distribuído (Ddbms).<br />

1.3.1) Características SA<strong>BDD</strong>.<br />

1.3.2) Funciones De Un<br />

SA<strong>BDD</strong>.<br />

1.4) Nodo O Emplazamiento<br />

1.5) Re<strong>de</strong>s De Comunicación<br />

1.5.1) Red De Área Local<br />

(Local Area Network)<br />

1.5.2) Red De Área Amplia<br />

(Long-haul Network)<br />

2) Base De <strong>Datos</strong> <strong>Distribuidas</strong><br />

3) Razones Para Construir Un Sistema<br />

Distribuido<br />

4) Tipos De Transacciones<br />

4.1) Locales:<br />

4.2) Globales:<br />

5) Ventajas De Las Bds <strong>Distribuidas</strong><br />

6) Desventajas De Las Bds <strong>Distribuidas</strong><br />

7) Condiciones Deseables De Una BD<br />

Distribuida<br />

8) Tipos De Bds <strong>Distribuidas</strong><br />

8.1) Homogéneas:<br />

8.2) Heterogéneas O Multibases De<br />

<strong>Datos</strong><br />

9) Arquitectura De Los Dbmss<br />

Distribuidos<br />

9.1) Cliente-servidor<br />

9.2) Servidores Cooperantes<br />

9.3) De Una Vía Centralizada<br />

10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un<br />

DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query<br />

Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

Re<strong>de</strong>s <strong>de</strong> Comunicación.<br />

Una red <strong>de</strong> computadores consiste es<br />

un conjunto <strong>de</strong> computadores llamados<br />

sites o nodos que están conectados<br />

mediante algún tipo <strong>de</strong> red <strong>de</strong><br />

comunicaciones para transmitir data.<br />

Existen dos tipos <strong>de</strong> re<strong>de</strong>s:<br />

•Red <strong>de</strong> Área Local (local area network)<br />

•Red <strong>de</strong> Área Amplia (long-haul network)


1.1) Sistema De Computación<br />

Distribuído.<br />

1.2) Base De <strong>Datos</strong> Distribuída<br />

(Bdd).<br />

1.3) Sistema De Gestión De Base De<br />

<strong>Datos</strong> Distribuído (Ddbms).<br />

1.3.1) Características SA<strong>BDD</strong>.<br />

1.3.2) Funciones De Un<br />

SA<strong>BDD</strong>.<br />

1.4) Nodo O Emplazamiento<br />

1.5) Re<strong>de</strong>s De Comunicación<br />

1.5.1) Red De Área Local<br />

(Local Area Network)<br />

1.5.2) Red De Área Amplia<br />

(Long-haul Network)<br />

2) Base De <strong>Datos</strong> <strong>Distribuidas</strong><br />

3) Razones Para Construir Un Sistema<br />

Distribuido<br />

4) Tipos De Transacciones<br />

4.1) Locales:<br />

4.2) Globales:<br />

5) Ventajas De Las Bds <strong>Distribuidas</strong><br />

6) Desventajas De Las Bds <strong>Distribuidas</strong><br />

7) Condiciones Deseables De Una BD<br />

Distribuida<br />

8) Tipos De Bds <strong>Distribuidas</strong><br />

8.1) Homogéneas:<br />

8.2) Heterogéneas O Multibases De<br />

<strong>Datos</strong><br />

9) Arquitectura De Los Dbmss<br />

Distribuidos<br />

9.1) Cliente-servidor<br />

9.2) Servidores Cooperantes<br />

9.3) De Una Vía Centralizada<br />

10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un<br />

DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query<br />

Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

Red <strong>de</strong> Área Local (local area network)<br />

En don<strong>de</strong> los nodos se encuentran<br />

físicamente cercanos (como en un<br />

mismo edificio o edificios adyacentes) y<br />

normalmente se conecta usando cables.


1.2) Base De <strong>Datos</strong> Distribuída<br />

(Bdd).<br />

1.3) Sistema De Gestión De Base De<br />

<strong>Datos</strong> Distribuído (Ddbms).<br />

1.3.1) Características SA<strong>BDD</strong>.<br />

1.3.2) Funciones De Un<br />

SA<strong>BDD</strong>.<br />

1.4) Nodo O Emplazamiento<br />

1.5) Re<strong>de</strong>s De Comunicación<br />

1.5.1) Red De Área Local<br />

(Local Area Network)<br />

1.5.2) Red De Área Amplia<br />

(Long-haul Network)<br />

2) Base De <strong>Datos</strong> <strong>Distribuidas</strong><br />

3) Razones Para Construir Un Sistema<br />

Distribuido<br />

4) Tipos De Transacciones<br />

4.1) Locales:<br />

4.2) Globales:<br />

5) Ventajas De Las Bds <strong>Distribuidas</strong><br />

6) Desventajas De Las Bds <strong>Distribuidas</strong><br />

7) Condiciones Deseables De Una BD<br />

Distribuida<br />

8) Tipos De Bds <strong>Distribuidas</strong><br />

8.1) Homogéneas:<br />

8.2) Heterogéneas O Multibases De<br />

<strong>Datos</strong><br />

9) Arquitectura De Los Dbmss<br />

Distribuidos<br />

9.1) Cliente-servidor<br />

9.2) Servidores Cooperantes<br />

9.3) De Una Vía Centralizada<br />

10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un<br />

DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query<br />

Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

Red <strong>de</strong> Área Amplia (long-haul network)<br />

En don<strong>de</strong> los nodos se hallan<br />

geográficamente distantes (en otras<br />

ciuda<strong>de</strong>s o países) y para la<br />

comunicación se usan líneas telefónicas<br />

y satélites.<br />

A veces, se encuentran re<strong>de</strong>s que usan<br />

ambos tipos <strong>de</strong> conexión.


1.3) Sistema De Gestión De Base De<br />

<strong>Datos</strong> Distribuído (Ddbms).<br />

1.3.1) Características SA<strong>BDD</strong>.<br />

1.3.2) Funciones De Un<br />

SA<strong>BDD</strong>.<br />

1.4) Nodo O Emplazamiento<br />

1.5) Re<strong>de</strong>s De Comunicación<br />

1.5.1) Red De Área Local<br />

(Local Area Network)<br />

1.5.2) Red De Área Amplia<br />

(Long-haul Network)<br />

2) Base De <strong>Datos</strong> <strong>Distribuidas</strong><br />

3) Razones Para Construir Un Sistema<br />

Distribuido<br />

4) Tipos De Transacciones<br />

4.1) Locales:<br />

4.2) Globales:<br />

5) Ventajas De Las Bds <strong>Distribuidas</strong><br />

6) Desventajas De Las Bds <strong>Distribuidas</strong><br />

7) Condiciones Deseables De Una BD<br />

Distribuida<br />

8) Tipos De Bds <strong>Distribuidas</strong><br />

8.1) Homogéneas:<br />

8.2) Heterogéneas O Multibases De<br />

<strong>Datos</strong><br />

9) Arquitectura De Los Dbmss<br />

Distribuidos<br />

9.1) Cliente-servidor<br />

9.2) Servidores Cooperantes<br />

9.3) De Una Vía Centralizada<br />

10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un<br />

DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query<br />

Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

Base <strong>de</strong> datos distribuidas<br />

Son un sistema <strong>de</strong> bases <strong>de</strong> datos en el cual<br />

la data está almacenada físicamente en<br />

varios “nodos” y cada uno <strong>de</strong> estos es<br />

manejado por un DBMS capaz <strong>de</strong> funcionar<br />

in<strong>de</strong>pendientemente <strong>de</strong> los otros.<br />

Estos sistemas no comparten ni memoria, ni<br />

disco y las computadoras utilizadas pue<strong>de</strong>n<br />

variar en tamaño y función, abarcando <strong>de</strong>s<strong>de</strong><br />

estaciones <strong>de</strong> trabajo hasta los gran<strong>de</strong>s<br />

sistemas.


1.3) Sistema De Gestión De Base De<br />

<strong>Datos</strong> Distribuído (Ddbms).<br />

1.3.1) Características SA<strong>BDD</strong>.<br />

1.3.2) Funciones De Un<br />

SA<strong>BDD</strong>.<br />

1.4) Nodo O Emplazamiento<br />

1.5) Re<strong>de</strong>s De Comunicación<br />

1.5.1) Red De Área Local<br />

(Local Area Network)<br />

1.5.2) Red De Área Amplia<br />

(Long-haul Network)<br />

2) Base De <strong>Datos</strong> <strong>Distribuidas</strong><br />

3) Razones Para Construir Un Sistema<br />

Distribuido<br />

4) Tipos De Transacciones<br />

4.1) Locales:<br />

4.2) Globales:<br />

5) Ventajas De Las Bds <strong>Distribuidas</strong><br />

6) Desventajas De Las Bds <strong>Distribuidas</strong><br />

7) Condiciones Deseables De Una BD<br />

Distribuida<br />

8) Tipos De Bds <strong>Distribuidas</strong><br />

8.1) Homogéneas:<br />

8.2) Heterogéneas O Multibases De<br />

<strong>Datos</strong><br />

9) Arquitectura De Los Dbmss<br />

Distribuidos<br />

9.1) Cliente-servidor<br />

9.2) Servidores Cooperantes<br />

9.3) De Una Vía Centralizada<br />

10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un<br />

DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query<br />

Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

Base <strong>de</strong> datos distribuidas<br />

Es distribuido si cumple que:<br />

•Los distintos nodos están informados sobre los<br />

<strong>de</strong>más.<br />

•Aunque algunas tablas estén almacenadas sólo<br />

en algunos nodos, éstos comparten un esquema<br />

global común.<br />

•Cada nodo proporciona un entorno <strong>de</strong><br />

ejecución <strong>de</strong> transacciones, tanto local, como<br />

global.<br />

•Generalmente, los nodos ejecutan el mismo<br />

software <strong>de</strong> gestión distribuida. En caso<br />

contrario se dice que el sistema es heterogéneo.


1.3) Sistema De Gestión De Base De<br />

<strong>Datos</strong> Distribuído (Ddbms).<br />

1.3.1) Características SA<strong>BDD</strong>.<br />

1.3.2) Funciones De Un<br />

SA<strong>BDD</strong>.<br />

1.4) Nodo O Emplazamiento<br />

1.5) Re<strong>de</strong>s De Comunicación<br />

1.5.1) Red De Área Local<br />

(Local Area Network)<br />

1.5.2) Red De Área Amplia<br />

(Long-haul Network)<br />

2) Base De <strong>Datos</strong> <strong>Distribuidas</strong><br />

3) Razones Para Construir Un Sistema<br />

Distribuido<br />

4) Tipos De Transacciones<br />

4.1) Locales:<br />

4.2) Globales:<br />

5) Ventajas De Las Bds <strong>Distribuidas</strong><br />

6) Desventajas De Las Bds <strong>Distribuidas</strong><br />

7) Condiciones Deseables De Una BD<br />

Distribuida<br />

8) Tipos De Bds <strong>Distribuidas</strong><br />

8.1) Homogéneas:<br />

8.2) Heterogéneas O Multibases De<br />

<strong>Datos</strong><br />

9) Arquitectura De Los Dbmss<br />

Distribuidos<br />

9.1) Cliente-servidor<br />

9.2) Servidores Cooperantes<br />

9.3) De Una Vía Centralizada<br />

10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un<br />

DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query<br />

Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

Base <strong>de</strong> datos distribuidas<br />

BD Distribuido


<strong>Datos</strong> Distribuído (Ddbms).<br />

1.3.1) Características SA<strong>BDD</strong>.<br />

1.3.2) Funciones De Un<br />

SA<strong>BDD</strong>.<br />

1.4) Nodo O Emplazamiento<br />

1.5) Re<strong>de</strong>s De Comunicación<br />

1.5.1) Red De Área Local<br />

(Local Area Network)<br />

1.5.2) Red De Área Amplia<br />

(Long-haul Network)<br />

2) Base De <strong>Datos</strong> <strong>Distribuidas</strong><br />

3) Razones Para Construir Un Sistema<br />

Distribuido<br />

4) Tipos De Transacciones<br />

4.1) Locales:<br />

4.2) Globales:<br />

5) Ventajas De Las Bds <strong>Distribuidas</strong><br />

6) Desventajas De Las Bds <strong>Distribuidas</strong><br />

7) Condiciones Deseables De Una BD<br />

Distribuida<br />

8) Tipos De Bds <strong>Distribuidas</strong><br />

8.1) Homogéneas:<br />

8.2) Heterogéneas O Multibases De<br />

<strong>Datos</strong><br />

9) Arquitectura De Los Dbmss<br />

Distribuidos<br />

9.1) Cliente-servidor<br />

9.2) Servidores Cooperantes<br />

9.3) De Una Vía Centralizada<br />

10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un<br />

DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query<br />

Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

Razones para construir un sistema<br />

Distribuido<br />

•Incrementa la Disponibilidad:<br />

Si un nodo falla, los restantes pue<strong>de</strong>n seguir<br />

trabajando. En particular si los data ítems<br />

están replicados en varios nodos, una<br />

transacción que necesite un <strong>de</strong>terminado<br />

elemento pue<strong>de</strong> encontrarlo en algún otro<br />

nodo. De este modo el fallo <strong>de</strong> un nodo no<br />

implica necesariamente la caída <strong>de</strong>l sistema.<br />

El mismo no <strong>de</strong>be seguir utilizando los<br />

servicios <strong>de</strong>l nodo que falló hasta que éste se<br />

recupere y sea integrado nuevamente al<br />

sistema.


<strong>Datos</strong> Distribuído (Ddbms).<br />

1.3.1) Características SA<strong>BDD</strong>.<br />

1.3.2) Funciones De Un<br />

SA<strong>BDD</strong>.<br />

1.4) Nodo O Emplazamiento<br />

1.5) Re<strong>de</strong>s De Comunicación<br />

1.5.1) Red De Área Local<br />

(Local Area Network)<br />

1.5.2) Red De Área Amplia<br />

(Long-haul Network)<br />

2) Base De <strong>Datos</strong> <strong>Distribuidas</strong><br />

3) Razones Para Construir Un Sistema<br />

Distribuido<br />

4) Tipos De Transacciones<br />

4.1) Locales:<br />

4.2) Globales:<br />

5) Ventajas De Las Bds <strong>Distribuidas</strong><br />

6) Desventajas De Las Bds <strong>Distribuidas</strong><br />

7) Condiciones Deseables De Una BD<br />

Distribuida<br />

8) Tipos De Bds <strong>Distribuidas</strong><br />

8.1) Homogéneas:<br />

8.2) Heterogéneas O Multibases De<br />

<strong>Datos</strong><br />

9) Arquitectura De Los Dbmss<br />

Distribuidos<br />

9.1) Cliente-servidor<br />

9.2) Servidores Cooperantes<br />

9.3) De Una Vía Centralizada<br />

10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un<br />

DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query<br />

Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

Razones para construir un sistema<br />

Distribuido<br />

•Acceso Distribuido a los <strong>Datos</strong>:<br />

Se dispone <strong>de</strong> un entorno don<strong>de</strong> los usuarios<br />

pue<strong>de</strong>n acce<strong>de</strong>r <strong>de</strong>s<strong>de</strong> un único nodo a los<br />

datos que resi<strong>de</strong>n en otros nodos. Por<br />

ejemplo: una organización pue<strong>de</strong> tener<br />

muchas sucursales en diferentes ciuda<strong>de</strong>s y<br />

uno <strong>de</strong> sus analistas pue<strong>de</strong> necesitar acce<strong>de</strong>r<br />

a la data correspondiente a diferentes sitios;<br />

<strong>de</strong>bido a la distribución <strong>de</strong> los datos es<br />

posible satisfacer esta petición.


<strong>Datos</strong> Distribuído (Ddbms).<br />

1.3.1) Características SA<strong>BDD</strong>.<br />

1.3.2) Funciones De Un<br />

SA<strong>BDD</strong>.<br />

1.4) Nodo O Emplazamiento<br />

1.5) Re<strong>de</strong>s De Comunicación<br />

1.5.1) Red De Área Local<br />

(Local Area Network)<br />

1.5.2) Red De Área Amplia<br />

(Long-haul Network)<br />

2) Base De <strong>Datos</strong> <strong>Distribuidas</strong><br />

3) Razones Para Construir Un Sistema<br />

Distribuido<br />

4) Tipos De Transacciones<br />

4.1) Locales:<br />

4.2) Globales:<br />

5) Ventajas De Las Bds <strong>Distribuidas</strong><br />

6) Desventajas De Las Bds <strong>Distribuidas</strong><br />

7) Condiciones Deseables De Una BD<br />

Distribuida<br />

8) Tipos De Bds <strong>Distribuidas</strong><br />

8.1) Homogéneas:<br />

8.2) Heterogéneas O Multibases De<br />

<strong>Datos</strong><br />

9) Arquitectura De Los Dbmss<br />

Distribuidos<br />

9.1) Cliente-servidor<br />

9.2) Servidores Cooperantes<br />

9.3) De Una Vía Centralizada<br />

10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un<br />

DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query<br />

Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

Razones para construir un sistema<br />

Distribuido<br />

•Análisis <strong>de</strong> los <strong>Datos</strong> Distribuidos:<br />

Las organizaciones <strong>de</strong>sean examinar toda la<br />

data a su disposición, aun cuando esta está<br />

almacenada en múltiples sitios y en múltiples<br />

sistemas <strong>de</strong> bases <strong>de</strong> datos. El soporte para<br />

tal acceso integrado involucra muchos<br />

aspectos, incluso habilitar el acceso a datos<br />

ampliamente distribuidos pue<strong>de</strong> ser muy<br />

difícil.


<strong>Datos</strong> Distribuído (Ddbms).<br />

1.3.1) Características SA<strong>BDD</strong>.<br />

1.3.2) Funciones De Un<br />

SA<strong>BDD</strong>.<br />

1.4) Nodo O Emplazamiento<br />

1.5) Re<strong>de</strong>s De Comunicación<br />

1.5.1) Red De Área Local<br />

(Local Area Network)<br />

1.5.2) Red De Área Amplia<br />

(Long-haul Network)<br />

2) Base De <strong>Datos</strong> <strong>Distribuidas</strong><br />

3) Razones Para Construir Un Sistema<br />

Distribuido<br />

4) Tipos De Transacciones<br />

4.1) Locales:<br />

4.2) Globales:<br />

5) Ventajas De Las Bds <strong>Distribuidas</strong><br />

6) Desventajas De Las Bds <strong>Distribuidas</strong><br />

7) Condiciones Deseables De Una BD<br />

Distribuida<br />

8) Tipos De Bds <strong>Distribuidas</strong><br />

8.1) Homogéneas:<br />

8.2) Heterogéneas O Multibases De<br />

<strong>Datos</strong><br />

9) Arquitectura De Los Dbmss<br />

Distribuidos<br />

9.1) Cliente-servidor<br />

9.2) Servidores Cooperantes<br />

9.3) De Una Vía Centralizada<br />

10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un<br />

DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query<br />

Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

Razones para construir un sistema<br />

Distribuido<br />

•Autonomía:<br />

La principal ventaja <strong>de</strong> compartir datos<br />

por medio <strong>de</strong> la distribución <strong>de</strong> datos es<br />

que cada nodo es capaz <strong>de</strong> mantener<br />

un grado <strong>de</strong> control sobre los datos que<br />

se almacenan localmente en el.


1.3.2) Funciones De Un<br />

SA<strong>BDD</strong>.<br />

1.4) Nodo O Emplazamiento<br />

1.5) Re<strong>de</strong>s De Comunicación<br />

1.5.1) Red De Área Local<br />

(Local Area Network)<br />

1.5.2) Red De Área Amplia<br />

(Long-haul Network)<br />

2) Base De <strong>Datos</strong> <strong>Distribuidas</strong><br />

3) Razones Para Construir Un Sistema<br />

Distribuido<br />

4) Tipos De Transacciones<br />

4.1) Locales:<br />

4.2) Globales:<br />

5) Ventajas De Las Bds <strong>Distribuidas</strong><br />

6) Desventajas De Las Bds <strong>Distribuidas</strong><br />

7) Condiciones Deseables De Una BD<br />

Distribuida<br />

8) Tipos De Bds <strong>Distribuidas</strong><br />

8.1) Homogéneas:<br />

8.2) Heterogéneas O Multibases De<br />

<strong>Datos</strong><br />

9) Arquitectura De Los Dbmss<br />

Distribuidos<br />

9.1) Cliente-servidor<br />

9.2) Servidores Cooperantes<br />

9.3) De Una Vía Centralizada<br />

10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un<br />

DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query<br />

Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

Tipos <strong>de</strong> Transacciones<br />

Existen dos tipos <strong>de</strong> transacciones:<br />

• Locales.<br />

• Globales.


SA<strong>BDD</strong>.<br />

1.4) Nodo O Emplazamiento<br />

1.5) Re<strong>de</strong>s De Comunicación<br />

1.5.1) Red De Área Local<br />

(Local Area Network)<br />

1.5.2) Red De Área Amplia<br />

(Long-haul Network)<br />

2) Base De <strong>Datos</strong> <strong>Distribuidas</strong><br />

3) Razones Para Construir Un Sistema<br />

Distribuido<br />

4) Tipos De Transacciones<br />

4.1) Locales:<br />

4.2) Globales:<br />

5) Ventajas De Las Bds <strong>Distribuidas</strong><br />

6) Desventajas De Las Bds <strong>Distribuidas</strong><br />

7) Condiciones Deseables De Una BD<br />

Distribuida<br />

8) Tipos De Bds <strong>Distribuidas</strong><br />

8.1) Homogéneas:<br />

8.2) Heterogéneas O Multibases De<br />

<strong>Datos</strong><br />

9) Arquitectura De Los Dbmss<br />

Distribuidos<br />

9.1) Cliente-servidor<br />

9.2) Servidores Cooperantes<br />

9.3) De Una Vía Centralizada<br />

10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un<br />

DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query<br />

Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

Locales<br />

Es aquella que acce<strong>de</strong> a los datos <strong>de</strong>l<br />

nodo don<strong>de</strong> se inició la transacción,<br />

es <strong>de</strong>cir, la ejecuta el sistema local <strong>de</strong><br />

la base <strong>de</strong> datos sin el control <strong>de</strong>l<br />

sistema global <strong>de</strong> la bd.


1.4) Nodo O Emplazamiento<br />

1.5) Re<strong>de</strong>s De Comunicación<br />

1.5.1) Red De Área Local<br />

(Local Area Network)<br />

1.5.2) Red De Área Amplia<br />

(Long-haul Network)<br />

2) Base De <strong>Datos</strong> <strong>Distribuidas</strong><br />

3) Razones Para Construir Un Sistema<br />

Distribuido<br />

4) Tipos De Transacciones<br />

4.1) Locales:<br />

4.2) Globales:<br />

5) Ventajas De Las Bds <strong>Distribuidas</strong><br />

6) Desventajas De Las Bds <strong>Distribuidas</strong><br />

7) Condiciones Deseables De Una BD<br />

Distribuida<br />

8) Tipos De Bds <strong>Distribuidas</strong><br />

8.1) Homogéneas:<br />

8.2) Heterogéneas O Multibases De<br />

<strong>Datos</strong><br />

9) Arquitectura De Los Dbmss<br />

Distribuidos<br />

9.1) Cliente-servidor<br />

9.2) Servidores Cooperantes<br />

9.3) De Una Vía Centralizada<br />

10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un<br />

DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query<br />

Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

Globales<br />

Es aquella que acce<strong>de</strong> a los datos<br />

situados en uno o mas nodos<br />

diferentes <strong>de</strong> aquel en que se inició la<br />

transacción, es <strong>de</strong>cir, se ejecuta bajo<br />

el control <strong>de</strong>l sistema <strong>de</strong> varias bases<br />

<strong>de</strong> datos.


1.5) Re<strong>de</strong>s De Comunicación<br />

1.5.1) Red De Área Local<br />

(Local Area Network)<br />

1.5.2) Red De Área Amplia<br />

(Long-haul Network)<br />

2) Base De <strong>Datos</strong> <strong>Distribuidas</strong><br />

3) Razones Para Construir Un Sistema<br />

Distribuido<br />

4) Tipos De Transacciones<br />

4.1) Locales:<br />

4.2) Globales:<br />

5) Ventajas De Las Bds <strong>Distribuidas</strong><br />

6) Desventajas De Las Bds <strong>Distribuidas</strong><br />

7) Condiciones Deseables De Una BD<br />

Distribuida<br />

8) Tipos De Bds <strong>Distribuidas</strong><br />

8.1) Homogéneas:<br />

8.2) Heterogéneas O Multibases De<br />

<strong>Datos</strong><br />

9) Arquitectura De Los Dbmss<br />

Distribuidos<br />

9.1) Cliente-servidor<br />

9.2) Servidores Cooperantes<br />

9.3) De Una Vía Centralizada<br />

10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un<br />

DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query<br />

Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

Ventajas <strong>de</strong> las BDs <strong>Distribuidas</strong><br />

•Compartimiento <strong>de</strong> datos: Los<br />

usuarios <strong>de</strong> un nodo son capaces <strong>de</strong><br />

acce<strong>de</strong>r a los datos <strong>de</strong> otro nodo.<br />

•Autonomía: Cada nodo tiene cierto<br />

grado <strong>de</strong> control sobre sus datos, en<br />

un sistema centralizado, hay un<br />

administrador <strong>de</strong>l sistema<br />

responsable <strong>de</strong> los datos a nivel<br />

global. Cada administrador local<br />

pue<strong>de</strong> tener un nivel <strong>de</strong> autonomía<br />

local diferente.


1.5) Re<strong>de</strong>s De Comunicación<br />

1.5.1) Red De Área Local<br />

(Local Area Network)<br />

1.5.2) Red De Área Amplia<br />

(Long-haul Network)<br />

2) Base De <strong>Datos</strong> <strong>Distribuidas</strong><br />

3) Razones Para Construir Un Sistema<br />

Distribuido<br />

4) Tipos De Transacciones<br />

4.1) Locales:<br />

4.2) Globales:<br />

5) Ventajas De Las Bds <strong>Distribuidas</strong><br />

6) Desventajas De Las Bds <strong>Distribuidas</strong><br />

7) Condiciones Deseables De Una BD<br />

Distribuida<br />

8) Tipos De Bds <strong>Distribuidas</strong><br />

8.1) Homogéneas:<br />

8.2) Heterogéneas O Multibases De<br />

<strong>Datos</strong><br />

9) Arquitectura De Los Dbmss<br />

Distribuidos<br />

9.1) Cliente-servidor<br />

9.2) Servidores Cooperantes<br />

9.3) De Una Vía Centralizada<br />

10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un<br />

DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query<br />

Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

Ventajas <strong>de</strong> las BDs <strong>Distribuidas</strong><br />

•Disponibilidad: Si en un sistema<br />

distribuido falla un nodo, los nodos<br />

restantes pue<strong>de</strong>n seguir<br />

funcionando. Si se duplican los datos<br />

en varios nodos, la transacción que<br />

necesite un <strong>de</strong>terminado dato pue<strong>de</strong><br />

encontrarlo en cualquiera <strong>de</strong> los<br />

diferentes nodos.


1.5.1) Red De Área Local<br />

(Local Area Network)<br />

1.5.2) Red De Área Amplia<br />

(Long-haul Network)<br />

2) Base De <strong>Datos</strong> <strong>Distribuidas</strong><br />

3) Razones Para Construir Un Sistema<br />

Distribuido<br />

4) Tipos De Transacciones<br />

4.1) Locales:<br />

4.2) Globales:<br />

5) Ventajas De Las Bds <strong>Distribuidas</strong><br />

6) Desventajas De Las Bds <strong>Distribuidas</strong><br />

7) Condiciones Deseables De Una BD<br />

Distribuida<br />

8) Tipos De Bds <strong>Distribuidas</strong><br />

8.1) Homogéneas:<br />

8.2) Heterogéneas O Multibases De<br />

<strong>Datos</strong><br />

9) Arquitectura De Los Dbmss<br />

Distribuidos<br />

9.1) Cliente-servidor<br />

9.2) Servidores Cooperantes<br />

9.3) De Una Vía Centralizada<br />

10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un<br />

DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query<br />

Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y<br />

Desventajas <strong>de</strong> las BDs <strong>Distribuidas</strong><br />

•Coste <strong>de</strong> <strong>de</strong>sarrollo <strong>de</strong>l software: La<br />

complejidad añadida que es necesaria<br />

para mantener la coordinación entre<br />

nodos hace que el <strong>de</strong>sarrollo <strong>de</strong> software<br />

sea más costoso.<br />

•Mayor probabilidad <strong>de</strong> errores: Como los<br />

nodos que constituyen el sistema<br />

funcionan en paralelo, es más difícil<br />

asegurar el funcionamiento correcto <strong>de</strong><br />

los algoritmos, así como <strong>de</strong> los<br />

procedimientos <strong>de</strong> recuperación <strong>de</strong> fallos<br />

<strong>de</strong>l sistema.


1.5.1) Red De Área Local<br />

(Local Area Network)<br />

1.5.2) Red De Área Amplia<br />

(Long-haul Network)<br />

2) Base De <strong>Datos</strong> <strong>Distribuidas</strong><br />

3) Razones Para Construir Un Sistema<br />

Distribuido<br />

4) Tipos De Transacciones<br />

4.1) Locales:<br />

4.2) Globales:<br />

5) Ventajas De Las Bds <strong>Distribuidas</strong><br />

6) Desventajas De Las Bds <strong>Distribuidas</strong><br />

7) Condiciones Deseables De Una BD<br />

Distribuida<br />

8) Tipos De Bds <strong>Distribuidas</strong><br />

8.1) Homogéneas:<br />

8.2) Heterogéneas O Multibases De<br />

<strong>Datos</strong><br />

9) Arquitectura De Los Dbmss<br />

Distribuidos<br />

9.1) Cliente-servidor<br />

9.2) Servidores Cooperantes<br />

9.3) De Una Vía Centralizada<br />

10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un<br />

DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query<br />

Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y<br />

Desventajas <strong>de</strong> las BDs <strong>Distribuidas</strong><br />

•Mayor sobrecarga <strong>de</strong> procesamiento: el<br />

intercambio <strong>de</strong> mensajes y ejecución <strong>de</strong><br />

algoritmos para el mantenimiento <strong>de</strong> la<br />

coordinación entre nodos supone una<br />

sobrecarga que no se da en los sistemas<br />

centralizados.


(Local Area Network)<br />

1.5.2) Red De Área Amplia<br />

(Long-haul Network)<br />

2) Base De <strong>Datos</strong> <strong>Distribuidas</strong><br />

3) Razones Para Construir Un Sistema<br />

Distribuido<br />

4) Tipos De Transacciones<br />

4.1) Locales:<br />

4.2) Globales:<br />

5) Ventajas De Las Bds <strong>Distribuidas</strong><br />

6) Desventajas De Las Bds <strong>Distribuidas</strong><br />

7) Condiciones Deseables De Una BD<br />

Distribuida<br />

8) Tipos De Bds <strong>Distribuidas</strong><br />

8.1) Homogéneas:<br />

8.2) Heterogéneas O Multibases De<br />

<strong>Datos</strong><br />

9) Arquitectura De Los Dbmss<br />

Distribuidos<br />

9.1) Cliente-servidor<br />

9.2) Servidores Cooperantes<br />

9.3) De Una Vía Centralizada<br />

10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un<br />

DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query<br />

Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y<br />

Protocolos<br />

Condiciones <strong>de</strong>seables <strong>de</strong> una<br />

BD Distribuida<br />

•In<strong>de</strong>pen<strong>de</strong>ncia <strong>de</strong> los <strong>Datos</strong><br />

Distribuidos: Los usuarios <strong>de</strong>berían<br />

ser capaces <strong>de</strong> solicitar queries sin<br />

especificar don<strong>de</strong> están situadas las<br />

relaciones, ya sean sus copias o<br />

fragmentos, a las que hizo referencia.<br />

Este principio es una extensión<br />

natural <strong>de</strong> la in<strong>de</strong>pen<strong>de</strong>ncia física y<br />

lógica <strong>de</strong> la data.


(Local Area Network)<br />

1.5.2) Red De Área Amplia<br />

(Long-haul Network)<br />

2) Base De <strong>Datos</strong> <strong>Distribuidas</strong><br />

3) Razones Para Construir Un Sistema<br />

Distribuido<br />

4) Tipos De Transacciones<br />

4.1) Locales:<br />

4.2) Globales:<br />

5) Ventajas De Las Bds <strong>Distribuidas</strong><br />

6) Desventajas De Las Bds <strong>Distribuidas</strong><br />

7) Condiciones Deseables De Una BD<br />

Distribuida<br />

8) Tipos De Bds <strong>Distribuidas</strong><br />

8.1) Homogéneas:<br />

8.2) Heterogéneas O Multibases De<br />

<strong>Datos</strong><br />

9) Arquitectura De Los Dbmss<br />

Distribuidos<br />

9.1) Cliente-servidor<br />

9.2) Servidores Cooperantes<br />

9.3) De Una Vía Centralizada<br />

10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un<br />

DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query<br />

Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y<br />

Protocolos<br />

Condiciones <strong>de</strong>seables <strong>de</strong> una<br />

BD Distribuida<br />

•Atomicidad <strong>de</strong> la Transacción: Los<br />

usuarios <strong>de</strong>berían ser capaces <strong>de</strong><br />

escribir transacciones que accedan y<br />

actualicen datos en muchos sitios,<br />

las mismas tienen que seguir siendo<br />

atómicas, sino llevarían a la BD<br />

distribuida a un estado inconsistente.


(Long-haul Network)<br />

2) Base De <strong>Datos</strong> <strong>Distribuidas</strong><br />

3) Razones Para Construir Un Sistema<br />

Distribuido<br />

4) Tipos De Transacciones<br />

4.1) Locales:<br />

4.2) Globales:<br />

5) Ventajas De Las Bds <strong>Distribuidas</strong><br />

6) Desventajas De Las Bds <strong>Distribuidas</strong><br />

7) Condiciones Deseables De Una BD<br />

Distribuida<br />

8) Tipos De Bds <strong>Distribuidas</strong><br />

8.1) Homogéneas:<br />

8.2) Heterogéneas O Multibases De<br />

<strong>Datos</strong><br />

9) Arquitectura De Los Dbmss<br />

Distribuidos<br />

9.1) Cliente-servidor<br />

9.2) Servidores Cooperantes<br />

9.3) De Una Vía Centralizada<br />

10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un<br />

DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query<br />

Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y<br />

Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos<br />

Tipos <strong>de</strong> BDs <strong>Distribuidas</strong><br />

Existen dos tipos <strong>de</strong> BDs <strong>Distribuidas</strong>:<br />

•Homogéneas.<br />

•Heterogéneas o Multibases <strong>de</strong> <strong>Datos</strong>.


2) Base De <strong>Datos</strong> <strong>Distribuidas</strong><br />

3) Razones Para Construir Un Sistema<br />

Distribuido<br />

4) Tipos De Transacciones<br />

4.1) Locales:<br />

4.2) Globales:<br />

5) Ventajas De Las Bds <strong>Distribuidas</strong><br />

6) Desventajas De Las Bds <strong>Distribuidas</strong><br />

7) Condiciones Deseables De Una BD<br />

Distribuida<br />

8) Tipos De Bds <strong>Distribuidas</strong><br />

8.1) Homogéneas:<br />

8.2) Heterogéneas O Multibases De<br />

<strong>Datos</strong><br />

9) Arquitectura De Los Dbmss<br />

Distribuidos<br />

9.1) Cliente-servidor<br />

9.2) Servidores Cooperantes<br />

9.3) De Una Vía Centralizada<br />

10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un<br />

DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query<br />

Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y<br />

Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos<br />

Fases<br />

Homogéneas<br />

Son aquella don<strong>de</strong> todos los nodos<br />

poseen el mismo DBMS, son conscientes<br />

<strong>de</strong> la existencia <strong>de</strong> los <strong>de</strong>más sitios y<br />

aceptan cooperar en el procesamiento <strong>de</strong><br />

las solicitu<strong>de</strong>s <strong>de</strong> los usuarios.<br />

En estos sistemas los nodos locales<br />

renuncian a una parte <strong>de</strong> su autonomía en<br />

cuanto a su <strong>de</strong>recho a modificar los<br />

esquemas o el software <strong>de</strong>l DBMS. Cada<br />

nodo <strong>de</strong>be cooperar en el intercambio <strong>de</strong><br />

información sobre las transacciones para<br />

hacer posible el procesamiento <strong>de</strong> las<br />

transacciones en varios nodos.


3) Razones Para Construir Un Sistema<br />

Distribuido<br />

4) Tipos De Transacciones<br />

4.1) Locales:<br />

4.2) Globales:<br />

5) Ventajas De Las Bds <strong>Distribuidas</strong><br />

6) Desventajas De Las Bds <strong>Distribuidas</strong><br />

7) Condiciones Deseables De Una BD<br />

Distribuida<br />

8) Tipos De Bds <strong>Distribuidas</strong><br />

8.1) Homogéneas:<br />

8.2) Heterogéneas O Multibases De<br />

<strong>Datos</strong><br />

9) Arquitectura De Los Dbmss<br />

Distribuidos<br />

9.1) Cliente-servidor<br />

9.2) Servidores Cooperantes<br />

9.3) De Una Vía Centralizada<br />

10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un<br />

DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query<br />

Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y<br />

Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos<br />

Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

Heterogéneas o Multibases <strong>de</strong> <strong>Datos</strong><br />

Son aquellas don<strong>de</strong> los nodos utilizan<br />

diferentes DBMS, siendo cada uno<br />

esencialmente autónomo. Es posible que<br />

algunos nodos no sean conscientes <strong>de</strong> la<br />

existencia <strong>de</strong> los <strong>de</strong>más y quizás<br />

proporcionen facilida<strong>de</strong>s limitadas para la<br />

cooperación en el procesamiento <strong>de</strong><br />

transacciones.<br />

Los esquemas constituyen un problema<br />

importante para el procesamiento <strong>de</strong> las<br />

consultas, mientras que la divergencia <strong>de</strong>l<br />

software supone un inconveniente para el<br />

procesamiento <strong>de</strong> transacciones que<br />

tengan acceso a varios nodos.


4) Tipos De Transacciones<br />

4.1) Locales:<br />

4.2) Globales:<br />

5) Ventajas De Las Bds <strong>Distribuidas</strong><br />

6) Desventajas De Las Bds <strong>Distribuidas</strong><br />

7) Condiciones Deseables De Una BD<br />

Distribuida<br />

8) Tipos De Bds <strong>Distribuidas</strong><br />

8.1) Homogéneas:<br />

8.2) Heterogéneas O Multibases De<br />

<strong>Datos</strong><br />

9) Arquitectura De Los DBMSs<br />

Distribuidos<br />

9.1) Cliente-servidor<br />

9.2) Servidores Cooperantes<br />

9.3) De Una Vía Centralizada<br />

10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un<br />

DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query<br />

Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y<br />

Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos<br />

Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Arquitectura <strong>de</strong> los DBMSs Distribuidos<br />

Existen tres tipos <strong>de</strong> arquitecturas:<br />

• Cliente-Servidor<br />

• Servidores Cooperantes<br />

• De una Vía Centralizada


4.2) Globales:<br />

5) Ventajas De Las Bds <strong>Distribuidas</strong><br />

6) Desventajas De Las Bds <strong>Distribuidas</strong><br />

7) Condiciones Deseables De Una BD<br />

Distribuida<br />

8) Tipos De Bds <strong>Distribuidas</strong><br />

8.1) Homogéneas:<br />

8.2) Heterogéneas O Multibases De<br />

<strong>Datos</strong><br />

9) Arquitectura De Los Dbmss<br />

Distribuidos<br />

9.1) Cliente-servidor<br />

9.2) Servidores Cooperantes<br />

9.3) De Una Vía Centralizada<br />

10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un<br />

DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query<br />

Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y<br />

Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos<br />

Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Cliente-Servidor<br />

Es un sistema distribuido entre múltiples<br />

procesadores don<strong>de</strong> hay clientes que<br />

solicitan servicios y servidores que los<br />

proporcionan.<br />

Posee uno o más procesos clientes y uno<br />

o más procesos servidores, un proceso<br />

cliente pue<strong>de</strong> mandar un query a alguno<br />

<strong>de</strong> los procesos servidores. Los clientes<br />

son responsables <strong>de</strong> los aspectos<br />

relacionados con la interfaces <strong>de</strong> usuario,<br />

mientras que los servidores manejan los<br />

datos y ejecutan las transacciones.


4.2) Globales:<br />

5) Ventajas De Las Bds <strong>Distribuidas</strong><br />

6) Desventajas De Las Bds <strong>Distribuidas</strong><br />

7) Condiciones Deseables De Una BD<br />

Distribuida<br />

8) Tipos De Bds <strong>Distribuidas</strong><br />

8.1) Homogéneas:<br />

8.2) Heterogéneas O Multibases De<br />

<strong>Datos</strong><br />

9) Arquitectura De Los Dbmss<br />

Distribuidos<br />

9.1) Cliente-servidor<br />

9.2) Servidores Cooperantes<br />

9.3) De Una Vía Centralizada<br />

10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un<br />

DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query<br />

Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y<br />

Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos<br />

Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Cliente-Servidor<br />

La arquitectura Cliente-Servidor se ha<br />

<strong>de</strong>sarrollado con la finalidad <strong>de</strong> <strong>de</strong>finir<br />

servidores especializados en funciones<br />

específicas.<br />

La i<strong>de</strong>a <strong>de</strong>l <strong>BDD</strong> es dividir al DBMS en tres<br />

niveles: cliente, servidor y las<br />

comunicaciones, para reducir su<br />

complejidad. No se ha establecido una<br />

regla para dividir al DBMS pero una<br />

distribución muy común es <strong>de</strong>signar a un<br />

nodo con toda la funcionalidad <strong>de</strong> un<br />

DBMS centralizado en el nivel <strong>de</strong>l servidor<br />

y varios otros servidores especializados<br />

en SQL, con ambos, aten<strong>de</strong>r a los <strong>de</strong>más<br />

nodos que serían los clientes.


4.2) Globales:<br />

5) Ventajas De Las Bds <strong>Distribuidas</strong><br />

6) Desventajas De Las Bds <strong>Distribuidas</strong><br />

7) Condiciones Deseables De Una BD<br />

Distribuida<br />

8) Tipos De Bds <strong>Distribuidas</strong><br />

8.1) Homogéneas:<br />

8.2) Heterogéneas O Multibases De<br />

<strong>Datos</strong><br />

9) Arquitectura De Los Dbmss<br />

Distribuidos<br />

9.1) Cliente-servidor<br />

9.2) Servidores Cooperantes<br />

9.3) De Una Vía Centralizada<br />

10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un<br />

DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query<br />

Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y<br />

Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos<br />

Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Cliente-Servidor<br />

Usuarios<br />

Interfaces<br />

Red <strong>de</strong> Interconexión<br />

Servidor<br />

Base <strong>de</strong> Dato


5) Ventajas De Las Bds <strong>Distribuidas</strong><br />

6) Desventajas De Las Bds <strong>Distribuidas</strong><br />

7) Condiciones Deseables De Una BD<br />

Distribuida<br />

8) Tipos De Bds <strong>Distribuidas</strong><br />

8.1) Homogéneas:<br />

8.2) Heterogéneas O Multibases De<br />

<strong>Datos</strong><br />

9) Arquitectura De Los Dbmss<br />

Distribuidos<br />

9.1) Cliente-servidor<br />

9.2) Servidores Cooperantes<br />

9.3) De Una Vía Centralizada<br />

10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un<br />

DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query<br />

Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y<br />

Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos<br />

Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Servidores Cooperantes<br />

Po<strong>de</strong>mos tener una colección <strong>de</strong><br />

servidores <strong>de</strong> bases <strong>de</strong> datos, cada uno<br />

capaz <strong>de</strong> correr transacciones sobre los<br />

datos locales, y cooperativamente sobre<br />

datos resi<strong>de</strong>ntes en otro servidor.<br />

Cuando un servidor recibe un query que<br />

requiere el acceso a la data <strong>de</strong> otro<br />

servidor, este genera el subquery<br />

apropiado para ser ejecutado por otros<br />

servidores y, estos, colocan el resultado<br />

junto a la respuesta procesada <strong>de</strong>l query<br />

original.


5) Ventajas De Las Bds <strong>Distribuidas</strong><br />

6) Desventajas De Las Bds <strong>Distribuidas</strong><br />

7) Condiciones Deseables De Una BD<br />

Distribuida<br />

8) Tipos De Bds <strong>Distribuidas</strong><br />

8.1) Homogéneas:<br />

8.2) Heterogéneas O Multibases De<br />

<strong>Datos</strong><br />

9) Arquitectura De Los Dbmss<br />

Distribuidos<br />

9.1) Cliente-servidor<br />

9.2) Servidores Cooperantes<br />

9.3) De Una Vía Centralizada<br />

10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un<br />

DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query<br />

Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y<br />

Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos<br />

Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Servidores Cooperantes<br />

Usuarios<br />

Interfaces<br />

Red <strong>de</strong> Interconexión<br />

Servidor<br />

Base <strong>de</strong> Dato


6) Desventajas De Las Bds <strong>Distribuidas</strong><br />

7) Condiciones Deseables De Una BD<br />

Distribuida<br />

8) Tipos De Bds <strong>Distribuidas</strong><br />

8.1) Homogéneas:<br />

8.2) Heterogéneas O Multibases De<br />

<strong>Datos</strong><br />

9) Arquitectura De Los Dbmss<br />

Distribuidos<br />

9.1) Cliente-servidor<br />

9.2) Servidores Cooperantes<br />

9.3) De Una Vía Centralizada<br />

10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un<br />

DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query<br />

Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y<br />

Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos<br />

Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

De una Vía Centralizada<br />

La i<strong>de</strong>a es que necesitamos solo un<br />

servidor <strong>de</strong> bases <strong>de</strong> datos capaz <strong>de</strong><br />

manejar queries y transacciones<br />

provenientes <strong>de</strong> múltiples servidores; los<br />

servidores pequeños necesitan manejar<br />

transacciones y queries locales.<br />

Po<strong>de</strong>mos pensar en este servidor especial<br />

como una capa <strong>de</strong>l software que coordina<br />

la ejecución <strong>de</strong> queries y transacciones a<br />

través <strong>de</strong> uno o más servidores <strong>de</strong> bases<br />

<strong>de</strong> datos in<strong>de</strong>pendientes, es usualmente<br />

llamado middleware.


6) Desventajas De Las Bds <strong>Distribuidas</strong><br />

7) Condiciones Deseables De Una BD<br />

Distribuida<br />

8) Tipos De Bds <strong>Distribuidas</strong><br />

8.1) Homogéneas:<br />

8.2) Heterogéneas O Multibases De<br />

<strong>Datos</strong><br />

9) Arquitectura De Los Dbmss<br />

Distribuidos<br />

9.1) Cliente-servidor<br />

9.2) Servidores Cooperantes<br />

9.3) De Una Vía Centralizada<br />

10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un<br />

DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query<br />

Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y<br />

Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos<br />

Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

De una Vía Centralizada<br />

Usuarios<br />

Interfaces<br />

Red <strong>de</strong> Interconexión<br />

Servidor Middleware<br />

Servidor<br />

Base <strong>de</strong> Dato


10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos<br />

Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un DBMS<br />

Distribuido.<br />

Existen dos tipos <strong>de</strong> almacenamiento:<br />

•Fragmentación.<br />

•Replicación.


10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Fragmentación<br />

Existen 3 tipos <strong>de</strong> fragmentación:<br />

•Horizontal.<br />

•Vertical.<br />

•Mixta.


10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Fragmentación Horizontal<br />

Una tabla se divi<strong>de</strong> en tuplas en varios fragmentos,<br />

cada uno <strong>de</strong> estos fragmentos posee suficiente<br />

información para permitir la reconstrucción <strong>de</strong> la<br />

tabla original.<br />

Una tabla T se divi<strong>de</strong> en T1, T2, ……, Tn<br />

fragmentos que son almacenados en diferentes<br />

nodos.<br />

Don<strong>de</strong> cada T1, T2, …., Tn proviene <strong>de</strong> una<br />

Selección <strong>de</strong> T.<br />

Al aplicar Unión a T1, T2, …., Tn obtenemos a la<br />

relación principal T.<br />

Pue<strong>de</strong>n existir fragmentos no disjuntos, <strong>de</strong>bido a la<br />

combinación <strong>de</strong> una fragmentación y una replicación.


10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Ejemplo:<br />

Fragmentación Horizontal


10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Fragmentación Vertical<br />

Una tabla se divi<strong>de</strong> en columnas por<br />

fragmentos, cada uno <strong>de</strong> estos fragmentos<br />

posee el Primary Key <strong>de</strong> la tabla primaria.<br />

Una tabla T se fragmenta en T1, T2, …, Tn<br />

fragmentos, don<strong>de</strong> cada T1, T2, … , Tn<br />

provienen <strong>de</strong> una Proyección sobre T.<br />

Al aplicar un Join a T1, T2, … , Tn<br />

obtenemos a la relación principal T.


10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Ejemplo:<br />

Fragmentación Vertical


10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Fragmentación Mixta<br />

Se aplican los dos tipos <strong>de</strong> fragmentaciones.<br />

Ejemplo:


10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Replicación <strong>de</strong> <strong>Datos</strong><br />

Se posee en cada nodo replicas exactas<br />

<strong>de</strong> la tabla principal.<br />

Ventajas:<br />

Disponibilidad: El sistema sigue funcionando<br />

aún si algún nodo <strong>de</strong>ja <strong>de</strong> funcionar.<br />

Aumento <strong>de</strong>l Paralelismo: Varios nodos<br />

pue<strong>de</strong>n realizar consultas en paralelo sobre<br />

la misma tabla. De este modo <strong>de</strong>s<strong>de</strong><br />

cualquier nodo se conseguirá el dato<br />

<strong>de</strong>seado, así eliminando las transacciones<br />

globales.


10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Replicación <strong>de</strong> <strong>Datos</strong><br />

Desventajas:<br />

Aumento <strong>de</strong> la sobrecarga en las actualizaciones:<br />

Ya que el sistema <strong>de</strong>be asegurar consistencia<br />

<strong>de</strong> los datos, ahora será mucho mayor ya que<br />

al actualizar una <strong>de</strong> las replicas los cambios<br />

se <strong>de</strong>ben propagar a cada una <strong>de</strong> las otras<br />

replicas restantes.


10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Procesamiento <strong>de</strong> un Query Distribuido<br />

El principal objetivo es la reducción <strong>de</strong> datos<br />

transferidos, se estudia el coste <strong>de</strong> las<br />

trasferencias.


10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Queries Nonjoin en un DBMS<br />

Distribuido<br />

Una operación tan simple como la Selección<br />

o Proyección, pue<strong>de</strong> ser afectada por la<br />

replicación y fragmentación.<br />

Supongamos una relación<br />

Empleado(COD, Nombre, Apellido, Dir, Sexo,<br />

Sueldo, Fecha Nac, Dpto)<br />

Se aplica una operación <strong>de</strong> Selección.<br />

Select E.Nombre<br />

From Empleado E<br />

Where E.Dpto = “Computación”<br />

AND E.Dpto = “Biologia”


10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Queries Nonjoin en un DBMS<br />

Distribuido<br />

Si la relación es fragmentada horizontalmente por<br />

<strong>de</strong>partamentos, y cada fragmento es colocado en<br />

un nodo ubicado en el correspondiente<br />

<strong>de</strong>partamento; el DBMS <strong>de</strong>be respon<strong>de</strong>r al Query<br />

evaluando en ambos nodos y tomando la unión<br />

<strong>de</strong> las respuestas.<br />

Por otra parte si la cláusula Where tenía la<br />

condición E.Dpto = “Computación”, el DBMS <strong>de</strong>be<br />

conocer esto, y el Query <strong>de</strong>be ser respondido en<br />

el nodo Computación solamente.


10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Joins en un DBMS Distribuido<br />

Las operaciones <strong>de</strong> Join en relaciones<br />

almacenadas en distintos nodos son<br />

extremadamente costosos.<br />

Supongamos dos relaciones:<br />

Empleado(COD, Nombre, Apellido, Dir,<br />

Sexo, Sueldo, Fecha Nac, Dpto)<br />

10.000 tuplas.<br />

Cada tupla tiene 100 bytes.<br />

COD = 9 bytes.<br />

Dpto = 4 bytes.<br />

Nombre = 15 bytes.<br />

Apellido = 15 bytes.<br />

Tamaño <strong>de</strong> la relación: 100 * 10.000 = 1.000.000 bytes.


10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Joins en un DBMS Distribuido<br />

Departamento(NDpto, NombreDpto, Responsable,<br />

Edificio)<br />

100 tuplas.<br />

Cada tupla tiene 35 bytes.<br />

NombreDpto = 10 bytes.<br />

NDpto = 4 bytes.<br />

Responsable = 9 bytes.<br />

Tamaño <strong>de</strong> la relación: 35 * 100 = 3500 bytes.


10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Ejemplo:<br />

Joins en un DBMS Distribuido<br />

“Por cada empleado, obtener el nombre <strong>de</strong>l<br />

empleado y el nombre <strong>de</strong>l <strong>de</strong>partamento al<br />

que pertenece”<br />

Q1: π Nombre,Apellido,NombreDPto<br />

(EMPLEADO*DEPARTAMENTO)<br />

La consulta se procesa <strong>de</strong>s<strong>de</strong> el nodo 3<br />

(Este no posee datos implicados en la consulta).<br />

El resultado constará <strong>de</strong> 10.000 tuplas<br />

cada una <strong>de</strong> 40 bytes, por lo tanto el tamaño <strong>de</strong>l<br />

resultado es <strong>de</strong> 400.000 bytes.


10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Joins en un DBMS Distribuido<br />

El nodo 1 posee la relación Departamento.<br />

El nodo 2 posee la relación Empleado.<br />

El nodo 3 no posee relaciones para satisfacer<br />

la consulta.<br />

Existen 3 alternativas para resolver esto.


10) Almacenamiento <strong>de</strong> <strong>Datos</strong> en Un DBMS<br />

Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Leer lo necesario<br />

Transferir, tanto la relación EMPLEADO ubicada<br />

en el nodo 2, como la relación DEPARTAMENTO<br />

ubicada en el nodo 1, al nodo 3 y realizar en el<br />

nodo 3 la operación <strong>de</strong> Join.<br />

En éste caso se transfieren:<br />

1.000.000 + 3.500 = 1.003.500 bytes.


Distribuido.<br />

10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Envío a un Nodo<br />

Transferir la relación EMPLEADO ubicada en el<br />

nodo 1 al nodo 2, ejecutar el Join en el nodo 2 y<br />

enviar el resultado al nodo 3.<br />

Esto implicaría transferir:<br />

1.000.000 + 400.000 (resultado) = 1.400.000 bytes<br />

Ó<br />

Transferir la relación DEPARTAMENTO ubicada<br />

en el nodo 2 al nodo 1, ejecutar el Join en el nodo<br />

1 y enviar el resultado al nodo 3.<br />

En este caso, los bytes transferidos serán:<br />

3.500 + 400.000 (resultado) = 403.500 bytes.


10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

SemiJoins<br />

•Reducción <strong>de</strong>l número <strong>de</strong> tuplas<br />

antes <strong>de</strong> ser transferidas a otro nodo.<br />

•Se envía la columna con la que se va<br />

a realizar el Join <strong>de</strong> una relación R al<br />

nodo don<strong>de</strong> se encuentra la otra<br />

relación, allí se realiza el Join.<br />

•Se envían las columnas implicadas<br />

en el resultado al nodo inicial y se<br />

vuelve a realizar el join con R.


10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

SemiJoins<br />

Ejemplo con semijoin Q1:<br />

Paso 1:<br />

Proyección en DEPARTAMENTO<br />

sobre atributos que van a intervenir<br />

en la operación <strong>de</strong> Join y<br />

transferencia al nodo 1.<br />

F1: π NDpto<br />

(DEPARTAMENTO).<br />

Tamaño resultante:<br />

4 bytes <strong>de</strong>l atributo NDpto *<br />

100 tuplas <strong>de</strong> DEPARTAMENTO = 400<br />

bytes transferidos.


10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

SemiJoins<br />

Paso 2:<br />

Realización <strong>de</strong>l Join <strong>de</strong> las<br />

tuplas transferidas en el paso<br />

anterior. Transferencia <strong>de</strong>l resultado<br />

<strong>de</strong>l Join <strong>de</strong> nuevo al nodo 1. Se<br />

transfieren sólo los atributos<br />

necesarios para realizar el join final:<br />

R1: π Dpto,Nombre,Apellido (F1 * EMPLEADO)<br />

Tamaño:(4 + 15 + 15) * 10.000 = 340.000<br />

bytes transferidos.<br />

El resultado en este Join es llamado:<br />

La reducción <strong>de</strong> Empleado con respecto a<br />

Departamento.


10.1) Fragmentación<br />

10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Paso 3:<br />

SemiJoins<br />

Se Realiza el Join final:<br />

Resultado:<br />

Departamento Join R1.<br />

Total Costo <strong>de</strong> Trasferencia:<br />

Costo Paso 1 + Costo Paso 2<br />

400 bytes + 340.000 bytes =<br />

340.400 bytes trasferidos.


10.1.1) Horizontal<br />

10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Actualizaciones <strong>de</strong> la Data Distribuida<br />

Igualmente las transacciones <strong>de</strong>ben<br />

seguir siendo atómicas, hay dos<br />

maneras <strong>de</strong> actualizar las copias <strong>de</strong><br />

una relación modificada.


10.1.2) Vertical<br />

10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Replicación Síncrona<br />

Todas las copias <strong>de</strong> la relación<br />

modificada son actualizadas antes<br />

que la transacción que las modificó<br />

haga commit. Aquí se aplican 2<br />

técnicas:


10.1.3) Mixta<br />

10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Voting (Votando)<br />

Una transacción <strong>de</strong>be escribir en la mayoría<br />

<strong>de</strong> las copias para modificar un objeto, y<br />

<strong>de</strong>be leer suficientes para asegurarse que la<br />

copia esta presente.<br />

Ejemplo:


10.2) Replicación <strong>de</strong> <strong>Datos</strong><br />

11) Procesamiento <strong>de</strong> un Query Distribuido<br />

11.1) Queries Nonjoin en un DBMS<br />

Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Read-any write-all<br />

(Leer cualquiera, Escribir en todas)<br />

Para leer un objeto, una transacción<br />

pue<strong>de</strong> leer cualquier copia, pero para<br />

escribir un objeto, ésta <strong>de</strong>be escribir<br />

todas las copias.<br />

Ejemplo:


Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Replicación Asíncrona<br />

Es la más ampliamente usada a nivel comercial<br />

en los DBMSs. Las copias <strong>de</strong> una relación<br />

modificada son actualizadas solo<br />

periódicamente. Si una transacción lee varias<br />

copias <strong>de</strong> la misma relación pue<strong>de</strong> estar<br />

leyendo distintos valores.<br />

La replicación asíncrona trae consigo un costo<br />

significativo. Antes que una transacción <strong>de</strong><br />

actualización pueda hacer commit, esta <strong>de</strong>be<br />

obtener los locks sobre todas las copias <strong>de</strong> la<br />

data modificada. La transacción pue<strong>de</strong> haber<br />

mandado solicitu<strong>de</strong>s <strong>de</strong> lock a sitios remotos y<br />

esperar por los locks, pero durante este<br />

periodo ella mantiene sus otros locks.


Distribuido<br />

11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Sitio Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Replicación Asíncrona<br />

Si el nodo o el enlace <strong>de</strong> comunicación<br />

fallan, la transacción no pue<strong>de</strong> hacer commit<br />

hasta que todos los nodos a los cuales les<br />

ha modificado la data se recuperen. Por lo<br />

tanto, la replicación asíncrona no es<br />

<strong>de</strong>seable e inclusive inalcanzable en muchas<br />

situaciones. El hecho <strong>de</strong> mantener copias<br />

con distintitos valores <strong>de</strong> una misma<br />

relación ocasiona la inconsistencia <strong>de</strong> los<br />

datos.<br />

Existen dos técnicas:<br />

•De Nodo Primario.<br />

•Par a Par


11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Nodo Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

De Nodo Primario<br />

Se establece la relación como copia primaria<br />

o maestra. Las réplicas o los fragmentos <strong>de</strong><br />

la relación completa son copias secundarias<br />

y pue<strong>de</strong>n ser creadas <strong>de</strong>s<strong>de</strong> otros nodos; y<br />

a diferencia <strong>de</strong> la copia primaria, las<br />

secundarias pue<strong>de</strong>n no ser actualizada.


11.2) Joins en un DBMS Distribuido<br />

11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Nodo Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Ejemplo:<br />

De Nodo Primario


11.2.1) Leer lo Necesario<br />

11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Nodo Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Par a Par<br />

Más <strong>de</strong> una copia se pue<strong>de</strong> establecer<br />

como copia primaria, haciendo posible la<br />

actualización en ella. Y a las copias<br />

secundarias no se les permite actualizar.<br />

Esta técnica es la más usada.


11.2.2) Envío a un nodo<br />

11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Nodo Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Transacción Distribuida<br />

Una subtransacción es aquella<br />

transacción iniciada en un nodo y que<br />

acce<strong>de</strong> a otros nodos.<br />

Cuando una transacción es<br />

referida a otro nodo, el manejador <strong>de</strong><br />

transacción <strong>de</strong> este nodo se encarga <strong>de</strong><br />

partir la transacción en una colección <strong>de</strong><br />

subtransacciones que se ejecutan en<br />

diferentes nodos.


11.2.3) Semijoins<br />

12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Nodo Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Control <strong>de</strong> Concurrencia Distribuida<br />

Los lock en <strong>BDD</strong> pue<strong>de</strong>n estar ubicados<br />

en distintos nodos, y estos pue<strong>de</strong>n ser<br />

distribuidos a lo largo <strong>de</strong> los nodos <strong>de</strong><br />

muchas maneras:


12) Actualización <strong>de</strong> la Data Distribuida<br />

12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Nodo Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Centralizado<br />

Un solo nodo es el encargado <strong>de</strong> manejar<br />

las distintas peticiones <strong>de</strong> los locks y<br />

unlocks para todos los objetos.


12.1) Replicación Síncrona<br />

12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Nodo Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Copia Primaria<br />

Se <strong>de</strong>signa una copia <strong>de</strong> cada objeto<br />

como copia primaria, todas las peticiones<br />

<strong>de</strong> locks y unlocks, son manejadas por el<br />

manejador <strong>de</strong> lock <strong>de</strong>l nodo en el cual<br />

estan ubicadas las copias primarias <strong>de</strong> los<br />

objetos, sin importar don<strong>de</strong> este<br />

almacenado la copia particular solicitada.


12.1.1) Voting (Votando)<br />

12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Nodo Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Totalmente Distribuido<br />

Las peticiones <strong>de</strong> locks y unlocks sobre<br />

una copia <strong>de</strong> un objeto almacenado en un<br />

nodo son manejadas por el manejador <strong>de</strong><br />

lock <strong>de</strong>l mismo nodo.


12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Nodo Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

Interbloqueos Distribuido<br />

16.3) Protocolo <strong>de</strong> Tres Fases Cada nodo posee su Grafo <strong>de</strong> Espera, si en<br />

alguno <strong>de</strong> estos grafos locales aparece un ciclo,<br />

es porque existe un interbloqueo. Sin embargo<br />

pue<strong>de</strong> ocurrir un interbloqueo aunque no<br />

existan ciclos en grafos locales <strong>de</strong> espera.<br />

Ejemplo:<br />

Supongamos 2 nodos X e Y, ambos<br />

contienen copias <strong>de</strong> los objetos Obj1 y Obj2;<br />

a<strong>de</strong>más la técnica usada es read-any write-all.<br />

T1: T2:<br />

Begin<br />

Begin<br />

S-lock Obj1 at nodo X S-lock Obj2 at nodo Y<br />

X-lock Obj2 at nodo X X-lock Obj1 at nodo Y<br />

X-lock Obj2 at nodo Y X-lock Obj1 at nodo X


12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Nodo Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Interbloqueos Distribuido<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases Grafos <strong>de</strong> Espera:


12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Nodo Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Interbloqueos Distribuido<br />

Por lo tanto para <strong>de</strong>tectar este tipo <strong>de</strong><br />

interbloqueos se <strong>de</strong>be usar un algoritmo<br />

<strong>de</strong> interbloqueo distribuido.<br />

Existen 3 algoritmos.<br />

1º: Es centralizado, consiste en<br />

mandar periódicamente todos los grafos<br />

locales <strong>de</strong> espera a un nodo responsable<br />

por la <strong>de</strong>tección <strong>de</strong> interbloqueo global.


12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Nodo Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Interbloqueos Distribuido<br />

2º: Es jerárquico, consiste en<br />

agrupar los nodos <strong>de</strong> modo creciente, los<br />

primeros grupos contendrán pocos nodos,<br />

y a medida que crezca los grupos irán<br />

conteniendo mas nodos, hasta el nodo<br />

principal q contendrá a todos los nodos.<br />

Cada grupo construye su grafo <strong>de</strong> espera<br />

y así revelara los intebloqueos generales.<br />

Los grupos mas abajo en la<br />

jerarquía enviaran sus grafos <strong>de</strong> espera<br />

más constantemente que los grupos en un<br />

nivel alto en la jerarquía.


12.1.2) Read-any write-all<br />

(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Nodo Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Interbloqueos Distribuido<br />

3º: Si una transacción esta en<br />

espera más <strong>de</strong> un intervalo <strong>de</strong> tiempo<br />

<strong>de</strong>finido, entonces esta es abortada.


(Leer cualquiera, Escribir<br />

en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Nodo Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Recuperación Distribuida<br />

De la Recuperación Distribuida se tiene:<br />

•Ejecución Normal y Protocolos Commit<br />

•Reinicio luego <strong>de</strong> una Falla<br />

•Protocolo <strong>de</strong> Tres Fases


en todas)<br />

12.2) Replicación Asíncrona<br />

12.2.1) De Nodo Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Ejecución Normal y Protocolos Commit<br />

Durante la ejecución normal cada nodo<br />

mantiene su log, y las acciones <strong>de</strong> las<br />

subtransacciones son logged en el nodo<br />

don<strong>de</strong> son ejecutadas. El manejador <strong>de</strong><br />

transacciones en el nodo don<strong>de</strong> se origino<br />

es llamado “el coordinador” para esta<br />

transacción, los manejadores <strong>de</strong><br />

transacciones en los nodos don<strong>de</strong> las<br />

subtransacciones se ejecutan son<br />

llamados subordinados.


12.2.1) De Nodo Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Protocolo <strong>de</strong> Dos Fases<br />

Cuando un usuario hace Commit en una<br />

transacción, el Commit es mandado al<br />

coordinador.<br />

Y se realizan los siguientes 4 pasos:<br />

•El coordinador manda un mensaje <strong>de</strong><br />

prepárense a cada subordinado.<br />

•Al recibir el subordinado el mensaje,<br />

<strong>de</strong>ci<strong>de</strong> si aborta o hace Commit en su<br />

transacción. Y envía un mensaje <strong>de</strong> aviso<br />

<strong>de</strong> estado (Si o No) al coordinador.


12.2.1) De Nodo Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Protocolo <strong>de</strong> Dos Fases<br />

• Si el coordinador recibe un mensaje <strong>de</strong><br />

si <strong>de</strong> todos los subordinados, fuerza la<br />

escritura <strong>de</strong>l Commit en los registros log y<br />

luego manda un mensaje <strong>de</strong> Commit a<br />

todos los subordinados. Si recibe un<br />

mensaje <strong>de</strong> no en todos o alguno <strong>de</strong> los<br />

subordinados no respon<strong>de</strong> en un intervalo<br />

<strong>de</strong> tiempo, fuerza la escritura <strong>de</strong> abort en<br />

el log, y manda un mensaje <strong>de</strong> aborten a<br />

los subordinados.


12.2.1) De Nodo Primario<br />

12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Protocolo <strong>de</strong> Dos Fases<br />

• Cuando un subordinado recibe un<br />

mensaje <strong>de</strong> abort o Commit, este fuerza la<br />

escritura <strong>de</strong> abort o Commit en el log y<br />

manda un mensaje <strong>de</strong> ack al coordinador,<br />

don<strong>de</strong> este aborta o hace Commit en la<br />

subtransacción.


12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Reinicio luego <strong>de</strong> una Falla<br />

• Si tenemos un Commit o un Abort <strong>de</strong> la<br />

transacción T, limpiamos la transacción,<br />

aplicamos Redo o Undo respectivamente.<br />

Si este nodo es el coordinador, <strong>de</strong>bemos<br />

periódicamente reenviar los mensajes a<br />

cada subordinado hasta que recibamos<br />

ack <strong>de</strong> todos ellos. Después <strong>de</strong> recibirlos,<br />

escribimos un end en el log para T.


12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Reinicio luego <strong>de</strong> una Falla<br />

• Si tenemos un registro <strong>de</strong> log prepárense para<br />

la transacción T, pero no un Commit ni un<br />

Abort; entonces sabemos que este nodo es un<br />

subordinado, ya que el coordinador pue<strong>de</strong> ser<br />

<strong>de</strong>terminado con el registro prepárense <strong>de</strong>l log.<br />

Entonces <strong>de</strong>bemos repetidamente contactar al<br />

coordinador <strong>de</strong>l nodo y <strong>de</strong>terminar el estatus <strong>de</strong><br />

T. Una vez que el coordinador responda, sin<br />

importar si fue Commit o Abort, escribimos el<br />

correspondiente registro log, aplicamos Redo o<br />

Undo y escribimos end <strong>de</strong> la transacción.


12.2.2) Par a Par<br />

13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Reinicio luego <strong>de</strong> una Falla<br />

• Si tenemos no preparado, Commit o Abort en<br />

el log para la transacción T; seguramente la<br />

transacción T no había hecho Commit antes <strong>de</strong> la<br />

falla, entonces <strong>de</strong>bemos abortar unilateralmente y<br />

Undo T y escribir un end en el log. Para este caso<br />

no po<strong>de</strong>mos <strong>de</strong>terminar si el nodo es el<br />

coordinador o es subordinado para T. Sin embargo<br />

no existe problema <strong>de</strong>bido a que si este nodo es<br />

coordinador para un transacción T y falla, los<br />

subordinados que mandaron mensaje <strong>de</strong> si no<br />

pue<strong>de</strong>n <strong>de</strong>cidir hacer Commit o Abort a T hasta<br />

que el coordinador se recupere y pueda <strong>de</strong>cidir por<br />

ellos. En este caso <strong>de</strong>cimos que T esta<br />

bloqueada.


13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Protocolo <strong>de</strong> Tres Fases<br />

Este es una mejora al protocolo 2 fases, este<br />

protocolo pue<strong>de</strong> eliminar el bloqueo incluso<br />

si el nodo coordinador falla durante la<br />

recuperación.<br />

Cuando el coordinador man<strong>de</strong> el<br />

mensaje prepárense y reciba el mensaje <strong>de</strong><br />

si <strong>de</strong> todos los subordinados, manda a<br />

todos los nodos un mensaje <strong>de</strong> precommit.<br />

Luego cuando ya ha recibido un número<br />

significativo <strong>de</strong> ack, fuerza la escritura <strong>de</strong>l<br />

Commit en el log y manda mensaje <strong>de</strong><br />

Commit a todos los subordinados.


13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

16.3) Protocolo <strong>de</strong> Tres Fases<br />

Protocolo <strong>de</strong> Tres Fases<br />

Este protocolo impone un costo adicional<br />

durante la ejecución normal y requiere que<br />

las fallas en los enlaces <strong>de</strong> comunicación no<br />

conlleven a la partición <strong>de</strong> la red, para<br />

asegurar estar libre <strong>de</strong> bloqueos. Por esta<br />

razón no se usa en la práctica.


13) Transacción Distribuida<br />

14) Control <strong>de</strong> Concurrencia Distribuida<br />

14.1) Centralizado<br />

14.2) Copia Primaria<br />

14.3) Totalmente Distribuido<br />

15) Interbloqueos Distribuidos<br />

16) Recuperación Distribuida<br />

16.1) Ejecución Normal y Protocolos<br />

Commit<br />

16.1.1) Protocolo <strong>de</strong> Dos Fases<br />

16.2) Reinicio luego <strong>de</strong> una Falla<br />

Bibliografía<br />

Bibliografía<br />

•Ramakrishnan, Gehrke<br />

"Database Management Systems“<br />

Cap 22.<br />

•http://sweb.uv.es/docencia/iiguia/asignatu/2000/BD2/<br />

BD2Tema9.pdf<br />

•www.dlsi.ua.es/asignaturas/sid/sid2001-t4.ppt<br />

•http://alfa.facyt.uc.edu.ve/computacion/pensum/cs0347/download/<br />

DISTRIBUIDAS.pdf

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!