BDD Bases de Datos Distribuidas -...

93
BDD Bases de Datos Distribuidas Integrantes: Miguel Marchetti. Guillermo Vera.

Transcript of BDD Bases de Datos Distribuidas -...

BDDBases de Datos Distribuidas

Integrantes:Miguel Marchetti.Guillermo Vera.

Introducción

Las BDD son la unión de dos conceptos los DBMS y la tecnología de redes de computadores.

Los DBMS se basan en un paradigma de procesamiento de datos, que poseen una data única que es definida y administrada en un punto de control centralizado.

La tecnología de redes de computadores, promueve un modo de trabajo que va en contra de todo esfuerzo de centralización.

La idea consiste en lograr la integración y distribución y que ambos enfoques no pierdan su naturaleza esencial.

Introducción¿Porque Hablamos De BDD?1) Conceptos Básicos.

1.1) Sistema De Computación Distribuído.

1.2) Base De Datos Distribuída(Bdd).

1.3) Sistema De Gestión De Base De Datos Distribuído (Ddbms).

1.3.1) Características SABDD.1.3.2) Funciones De Un

SABDD.1.4) Nodo O Emplazamiento1.5) Redes De Comunicación

1.5.1) Red De Área Local (Local Area Network)

1.5.2) Red De Área Amplia (Long-haul Network)2) Base De Datos Distribuidas3) Razones Para Construir Un Sistema Distribuido4) Tipos De Transacciones

4.1) Locales: 4.2) Globales:

5) Ventajas De Las Bds Distribuidas6) Desventajas De Las Bds Distribuidas7) Condiciones Deseables De Una BD Distribuida8) Tipos De Bds Distribuidas

8.1) Homogéneas:8.2) Heterogéneas O Multibases De

Datos9) Arquitectura De Los DbmssDistribuidos

9.1) Cliente-servidor9.2) Servidores Cooperantes9.3) De Una Vía Centralizada

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos

IntroducciónIntroducción¿Porque Hablamos De BDD?1) Conceptos Básicos.

1.1) Sistema De Computación Distribuído.

1.2) Base De Datos Distribuída(Bdd).

1.3) Sistema De Gestión De Base De Datos Distribuído (Ddbms).

1.3.1) Características SABDD.1.3.2) Funciones De Un

SABDD.1.4) Nodo O Emplazamiento1.5) Redes De Comunicación

1.5.1) Red De Área Local (Local Area Network)

1.5.2) Red De Área Amplia (Long-haul Network)2) Base De Datos Distribuidas3) Razones Para Construir Un Sistema Distribuido4) Tipos De Transacciones

4.1) Locales: 4.2) Globales:

5) Ventajas De Las Bds Distribuidas6) Desventajas De Las Bds Distribuidas7) Condiciones Deseables De Una BD Distribuida8) Tipos De Bds Distribuidas

8.1) Homogéneas:8.2) Heterogéneas O Multibases De

Datos9) Arquitectura De Los DbmssDistribuidos

9.1) Cliente-servidor9.2) Servidores Cooperantes9.3) De Una Vía Centralizada

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos

¿Porque Hablamos De BDD?

¿Por qué son necesarias las bases de datos distribuidas?

Para administrar datos distribuidos geográfica o administrativamenteEn general las empresas están ya distribuidas de manera lógica porlo que se deduce que los datos también estén distribuidos.Una base de datos distribuida permite reflejar la estructuralógica de la empresa.

Introducción¿Porque Hablamos De BDD?1) Conceptos Básicos.

1.1) Sistema De Computación Distribuído.

1.2) Base De Datos Distribuída(Bdd).

1.3) Sistema De Gestión De Base De Datos Distribuído (Ddbms).

1.3.1) Características SABDD.1.3.2) Funciones De Un

SABDD.1.4) Nodo O Emplazamiento1.5) Redes De Comunicación

1.5.1) Red De Área Local (Local Area Network)

1.5.2) Red De Área Amplia (Long-haul Network)2) Base De Datos Distribuidas3) Razones Para Construir Un Sistema Distribuido4) Tipos De Transacciones

4.1) Locales: 4.2) Globales:

5) Ventajas De Las Bds Distribuidas6) Desventajas De Las Bds Distribuidas7) Condiciones Deseables De Una BD Distribuida8) Tipos De Bds Distribuidas

8.1) Homogéneas:8.2) Heterogéneas O Multibases De

Datos9) Arquitectura De Los DbmssDistribuidos

9.1) Cliente-servidor9.2) Servidores Cooperantes9.3) De Una Vía Centralizada

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query

SISTEMA DE COMPUTACIÓN DISTRIBUÍDO.

Es un número de elementos de procesamiento (no necesariamente homogéneos) que están interconectados en una red de computadores y que cooperan para realizar las tareas que tienen asignadas.

Introducción¿Porque Hablamos De BDD?1) Conceptos Básicos.

1.1) Sistema De Computación Distribuído.

1.2) Base De Datos Distribuída(Bdd).

1.3) Sistema De Gestión De Base De Datos Distribuído (Ddbms).

1.3.1) Características SABDD.1.3.2) Funciones De Un

SABDD.1.4) Nodo O Emplazamiento1.5) Redes De Comunicación

1.5.1) Red De Área Local (Local Area Network)

1.5.2) Red De Área Amplia (Long-haul Network)2) Base De Datos Distribuidas3) Razones Para Construir Un Sistema Distribuido4) Tipos De Transacciones

4.1) Locales: 4.2) Globales:

5) Ventajas De Las Bds Distribuidas6) Desventajas De Las Bds Distribuidas7) Condiciones Deseables De Una BD Distribuida8) Tipos De Bds Distribuidas

8.1) Homogéneas:8.2) Heterogéneas O Multibases De

Datos9) Arquitectura De Los DbmssDistribuidos

9.1) Cliente-servidor9.2) Servidores Cooperantes9.3) De Una Vía Centralizada

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS

Base De Datos Distribuída (BDD).

Es una colección de múltiples bases de datos lógicamente interrelacionadas y repartidas sobre un sistema de computo distribuído.

Introducción¿Porque Hablamos De BDD?1) Conceptos Básicos.

1.1) Sistema De Computación Distribuído.

1.2) Base De Datos Distribuída(Bdd).

1.3) Sistema De Gestión De Base De Datos Distribuído (Ddbms).

1.3.1) Características SABDD.1.3.2) Funciones De Un

SABDD.1.4) Nodo O Emplazamiento1.5) Redes De Comunicación

1.5.1) Red De Área Local (Local Area Network)

1.5.2) Red De Área Amplia (Long-haul Network)2) Base De Datos Distribuidas3) Razones Para Construir Un Sistema Distribuido4) Tipos De Transacciones

4.1) Locales: 4.2) Globales:

5) Ventajas De Las Bds Distribuidas6) Desventajas De Las Bds Distribuidas7) Condiciones Deseables De Una BD Distribuida8) Tipos De Bds Distribuidas

8.1) Homogéneas:8.2) Heterogéneas O Multibases De

Datos9) Arquitectura De Los DbmssDistribuidos

9.1) Cliente-servidor9.2) Servidores Cooperantes9.3) De Una Vía Centralizada

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido

Sistema De Gestión De Base De Datos Distribuído (DDBMS).

Un sistema de gestión de bases de datos distribuidas (SGBDD) es el software que permite el manejo de bases de datos distribuidas y que hace dicha distribución transparente al usuario, es decir, los usuarios actúan como si todo estuviese junto en una sola base de datos.

Transparente significa: las aplicaciones trabajaran, desde un punto de vista lógico, como sí un solo SGBD ejecutado en una sola máquina, administrara esos datos.

Introducción¿Porque Hablamos De BDD?1) Conceptos Básicos.

1.1) Sistema De Computación Distribuído.

1.2) Base De Datos Distribuída(Bdd).

1.3) Sistema De Gestión De Base De Datos Distribuído (Ddbms).

1.3.1) Características SABDD.1.3.2) Funciones De Un

SABDD.1.4) Nodo O Emplazamiento1.5) Redes De Comunicación

1.5.1) Red De Área Local (Local Area Network)

1.5.2) Red De Área Amplia (Long-haul Network)2) Base De Datos Distribuidas3) Razones Para Construir Un Sistema Distribuido4) Tipos De Transacciones

4.1) Locales: 4.2) Globales:

5) Ventajas De Las Bds Distribuidas6) Desventajas De Las Bds Distribuidas7) Condiciones Deseables De Una BD Distribuida8) Tipos De Bds Distribuidas

8.1) Homogéneas:8.2) Heterogéneas O Multibases De

Datos9) Arquitectura De Los DbmssDistribuidos

9.1) Cliente-servidor9.2) Servidores Cooperantes9.3) De Una Vía Centralizada

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo

Características SABDD.

• Una colección de datos compartidos y relacionados lógicamente.• Los datos están divididos en fragmentos.• Los fragmentos se pueden duplicar.• Los fragmentos se colocan en varios emplazamientos (computadores).• Dichos emplazamientos están conectados por una red.• Los datos de cada emplazamiento están bajo el control de un SABD.• Cada SABD participa en al menos una aplicación global.

Introducción¿Porque Hablamos De BDD?1) Conceptos Básicos.

1.1) Sistema De Computación Distribuído.

1.2) Base De Datos Distribuída(Bdd).

1.3) Sistema De Gestión De Base De Datos Distribuído (Ddbms).

1.3.1) Características SABDD.1.3.2) Funciones De Un

SABDD.1.4) Nodo O Emplazamiento1.5) Redes De Comunicación

1.5.1) Red De Área Local (Local Area Network)

1.5.2) Red De Área Amplia (Long-haul Network)2) Base De Datos Distribuidas3) Razones Para Construir Un Sistema Distribuido4) Tipos De Transacciones

4.1) Locales: 4.2) Globales:

5) Ventajas De Las Bds Distribuidas6) Desventajas De Las Bds Distribuidas7) Condiciones Deseables De Una BD Distribuida8) Tipos De Bds Distribuidas

8.1) Homogéneas:8.2) Heterogéneas O Multibases De

Datos9) Arquitectura De Los DbmssDistribuidos

9.1) Cliente-servidor9.2) Servidores Cooperantes9.3) De Una Vía Centralizada

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida

Funciones de un SABDD.

Además de las funciones de un SGBD centralizado, un SGBDD debe tener las siguientes funciones:

- Servicios de comunicación extendidos para proporcionar acceso a localizacionesremotas y permitir la transferencia de consultas y datos entre las localizacionesusando una red.

- Catálogo del sistema extendido para almacenar detalles sobre la distribución delos datos.

Introducción¿Porque Hablamos De BDD?1) Conceptos Básicos.

1.1) Sistema De Computación Distribuído.

1.2) Base De Datos Distribuída(Bdd).

1.3) Sistema De Gestión De Base De Datos Distribuído (Ddbms).

1.3.1) Características SABDD.1.3.2) Funciones De Un

SABDD.1.4) Nodo O Emplazamiento1.5) Redes De Comunicación

1.5.1) Red De Área Local (Local Area Network)

1.5.2) Red De Área Amplia (Long-haul Network)2) Base De Datos Distribuidas3) Razones Para Construir Un Sistema Distribuido4) Tipos De Transacciones

4.1) Locales: 4.2) Globales:

5) Ventajas De Las Bds Distribuidas6) Desventajas De Las Bds Distribuidas7) Condiciones Deseables De Una BD Distribuida8) Tipos De Bds Distribuidas

8.1) Homogéneas:8.2) Heterogéneas O Multibases De

Datos9) Arquitectura De Los DbmssDistribuidos

9.1) Cliente-servidor9.2) Servidores Cooperantes9.3) De Una Vía Centralizada

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

Funciones de un SABDD.

- Procesamiento distribuido de consultas, incluyendo optimización de consultas y acceso a datos remotos.

- Control de concurrencia extendido para mantener la consistencia de los datos replicados.

- Servicios de recuperación extendidos que tengan en cuenta fallos en laslocalizaciones individuales y fallos de conexiones de comunicación.

Introducción¿Porque Hablamos De BDD?1) Conceptos Básicos.

1.1) Sistema De Computación Distribuído.

1.2) Base De Datos Distribuída(Bdd).

1.3) Sistema De Gestión De Base De Datos Distribuído (Ddbms).

1.3.1) Características SABDD.1.3.2) Funciones De Un

SABDD.1.4) Nodo O Emplazamiento1.5) Redes De Comunicación

1.5.1) Red De Área Local (Local Area Network)

1.5.2) Red De Área Amplia (Long-haul Network)2) Base De Datos Distribuidas3) Razones Para Construir Un Sistema Distribuido4) Tipos De Transacciones

4.1) Locales: 4.2) Globales:

5) Ventajas De Las Bds Distribuidas6) Desventajas De Las Bds Distribuidas7) Condiciones Deseables De Una BD Distribuida8) Tipos De Bds Distribuidas

8.1) Homogéneas:8.2) Heterogéneas O Multibases De

Datos9) Arquitectura De Los DbmssDistribuidos

9.1) Cliente-servidor9.2) Servidores Cooperantes9.3) De Una Vía Centralizada

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

Nodo o Emplazamiento.

Se refiere a cada uno de los ordenadores que integran el sistema de Bases de Datos distribuido.

¿Porque Hablamos De BDD?1) Conceptos Básicos.

1.1) Sistema De Computación Distribuído.

1.2) Base De Datos Distribuída(Bdd).

1.3) Sistema De Gestión De Base De Datos Distribuído (Ddbms).

1.3.1) Características SABDD.1.3.2) Funciones De Un

SABDD.1.4) Nodo O Emplazamiento1.5) Redes De Comunicación

1.5.1) Red De Área Local (Local Area Network)

1.5.2) Red De Área Amplia (Long-haul Network)2) Base De Datos Distribuidas3) Razones Para Construir Un Sistema Distribuido4) Tipos De Transacciones

4.1) Locales: 4.2) Globales:

5) Ventajas De Las Bds Distribuidas6) Desventajas De Las Bds Distribuidas7) Condiciones Deseables De Una BD Distribuida8) Tipos De Bds Distribuidas

8.1) Homogéneas:8.2) Heterogéneas O Multibases De

Datos9) Arquitectura De Los DbmssDistribuidos

9.1) Cliente-servidor9.2) Servidores Cooperantes9.3) De Una Vía Centralizada

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(

Redes de Comunicación.

Una red de computadores consiste es un conjunto de computadores llamados sites o nodos que están conectados mediante algún tipo de red de comunicaciones para transmitir data.

Existen dos tipos de redes:•Red de Área Local (local area network) •Red de Área Amplia (long-haul network)

¿ q1) Conceptos Básicos.

1.1) Sistema De Computación Distribuído.

1.2) Base De Datos Distribuída(Bdd).

1.3) Sistema De Gestión De Base De Datos Distribuído (Ddbms).

1.3.1) Características SABDD.1.3.2) Funciones De Un

SABDD.1.4) Nodo O Emplazamiento1.5) Redes De Comunicación

1.5.1) Red De Área Local (Local Area Network)

1.5.2) Red De Área Amplia (Long-haul Network)2) Base De Datos Distribuidas3) Razones Para Construir Un Sistema Distribuido4) Tipos De Transacciones

4.1) Locales: 4.2) Globales:

5) Ventajas De Las Bds Distribuidas6) Desventajas De Las Bds Distribuidas7) Condiciones Deseables De Una BD Distribuida8) Tipos De Bds Distribuidas

8.1) Homogéneas:8.2) Heterogéneas O Multibases De

Datos9) Arquitectura De Los DbmssDistribuidos

9.1) Cliente-servidor9.2) Servidores Cooperantes9.3) De Una Vía Centralizada

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir

Red de Área Local (local area network)

En donde los nodos se encuentran físicamente cercanos (como en un mismo edificio o edificios adyacentes) y normalmente se conecta usando cables.

) p1.1) Sistema De Computación

Distribuído. 1.2) Base De Datos Distribuída

(Bdd). 1.3) Sistema De Gestión De Base De

Datos Distribuído (Ddbms). 1.3.1) Características SABDD.1.3.2) Funciones De Un

SABDD.1.4) Nodo O Emplazamiento1.5) Redes De Comunicación

1.5.1) Red De Área Local (Local Area Network)

1.5.2) Red De Área Amplia (Long-haul Network)2) Base De Datos Distribuidas3) Razones Para Construir Un Sistema Distribuido4) Tipos De Transacciones

4.1) Locales: 4.2) Globales:

5) Ventajas De Las Bds Distribuidas6) Desventajas De Las Bds Distribuidas7) Condiciones Deseables De Una BD Distribuida8) Tipos De Bds Distribuidas

8.1) Homogéneas:8.2) Heterogéneas O Multibases De

Datos9) Arquitectura De Los DbmssDistribuidos

9.1) Cliente-servidor9.2) Servidores Cooperantes9.3) De Una Vía Centralizada

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

Red de Área Amplia (long-haul network)

En donde los nodos se hallan geográficamente distantes (en otras ciudades o países) y para la comunicación se usan líneas telefónicas y satélites.

A veces, se encuentran redes que usan ambos tipos de conexión.

1.2) Base De Datos Distribuída(Bdd).

1.3) Sistema De Gestión De Base De Datos Distribuído (Ddbms).

1.3.1) Características SABDD.1.3.2) Funciones De Un

SABDD.1.4) Nodo O Emplazamiento1.5) Redes De Comunicación

1.5.1) Red De Área Local (Local Area Network)

1.5.2) Red De Área Amplia (Long-haul Network)2) Base De Datos Distribuidas3) Razones Para Construir Un Sistema Distribuido4) Tipos De Transacciones

4.1) Locales: 4.2) Globales:

5) Ventajas De Las Bds Distribuidas6) Desventajas De Las Bds Distribuidas7) Condiciones Deseables De Una BD Distribuida8) Tipos De Bds Distribuidas

8.1) Homogéneas:8.2) Heterogéneas O Multibases De

Datos9) Arquitectura De Los DbmssDistribuidos

9.1) Cliente-servidor9.2) Servidores Cooperantes9.3) De Una Vía Centralizada

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario

Base de datos distribuidas

Son un sistema de bases de datos en el cual la data está almacenada físicamente en varios “nodos” y cada uno de estos es manejado por un DBMS capaz de funcionar independientemente de los otros.

Estos sistemas no comparten ni memoria, ni disco y las computadoras utilizadas pueden variar en tamaño y función, abarcando desde estaciones de trabajo hasta los grandes sistemas.

1.3) Sistema De Gestión De Base De Datos Distribuído (Ddbms).

1.3.1) Características SABDD.1.3.2) Funciones De Un

SABDD.1.4) Nodo O Emplazamiento1.5) Redes De Comunicación

1.5.1) Red De Área Local (Local Area Network)

1.5.2) Red De Área Amplia (Long-haul Network)2) Base De Datos Distribuidas3) Razones Para Construir Un Sistema Distribuido4) Tipos De Transacciones

4.1) Locales: 4.2) Globales:

5) Ventajas De Las Bds Distribuidas6) Desventajas De Las Bds Distribuidas7) Condiciones Deseables De Una BD Distribuida8) Tipos De Bds Distribuidas

8.1) Homogéneas:8.2) Heterogéneas O Multibases De

Datos9) Arquitectura De Los DbmssDistribuidos

9.1) Cliente-servidor9.2) Servidores Cooperantes9.3) De Una Vía Centralizada

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida

Base de datos distribuidas

Es distribuido si cumple que:

•Los distintos nodos están informados sobre los demás.

•Aunque algunas tablas estén almacenadas sólo en algunos nodos, éstos comparten un esquema global común.

•Cada nodo proporciona un entorno de ejecución de transacciones, tanto local, como global.

•Generalmente, los nodos ejecutan el mismo software de gestión distribuida. En caso contrario se dice que el sistema es heterogéneo.

1.3) Sistema De Gestión De Base De Datos Distribuído (Ddbms).

1.3.1) Características SABDD.1.3.2) Funciones De Un

SABDD.1.4) Nodo O Emplazamiento1.5) Redes De Comunicación

1.5.1) Red De Área Local (Local Area Network)

1.5.2) Red De Área Amplia (Long-haul Network)2) Base De Datos Distribuidas3) Razones Para Construir Un Sistema Distribuido4) Tipos De Transacciones

4.1) Locales: 4.2) Globales:

5) Ventajas De Las Bds Distribuidas6) Desventajas De Las Bds Distribuidas7) Condiciones Deseables De Una BD Distribuida8) Tipos De Bds Distribuidas

8.1) Homogéneas:8.2) Heterogéneas O Multibases De

Datos9) Arquitectura De Los DbmssDistribuidos

9.1) Cliente-servidor9.2) Servidores Cooperantes9.3) De Una Vía Centralizada

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida

Base de datos distribuidas

BD Distribuido

1.3) Sistema De Gestión De Base De Datos Distribuído (Ddbms).

1.3.1) Características SABDD.1.3.2) Funciones De Un

SABDD.1.4) Nodo O Emplazamiento1.5) Redes De Comunicación

1.5.1) Red De Área Local (Local Area Network)

1.5.2) Red De Área Amplia (Long-haul Network)2) Base De Datos Distribuidas3) Razones Para Construir Un Sistema Distribuido4) Tipos De Transacciones

4.1) Locales: 4.2) Globales:

5) Ventajas De Las Bds Distribuidas6) Desventajas De Las Bds Distribuidas7) Condiciones Deseables De Una BD Distribuida8) Tipos De Bds Distribuidas

8.1) Homogéneas:8.2) Heterogéneas O Multibases De

Datos9) Arquitectura De Los DbmssDistribuidos

9.1) Cliente-servidor9.2) Servidores Cooperantes9.3) De Una Vía Centralizada

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida

Razones para construir un sistema Distribuido

•Incrementa la Disponibilidad:

Si un nodo falla, los restantes pueden seguir trabajando. En particular si los data ítems están replicados en varios nodos, una transacción que necesite un determinado elemento puede encontrarlo en algún otro nodo. De este modo el fallo de un nodo no implica necesariamente la caída del sistema. El mismo no debe seguir utilizando los servicios del nodo que falló hasta que éste se recupere y sea integrado nuevamente al sistema.

)Datos Distribuído (Ddbms).

1.3.1) Características SABDD.1.3.2) Funciones De Un

SABDD.1.4) Nodo O Emplazamiento1.5) Redes De Comunicación

1.5.1) Red De Área Local (Local Area Network)

1.5.2) Red De Área Amplia (Long-haul Network)2) Base De Datos Distribuidas3) Razones Para Construir Un Sistema Distribuido4) Tipos De Transacciones

4.1) Locales: 4.2) Globales:

5) Ventajas De Las Bds Distribuidas6) Desventajas De Las Bds Distribuidas7) Condiciones Deseables De Una BD Distribuida8) Tipos De Bds Distribuidas

8.1) Homogéneas:8.2) Heterogéneas O Multibases De

Datos9) Arquitectura De Los DbmssDistribuidos

9.1) Cliente-servidor9.2) Servidores Cooperantes9.3) De Una Vía Centralizada

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

Razones para construir un sistema Distribuido

•Acceso Distribuido a los Datos:

Se dispone de un entorno donde los usuarios pueden acceder desde un único nodo a los datos que residen en otros nodos. Por ejemplo: una organización puede tener muchas sucursales en diferentes ciudades y uno de sus analistas puede necesitar acceder a la data correspondiente a diferentes sitios; debido a la distribución de los datos es posible satisfacer esta petición.

Datos Distribuído (Ddbms). 1.3.1) Características SABDD.1.3.2) Funciones De Un

SABDD.1.4) Nodo O Emplazamiento1.5) Redes De Comunicación

1.5.1) Red De Área Local (Local Area Network)

1.5.2) Red De Área Amplia (Long-haul Network)2) Base De Datos Distribuidas3) Razones Para Construir Un Sistema Distribuido4) Tipos De Transacciones

4.1) Locales: 4.2) Globales:

5) Ventajas De Las Bds Distribuidas6) Desventajas De Las Bds Distribuidas7) Condiciones Deseables De Una BD Distribuida8) Tipos De Bds Distribuidas

8.1) Homogéneas:8.2) Heterogéneas O Multibases De

Datos9) Arquitectura De Los DbmssDistribuidos

9.1) Cliente-servidor9.2) Servidores Cooperantes9.3) De Una Vía Centralizada

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

Razones para construir un sistema Distribuido

•Análisis de los Datos Distribuidos:

Las organizaciones desean examinar toda la data a su disposición, aun cuando esta está almacenada en múltiples sitios y en múltiples sistemas de bases de datos. El soporte para tal acceso integrado involucra muchos aspectos, incluso habilitar el acceso a datos ampliamente distribuidos puede ser muy difícil.

)Datos Distribuído (Ddbms).

1.3.1) Características SABDD.1.3.2) Funciones De Un

SABDD.1.4) Nodo O Emplazamiento1.5) Redes De Comunicación

1.5.1) Red De Área Local (Local Area Network)

1.5.2) Red De Área Amplia (Long-haul Network)2) Base De Datos Distribuidas3) Razones Para Construir Un Sistema Distribuido4) Tipos De Transacciones

4.1) Locales: 4.2) Globales:

5) Ventajas De Las Bds Distribuidas6) Desventajas De Las Bds Distribuidas7) Condiciones Deseables De Una BD Distribuida8) Tipos De Bds Distribuidas

8.1) Homogéneas:8.2) Heterogéneas O Multibases De

Datos9) Arquitectura De Los DbmssDistribuidos

9.1) Cliente-servidor9.2) Servidores Cooperantes9.3) De Una Vía Centralizada

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

Razones para construir un sistema Distribuido

•Autonomía:

La principal ventaja de compartir datos por medio de la distribución de datos es que cada nodo es capaz de mantener un grado de control sobre los datos que se almacenan localmente en el.

)Datos Distribuído (Ddbms).

1.3.1) Características SABDD.1.3.2) Funciones De Un

SABDD.1.4) Nodo O Emplazamiento1.5) Redes De Comunicación

1.5.1) Red De Área Local (Local Area Network)

1.5.2) Red De Área Amplia (Long-haul Network)2) Base De Datos Distribuidas3) Razones Para Construir Un Sistema Distribuido4) Tipos De Transacciones

4.1) Locales: 4.2) Globales:

5) Ventajas De Las Bds Distribuidas6) Desventajas De Las Bds Distribuidas7) Condiciones Deseables De Una BD Distribuida8) Tipos De Bds Distribuidas

8.1) Homogéneas:8.2) Heterogéneas O Multibases De

Datos9) Arquitectura De Los DbmssDistribuidos

9.1) Cliente-servidor9.2) Servidores Cooperantes9.3) De Una Vía Centralizada

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

Tipos de Transacciones

Existen dos tipos de transacciones:

• Locales.• Globales.

)1.3.2) Funciones De Un

SABDD.1.4) Nodo O Emplazamiento1.5) Redes De Comunicación

1.5.1) Red De Área Local (Local Area Network)

1.5.2) Red De Área Amplia (Long-haul Network)2) Base De Datos Distribuidas3) Razones Para Construir Un Sistema Distribuido4) Tipos De Transacciones

4.1) Locales: 4.2) Globales:

5) Ventajas De Las Bds Distribuidas6) Desventajas De Las Bds Distribuidas7) Condiciones Deseables De Una BD Distribuida8) Tipos De Bds Distribuidas

8.1) Homogéneas:8.2) Heterogéneas O Multibases De

Datos9) Arquitectura De Los DbmssDistribuidos

9.1) Cliente-servidor9.2) Servidores Cooperantes9.3) De Una Vía Centralizada

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria

Locales

Es aquella que accede a los datos del nodo donde se inició la transacción, es decir, la ejecuta el sistema local de la base de datos sin el control del sistema global de la bd.

)SABDD.

1.4) Nodo O Emplazamiento1.5) Redes De Comunicación

1.5.1) Red De Área Local (Local Area Network)

1.5.2) Red De Área Amplia (Long-haul Network)2) Base De Datos Distribuidas3) Razones Para Construir Un Sistema Distribuido4) Tipos De Transacciones

4.1) Locales: 4.2) Globales:

5) Ventajas De Las Bds Distribuidas6) Desventajas De Las Bds Distribuidas7) Condiciones Deseables De Una BD Distribuida8) Tipos De Bds Distribuidas

8.1) Homogéneas:8.2) Heterogéneas O Multibases De

Datos9) Arquitectura De Los DbmssDistribuidos

9.1) Cliente-servidor9.2) Servidores Cooperantes9.3) De Una Vía Centralizada

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

Globales

Es aquella que accede a los datos situados en uno o mas nodos diferentes de aquel en que se inició la transacción, es decir, se ejecuta bajo el control del sistema de varias bases de datos.

1.4) Nodo O Emplazamiento1.5) Redes De Comunicación

1.5.1) Red De Área Local (Local Area Network)

1.5.2) Red De Área Amplia (Long-haul Network)2) Base De Datos Distribuidas3) Razones Para Construir Un Sistema Distribuido4) Tipos De Transacciones

4.1) Locales: 4.2) Globales:

5) Ventajas De Las Bds Distribuidas6) Desventajas De Las Bds Distribuidas7) Condiciones Deseables De Una BD Distribuida8) Tipos De Bds Distribuidas

8.1) Homogéneas:8.2) Heterogéneas O Multibases De

Datos9) Arquitectura De Los DbmssDistribuidos

9.1) Cliente-servidor9.2) Servidores Cooperantes9.3) De Una Vía Centralizada

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos

Ventajas de las BDs Distribuidas

•Compartimiento de datos: Los usuarios de un nodo son capaces de acceder a los datos de otro nodo.

•Autonomía: Cada nodo tiene cierto grado de control sobre sus datos, en un sistema centralizado, hay un administrador del sistema responsable de los datos a nivel global. Cada administrador local puede tener un nivel de autonomía local diferente.

) p1.5) Redes De Comunicación

1.5.1) Red De Área Local (Local Area Network)

1.5.2) Red De Área Amplia (Long-haul Network)2) Base De Datos Distribuidas3) Razones Para Construir Un Sistema Distribuido4) Tipos De Transacciones

4.1) Locales: 4.2) Globales:

5) Ventajas De Las Bds Distribuidas6) Desventajas De Las Bds Distribuidas7) Condiciones Deseables De Una BD Distribuida8) Tipos De Bds Distribuidas

8.1) Homogéneas:8.2) Heterogéneas O Multibases De

Datos9) Arquitectura De Los DbmssDistribuidos

9.1) Cliente-servidor9.2) Servidores Cooperantes9.3) De Una Vía Centralizada

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

Ventajas de las BDs Distribuidas

•Disponibilidad: Si en un sistema distribuido falla un nodo, los nodos restantes pueden seguir funcionando. Si se duplican los datos en varios nodos, la transacción que necesite un determinado dato puede encontrarlo en cualquiera de los diferentes nodos.

) p1.5) Redes De Comunicación

1.5.1) Red De Área Local (Local Area Network)

1.5.2) Red De Área Amplia (Long-haul Network)2) Base De Datos Distribuidas3) Razones Para Construir Un Sistema Distribuido4) Tipos De Transacciones

4.1) Locales: 4.2) Globales:

5) Ventajas De Las Bds Distribuidas6) Desventajas De Las Bds Distribuidas7) Condiciones Deseables De Una BD Distribuida8) Tipos De Bds Distribuidas

8.1) Homogéneas:8.2) Heterogéneas O Multibases De

Datos9) Arquitectura De Los DbmssDistribuidos

9.1) Cliente-servidor9.2) Servidores Cooperantes9.3) De Una Vía Centralizada

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

Desventajas de las BDs Distribuidas

•Coste de desarrollo del software: La complejidad añadida que es necesaria para mantener la coordinación entre nodos hace que el desarrollo de software sea más costoso.

•Mayor probabilidad de errores: Como los nodos que constituyen el sistema funcionan en paralelo, es más difícil asegurar el funcionamiento correcto de los algoritmos, así como de los procedimientos de recuperación de fallos del sistema.

)1.5.1) Red De Área Local

(Local Area Network)1.5.2) Red De Área Amplia

(Long-haul Network)2) Base De Datos Distribuidas3) Razones Para Construir Un Sistema Distribuido4) Tipos De Transacciones

4.1) Locales: 4.2) Globales:

5) Ventajas De Las Bds Distribuidas6) Desventajas De Las Bds Distribuidas7) Condiciones Deseables De Una BD Distribuida8) Tipos De Bds Distribuidas

8.1) Homogéneas:8.2) Heterogéneas O Multibases De

Datos9) Arquitectura De Los DbmssDistribuidos

9.1) Cliente-servidor9.2) Servidores Cooperantes9.3) De Una Vía Centralizada

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y

Desventajas de las BDs Distribuidas

•Mayor sobrecarga de procesamiento: el intercambio de mensajes y ejecución de algoritmos para el mantenimiento de la coordinación entre nodos supone una sobrecarga que no se da en los sistemas centralizados.

)1.5.1) Red De Área Local

(Local Area Network)1.5.2) Red De Área Amplia

(Long-haul Network)2) Base De Datos Distribuidas3) Razones Para Construir Un Sistema Distribuido4) Tipos De Transacciones

4.1) Locales: 4.2) Globales:

5) Ventajas De Las Bds Distribuidas6) Desventajas De Las Bds Distribuidas7) Condiciones Deseables De Una BD Distribuida8) Tipos De Bds Distribuidas

8.1) Homogéneas:8.2) Heterogéneas O Multibases De

Datos9) Arquitectura De Los DbmssDistribuidos

9.1) Cliente-servidor9.2) Servidores Cooperantes9.3) De Una Vía Centralizada

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y

Condiciones deseables de una BD Distribuida

•Independencia de los Datos Distribuidos: Los usuarios deberían ser capaces de solicitar queries sin especificar donde están situadas las relaciones, ya sean sus copias o fragmentos, a las que hizo referencia. Este principio es una extensión natural de la independencia física y lógica de la data.

(Local Area Network)1.5.2) Red De Área Amplia

(Long-haul Network)2) Base De Datos Distribuidas3) Razones Para Construir Un Sistema Distribuido4) Tipos De Transacciones

4.1) Locales: 4.2) Globales:

5) Ventajas De Las Bds Distribuidas6) Desventajas De Las Bds Distribuidas7) Condiciones Deseables De Una BD Distribuida8) Tipos De Bds Distribuidas

8.1) Homogéneas:8.2) Heterogéneas O Multibases De

Datos9) Arquitectura De Los DbmssDistribuidos

9.1) Cliente-servidor9.2) Servidores Cooperantes9.3) De Una Vía Centralizada

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos

Condiciones deseables de una BD Distribuida

•Atomicidad de la Transacción: Los usuarios deberían ser capaces de escribir transacciones que accedan y actualicen datos en muchos sitios, las mismas tienen que seguir siendo atómicas, sino llevarían a la BD distribuida a un estado inconsistente.

)(Local Area Network)

1.5.2) Red De Área Amplia (Long-haul Network)2) Base De Datos Distribuidas3) Razones Para Construir Un Sistema Distribuido4) Tipos De Transacciones

4.1) Locales: 4.2) Globales:

5) Ventajas De Las Bds Distribuidas6) Desventajas De Las Bds Distribuidas7) Condiciones Deseables De Una BD Distribuida8) Tipos De Bds Distribuidas

8.1) Homogéneas:8.2) Heterogéneas O Multibases De

Datos9) Arquitectura De Los DbmssDistribuidos

9.1) Cliente-servidor9.2) Servidores Cooperantes9.3) De Una Vía Centralizada

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos

Tipos de BDs Distribuidas

Existen dos tipos de BDs Distribuidas:

•Homogéneas.•Heterogéneas o Multibases de Datos.

) p(Long-haul Network)2) Base De Datos Distribuidas3) Razones Para Construir Un Sistema Distribuido4) Tipos De Transacciones

4.1) Locales: 4.2) Globales:

5) Ventajas De Las Bds Distribuidas6) Desventajas De Las Bds Distribuidas7) Condiciones Deseables De Una BD Distribuida8) Tipos De Bds Distribuidas

8.1) Homogéneas:8.2) Heterogéneas O Multibases De

Datos9) Arquitectura De Los DbmssDistribuidos

9.1) Cliente-servidor9.2) Servidores Cooperantes9.3) De Una Vía Centralizada

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos

Commit16.1.1) Protocolo de Dos

Homogéneas

Son aquella donde todos los nodos poseen el mismo DBMS, son conscientes de la existencia de los demás sitios y aceptan cooperar en el procesamiento de las solicitudes de los usuarios.

En estos sistemas los nodos locales renuncian a una parte de su autonomía en cuanto a su derecho a modificar los esquemas o el software del DBMS. Cada nodo debe cooperar en el intercambio de información sobre las transacciones para hacer posible el procesamiento de las transacciones en varios nodos.

( g )2) Base De Datos Distribuidas3) Razones Para Construir Un Sistema Distribuido4) Tipos De Transacciones

4.1) Locales: 4.2) Globales:

5) Ventajas De Las Bds Distribuidas6) Desventajas De Las Bds Distribuidas7) Condiciones Deseables De Una BD Distribuida8) Tipos De Bds Distribuidas

8.1) Homogéneas:8.2) Heterogéneas O Multibases De

Datos9) Arquitectura De Los DbmssDistribuidos

9.1) Cliente-servidor9.2) Servidores Cooperantes9.3) De Una Vía Centralizada

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos

Commit16.1.1) Protocolo de Dos Fases

Heterogéneas o Multibases de Datos

Son aquellas donde los nodos utilizan diferentes DBMS, siendo cada uno esencialmente autónomo. Es posible que algunos nodos no sean conscientes de la existencia de los demás y quizás proporcionen facilidades limitadas para la cooperación en el procesamiento de transacciones.

Los esquemas constituyen un problema importante para el procesamiento de las consultas, mientras que la divergencia del software supone un inconveniente para el procesamiento de transacciones que tengan acceso a varios nodos.

)3) Razones Para Construir Un Sistema Distribuido4) Tipos De Transacciones

4.1) Locales: 4.2) Globales:

5) Ventajas De Las Bds Distribuidas6) Desventajas De Las Bds Distribuidas7) Condiciones Deseables De Una BD Distribuida8) Tipos De Bds Distribuidas

8.1) Homogéneas:8.2) Heterogéneas O Multibases De

Datos9) Arquitectura De Los DbmssDistribuidos

9.1) Cliente-servidor9.2) Servidores Cooperantes9.3) De Una Vía Centralizada

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos

Commit16.1.1) Protocolo de Dos Fases

16.2) Reinicio luego de una Falla

Arquitectura de los DBMSs Distribuidos

Existen tres tipos de arquitecturas:

• Cliente-Servidor• Servidores Cooperantes• De una Vía Centralizada

4) Tipos De Transacciones4.1) Locales: 4.2) Globales:

5) Ventajas De Las Bds Distribuidas6) Desventajas De Las Bds Distribuidas7) Condiciones Deseables De Una BD Distribuida8) Tipos De Bds Distribuidas

8.1) Homogéneas:8.2) Heterogéneas O Multibases De

Datos9) Arquitectura De Los DBMSsDistribuidos

9.1) Cliente-servidor9.2) Servidores Cooperantes9.3) De Una Vía Centralizada

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos

Commit16.1.1) Protocolo de Dos Fases

16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

Cliente-Servidor

Es un sistema distribuido entre múltiples procesadores donde hay clientes que solicitan servicios y servidores que los proporcionan.

Posee uno o más procesos clientes y uno o más procesos servidores, un proceso cliente puede mandar un query a alguno de los procesos servidores. Los clientes son responsables de los aspectos relacionados con la interfaces de usuario, mientras que los servidores manejan los datos y ejecutan las transacciones.

)4.2) Globales:

5) Ventajas De Las Bds Distribuidas6) Desventajas De Las Bds Distribuidas7) Condiciones Deseables De Una BD Distribuida8) Tipos De Bds Distribuidas

8.1) Homogéneas:8.2) Heterogéneas O Multibases De

Datos9) Arquitectura De Los DbmssDistribuidos

9.1) Cliente-servidor9.2) Servidores Cooperantes9.3) De Una Vía Centralizada

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos

Commit16.1.1) Protocolo de Dos Fases

16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

Cliente-Servidor

La arquitectura Cliente-Servidor se ha desarrollado con la finalidad de definir servidores especializados en funciones específicas.

La idea del BDD es dividir al DBMS en tres niveles: cliente, servidor y las comunicaciones, para reducir su complejidad. No se ha establecido una regla para dividir al DBMS pero una distribución muy común es designar a un nodo con toda la funcionalidad de un DBMS centralizado en el nivel del servidor y varios otros servidores especializados en SQL, con ambos, atender a los demás nodos que serían los clientes.

)4.2) Globales:

5) Ventajas De Las Bds Distribuidas6) Desventajas De Las Bds Distribuidas7) Condiciones Deseables De Una BD Distribuida8) Tipos De Bds Distribuidas

8.1) Homogéneas:8.2) Heterogéneas O Multibases De

Datos9) Arquitectura De Los DbmssDistribuidos

9.1) Cliente-servidor9.2) Servidores Cooperantes9.3) De Una Vía Centralizada

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos

Commit16.1.1) Protocolo de Dos Fases

16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

Cliente-Servidor

)4.2) Globales:

5) Ventajas De Las Bds Distribuidas6) Desventajas De Las Bds Distribuidas7) Condiciones Deseables De Una BD Distribuida8) Tipos De Bds Distribuidas

8.1) Homogéneas:8.2) Heterogéneas O Multibases De

Datos9) Arquitectura De Los DbmssDistribuidos

9.1) Cliente-servidor9.2) Servidores Cooperantes9.3) De Una Vía Centralizada

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos

Commit16.1.1) Protocolo de Dos Fases

16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

Usuarios

Interfaces

Red de Interconexión

Servidor

Base de Dato

Servidores Cooperantes

Podemos tener una colección de servidores de bases de datos, cada uno capaz de correr transacciones sobre los datos locales, y cooperativamente sobre datos residentes en otro servidor.

Cuando un servidor recibe un query que requiere el acceso a la data de otro servidor, este genera el subqueryapropiado para ser ejecutado por otros servidores y, estos, colocan el resultado junto a la respuesta procesada del query original.

)5) Ventajas De Las Bds Distribuidas6) Desventajas De Las Bds Distribuidas7) Condiciones Deseables De Una BD Distribuida8) Tipos De Bds Distribuidas

8.1) Homogéneas:8.2) Heterogéneas O Multibases De

Datos9) Arquitectura De Los DbmssDistribuidos

9.1) Cliente-servidor9.2) Servidores Cooperantes9.3) De Una Vía Centralizada

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos

Commit16.1.1) Protocolo de Dos Fases

16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

Servidores Cooperantes

)5) Ventajas De Las Bds Distribuidas6) Desventajas De Las Bds Distribuidas7) Condiciones Deseables De Una BD Distribuida8) Tipos De Bds Distribuidas

8.1) Homogéneas:8.2) Heterogéneas O Multibases De

Datos9) Arquitectura De Los DbmssDistribuidos

9.1) Cliente-servidor9.2) Servidores Cooperantes9.3) De Una Vía Centralizada

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos

Commit16.1.1) Protocolo de Dos Fases

16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

Usuarios

Interfaces

Red de Interconexión

Servidor

Base de Dato

De una Vía Centralizada

La idea es que necesitamos solo un servidor de bases de datos capaz de manejar queries y transacciones provenientes de múltiples servidores; los servidores pequeños necesitan manejar transacciones y queries locales.

Podemos pensar en este servidor especial como una capa del software que coordina la ejecución de queries y transacciones a través de uno o más servidores de bases de datos independientes, es usualmente llamado middleware.

6) Desventajas De Las Bds Distribuidas7) Condiciones Deseables De Una BD Distribuida8) Tipos De Bds Distribuidas

8.1) Homogéneas:8.2) Heterogéneas O Multibases De

Datos9) Arquitectura De Los DbmssDistribuidos

9.1) Cliente-servidor9.2) Servidores Cooperantes9.3) De Una Vía Centralizada

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos

Commit16.1.1) Protocolo de Dos Fases

16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

De una Vía Centralizada

6) Desventajas De Las Bds Distribuidas7) Condiciones Deseables De Una BD Distribuida8) Tipos De Bds Distribuidas

8.1) Homogéneas:8.2) Heterogéneas O Multibases De

Datos9) Arquitectura De Los DbmssDistribuidos

9.1) Cliente-servidor9.2) Servidores Cooperantes9.3) De Una Vía Centralizada

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos

Commit16.1.1) Protocolo de Dos Fases

16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

Usuarios

Interfaces

Red de Interconexión

Servidor

Base de Dato

Servidor Middleware

Almacenamiento de Datos en Un DBMS Distribuido.

Existen dos tipos de almacenamiento: •Fragmentación.•Replicación.

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases

16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

Fragmentación

Existen 3 tipos de fragmentación:•Horizontal.•Vertical.•Mixta.

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

Fragmentación Horizontal

Una tabla se divide en tuplas en varios fragmentos, cada uno de estos fragmentos posee suficiente información para permitir la reconstrucción de la tabla original. Una tabla T se divide en T1, T2, ……, Tnfragmentos que son almacenados en diferentes nodos.Donde cada T1, T2, …., Tn proviene de una Selección de T.Al aplicar Unión a T1, T2, …., Tn obtenemos a la relación principal T.Pueden existir fragmentos no disjuntos, debido a la combinación de una fragmentación y una replicación.

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

Fragmentación Horizontal

Ejemplo:

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

Fragmentación Vertical

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

Una tabla se divide en columnas por fragmentos, cada uno de estos fragmentos posee el Primary Key de la tabla primaria.Una tabla T se fragmenta en T1, T2, …, Tnfragmentos, donde cada T1, T2, … , Tnprovienen de una Proyección sobre T.Al aplicar un Join a T1, T2, … , Tnobtenemos a la relación principal T.

Fragmentación Vertical

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

Ejemplo:

Fragmentación Mixta

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

Se aplican los dos tipos de fragmentaciones.

Ejemplo:

Replicación de Datos

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

Se posee en cada nodo replicas exactas de la tabla principal.

Ventajas:Disponibilidad: El sistema sigue funcionando aún si algún nodo deja de funcionar.Aumento del Paralelismo: Varios nodos pueden realizar consultas en paralelo sobre la misma tabla. De este modo desde cualquier nodo se conseguirá el dato deseado, así eliminando las transacciones globales.

Replicación de Datos

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

Desventajas:Aumento de la sobrecarga en las actualizaciones: Ya que el sistema debe asegurar consistencia de los datos, ahora será mucho mayor ya que al actualizar una de las replicas los cambios se deben propagar a cada una de las otras replicas restantes.

Procesamiento de un Query Distribuido

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

El principal objetivo es la reducción de datos transferidos, se estudia el coste de las trasferencias.

Queries Nonjoin en un DBMS Distribuido

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

Una operación tan simple como la Selección o Proyección, puede ser afectada por la replicación y fragmentación. Supongamos una relación Empleado(COD, Nombre, Apellido, Dir, Sexo, Sueldo, Fecha Nac, Dpto)Se aplica una operación de Selección.

Select E.NombreFrom Empleado EWhere E.Dpto = “Computación” AND E.Dpto = “Biologia”

Queries Nonjoin en un DBMS Distribuido

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

Si la relación es fragmentada horizontalmente por departamentos, y cada fragmento es colocado en un nodo ubicado en el correspondiente departamento; el DBMS debe responder al Query evaluando en ambos nodos y tomando la unión de las respuestas.

Por otra parte si la cláusula Where tenía la condición E.Dpto = “Computación”, el DBMS debe conocer esto, y el Query debe ser respondido en el nodo Computación solamente.

Joins en un DBMS Distribuido

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

Las operaciones de Join en relaciones almacenadas en distintos nodos son extremadamente costosos.

Supongamos dos relaciones:Empleado(COD, Nombre, Apellido, Dir,

Sexo, Sueldo, Fecha Nac, Dpto)

10.000 tuplas.Cada tupla tiene 100 bytes.COD = 9 bytes.Dpto = 4 bytes.Nombre = 15 bytes.Apellido = 15 bytes.

Tamaño de la relación: 100 * 10.000 = 1.000.000 bytes.

Joins en un DBMS Distribuido

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

Departamento(NDpto, NombreDpto, Responsable, Edificio)

100 tuplas.Cada tupla tiene 35 bytes.NombreDpto = 10 bytes.NDpto = 4 bytes.Responsable = 9 bytes.

Tamaño de la relación: 35 * 100 = 3500 bytes.

Joins en un DBMS Distribuido

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

Ejemplo:

“Por cada empleado, obtener el nombre del empleado y el nombre del departamento al que pertenece”

Q1: πNombre,Apellido,NombreDPto(EMPLEADO*DEPARTAMENTO)

La consulta se procesa desde el nodo 3 (Este no posee datos implicados en la consulta).El resultado constará de 10.000 tuplascada una de 40 bytes, por lo tanto el tamaño del resultado es de 400.000 bytes.

Joins en un DBMS Distribuido

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

El nodo 1 posee la relación Departamento.

El nodo 2 posee la relación Empleado.

El nodo 3 no posee relaciones para satisfacer la consulta.

Existen 3 alternativas para resolver esto.

Leer lo necesario

10) Almacenamiento de Datos en Un DBMS Distribuido.

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

Transferir, tanto la relación EMPLEADO ubicada en el nodo 2, como la relación DEPARTAMENTO ubicada en el nodo 1, al nodo 3 y realizar en el nodo 3 la operación de Join.

En éste caso se transfieren:1.000.000 + 3.500 = 1.003.500 bytes.

Envío a un Nodo

Distribuido.10.1) Fragmentación

10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

Transferir la relación EMPLEADO ubicada en el nodo 1 al nodo 2, ejecutar el Join en el nodo 2 y enviar el resultado al nodo 3.

Esto implicaría transferir:1.000.000 + 400.000 (resultado) = 1.400.000 bytes

Ó

Transferir la relación DEPARTAMENTO ubicada en el nodo 2 al nodo 1, ejecutar el Join en el nodo 1 y enviar el resultado al nodo 3.

En este caso, los bytes transferidos serán: 3.500 + 400.000 (resultado) = 403.500 bytes.

SemiJoins

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

•Reducción del número de tuplasantes de ser transferidas a otro nodo.

•Se envía la columna con la que se va a realizar el Join de una relación R al nodo donde se encuentra la otra relación, allí se realiza el Join.

•Se envían las columnas implicadas en el resultado al nodo inicial y se vuelve a realizar el join con R.

SemiJoins

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

Ejemplo con semijoin Q1:

Paso 1:Proyección en DEPARTAMENTO sobre atributos que van a intervenir en la operación de Join y transferencia al nodo 1.

F1: πNDpto(DEPARTAMENTO).Tamaño resultante:4 bytes del atributo NDpto *100 tuplas de DEPARTAMENTO = 400 bytes transferidos.

SemiJoins

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

Paso 2:Realización del Join de las

tuplas transferidas en el paso anterior. Transferencia del resultado del Join de nuevo al nodo 1. Se transfieren sólo los atributos necesarios para realizar el join final:

R1: πDpto,Nombre,Apellido(F1 * EMPLEADO)Tamaño:(4 + 15 + 15) * 10.000 = 340.000 bytes transferidos.

El resultado en este Join es llamado: La reducción de Empleado con respecto a Departamento.

SemiJoins

10.1) Fragmentación10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

Paso 3:Se Realiza el Join final:Resultado:Departamento Join R1.

Total Costo de Trasferencia:Costo Paso 1 + Costo Paso 2400 bytes + 340.000 bytes =

340.400 bytes trasferidos.

Actualizaciones de la Data Distribuida

10.1.1) Horizontal10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

Igualmente las transacciones deben seguir siendo atómicas, hay dos maneras de actualizar las copias de una relación modificada.

Replicación Síncrona

10.1.2) Vertical10.1.3) Mixta

10.2) Replicación de Datos11) Procesamiento de un Query Distribuido

11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

Todas las copias de la relación modificada son actualizadas antes que la transacción que las modificó haga commit. Aquí se aplican 2 técnicas:

Voting (Votando)

10.1.3) Mixta10.2) Replicación de Datos

11) Procesamiento de un Query Distribuido11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

Una transacción debe escribir en la mayoría de las copias para modificar un objeto, y debe leer suficientes para asegurarse que la copia esta presente.

Ejemplo:

Read-any write-all(Leer cualquiera, Escribir en todas)

)10.2) Replicación de Datos

11) Procesamiento de un Query Distribuido11.1) Queries Nonjoin en un DBMS Distribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

Para leer un objeto, una transacción puede leer cualquier copia, pero para escribir un objeto, ésta debe escribir todas las copias.Ejemplo:

Replicación Asíncrona

) jDistribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

Es la más ampliamente usada a nivel comercial en los DBMSs. Las copias de una relación modificada son actualizadas solo periódicamente. Si una transacción lee varias copias de la misma relación puede estar leyendo distintos valores.

La replicación asíncrona trae consigo un costo significativo. Antes que una transacción de actualización pueda hacer commit, esta debe obtener los locks sobre todas las copias de la data modificada. La transacción puede haber mandado solicitudes de lock a sitios remotos y esperar por los locks, pero durante este periodo ella mantiene sus otros locks.

Replicación Asíncrona

) jDistribuido

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Sitio Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

Si el nodo o el enlace de comunicación fallan, la transacción no puede hacer commithasta que todos los nodos a los cuales les ha modificado la data se recuperen. Por lo tanto, la replicación asíncrona no es deseable e inclusive inalcanzable en muchas situaciones. El hecho de mantener copias con distintitos valores de una misma relación ocasiona la inconsistencia de los datos.

Existen dos técnicas:•De Nodo Primario.•Par a Par

De Nodo Primario

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Nodo Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

Se establece la relación como copia primaria o maestra. Las réplicas o los fragmentos de la relación completa son copias secundarias y pueden ser creadas desde otros nodos; y a diferencia de la copia primaria, las secundarias pueden no ser actualizada.

De Nodo Primario

11.2) Joins en un DBMS Distribuido11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Nodo Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

Ejemplo:

Par a Par

11.2.1) Leer lo Necesario11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Nodo Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

Más de una copia se puede establecer como copia primaria, haciendo posible la actualización en ella. Y a las copias secundarias no se les permite actualizar. Esta técnica es la más usada.

Transacción Distribuida

)11.2.2) Envío a un nodo11.2.3) Semijoins

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Nodo Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases Una subtransacción es aquella

transacción iniciada en un nodo y que accede a otros nodos.

Cuando una transacción es referida a otro nodo, el manejador de transacción de este nodo se encarga de partir la transacción en una colección de subtransacciones que se ejecutan en diferentes nodos.

Control de Concurrencia Distribuida

11.2.3) Semijoins12) Actualización de la Data Distribuida

12.1) Replicación Síncrona12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Nodo Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

Los lock en BDD pueden estar ubicados en distintos nodos, y estos pueden ser distribuidos a lo largo de los nodos de muchas maneras:

Centralizado

12) Actualización de la Data Distribuida12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Nodo Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

Un solo nodo es el encargado de manejar las distintas peticiones de los locks y unlocks para todos los objetos.

Copia Primaria

)12.1) Replicación Síncrona

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Nodo Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

Se designa una copia de cada objeto como copia primaria, todas las peticiones de locks y unlocks, son manejadas por el manejador de lock del nodo en el cual estan ubicadas las copias primarias de los objetos, sin importar donde este almacenado la copia particular solicitada.

Totalmente Distribuido

12.1.1) Voting (Votando)12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Nodo Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

Las peticiones de locks y unlocks sobre una copia de un objeto almacenado en un nodo son manejadas por el manejador de lock del mismo nodo.

Interbloqueos Distribuido

) g ( )12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Nodo Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases Cada nodo posee su Grafo de Espera, si en

alguno de estos grafos locales aparece un ciclo, es porque existe un interbloqueo. Sin embargo puede ocurrir un interbloqueo aunque no existan ciclos en grafos locales de espera.

Ejemplo:Supongamos 2 nodos X e Y, ambos

contienen copias de los objetos Obj1 y Obj2; además la técnica usada es read-any write-all.

T1: T2:Begin BeginS-lock Obj1 at nodo X S-lock Obj2 at nodo YX-lock Obj2 at nodo X X-lock Obj1 at nodo YX-lock Obj2 at nodo Y X-lock Obj1 at nodo X

Interbloqueos Distribuido

) g ( )12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Nodo Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases Grafos de Espera:

Interbloqueos Distribuido

) g ( )12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Nodo Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

Por lo tanto para detectar este tipo de interbloqueos se debe usar un algoritmo de interbloqueo distribuido.Existen 3 algoritmos.

1º: Es centralizado, consiste en mandar periódicamente todos los grafos locales de espera a un nodo responsable por la detección de interbloqueo global.

Interbloqueos Distribuido

) g ( )12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Nodo Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

2º: Es jerárquico, consiste en agrupar los nodos de modo creciente, los primeros grupos contendrán pocos nodos, y a medida que crezca los grupos irán conteniendo mas nodos, hasta el nodo principal q contendrá a todos los nodos. Cada grupo construye su grafo de espera y así revelara los intebloqueos generales.

Los grupos mas abajo en la jerarquía enviaran sus grafos de espera más constantemente que los grupos en un nivel alto en la jerarquía.

Interbloqueos Distribuido

) g ( )12.1.2) Read-any write-all(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Nodo Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

3º: Si una transacción esta en espera más de un intervalo de tiempo definido, entonces esta es abortada.

Recuperación Distribuida

(Leer cualquiera, Escribir en todas)

12.2) Replicación Asíncrona12.2.1) De Nodo Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

De la Recuperación Distribuida se tiene:•Ejecución Normal y Protocolos Commit•Reinicio luego de una Falla•Protocolo de Tres Fases

Ejecución Normal y Protocolos Commit

en todas)12.2) Replicación Asíncrona

12.2.1) De Nodo Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

Durante la ejecución normal cada nodo mantiene su log, y las acciones de las subtransacciones son logged en el nodo donde son ejecutadas. El manejador de transacciones en el nodo donde se origino es llamado “el coordinador” para esta transacción, los manejadores de transacciones en los nodos donde las subtransacciones se ejecutan son llamados subordinados.

Protocolo de Dos Fases

)12.2.1) De Nodo Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

Cuando un usuario hace Commit en una transacción, el Commit es mandado al coordinador. Y se realizan los siguientes 4 pasos:

•El coordinador manda un mensaje de prepárense a cada subordinado.

•Al recibir el subordinado el mensaje, decide si aborta o hace Commit en su transacción. Y envía un mensaje de aviso de estado (Si o No) al coordinador.

Protocolo de Dos Fases

12.2.1) De Nodo Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

• Si el coordinador recibe un mensaje de si de todos los subordinados, fuerza la escritura del Commit en los registros log y luego manda un mensaje de Commit a todos los subordinados. Si recibe un mensaje de no en todos o alguno de los subordinados no responde en un intervalo de tiempo, fuerza la escritura de abort en el log, y manda un mensaje de aborten a los subordinados.

Protocolo de Dos Fases

12.2.1) De Nodo Primario12.2.2) Par a Par

13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

• Cuando un subordinado recibe un mensaje de abort o Commit, este fuerza la escritura de abort o Commit en el log y manda un mensaje de ack al coordinador, donde este aborta o hace Commit en la subtransacción.

Reinicio luego de una Falla

12.2.2) Par a Par13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

• Si tenemos un Commit o un Abort de la transacción T, limpiamos la transacción, aplicamos Redo o Undo respectivamente. Si este nodo es el coordinador, debemos periódicamente reenviar los mensajes a cada subordinado hasta que recibamos ack de todos ellos. Después de recibirlos, escribimos un end en el log para T.

Reinicio luego de una Falla

12.2.2) Par a Par13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

• Si tenemos un registro de log prepárense para la transacción T, pero no un Commit ni un Abort; entonces sabemos que este nodo es un subordinado, ya que el coordinador puede ser determinado con el registro prepárense del log. Entonces debemos repetidamente contactar al coordinador del nodo y determinar el estatus de T. Una vez que el coordinador responda, sin importar si fue Commit o Abort, escribimos el correspondiente registro log, aplicamos Redo o Undo y escribimos end de la transacción.

Reinicio luego de una Falla

12.2.2) Par a Par13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

• Si tenemos no preparado, Commit o Abort en el log para la transacción T; seguramente la transacción T no había hecho Commit antes de la falla, entonces debemos abortar unilateralmente y Undo T y escribir un end en el log. Para este caso no podemos determinar si el nodo es el coordinador o es subordinado para T. Sin embargo no existe problema debido a que si este nodo es coordinador para un transacción T y falla, los subordinados que mandaron mensaje de si no pueden decidir hacer Commit o Abort a T hasta que el coordinador se recupere y pueda decidir por ellos. En este caso decimos que T esta bloqueada.

Protocolo de Tres Fases

)13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

Este es una mejora al protocolo 2 fases, este protocolo puede eliminar el bloqueo incluso si el nodo coordinador falla durante la recuperación.

Cuando el coordinador mande el mensaje prepárense y reciba el mensaje de si de todos los subordinados, manda a todos los nodos un mensaje de precommit. Luego cuando ya ha recibido un número significativo de ack, fuerza la escritura del Commit en el log y manda mensaje de Commit a todos los subordinados.

Protocolo de Tres Fases

)13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una Falla16.3) Protocolo de Tres Fases

Este protocolo impone un costo adicional durante la ejecución normal y requiere que las fallas en los enlaces de comunicación no conlleven a la partición de la red, para asegurar estar libre de bloqueos. Por esta razón no se usa en la práctica.

Bibliografía

)13) Transacción Distribuida14) Control de Concurrencia Distribuida

14.1) Centralizado14.2) Copia Primaria14.3) Totalmente Distribuido

15) Interbloqueos Distribuidos16) Recuperación Distribuida

16.1) Ejecución Normal y Protocolos Commit

16.1.1) Protocolo de Dos Fases16.2) Reinicio luego de una FallaBibliografía

•Ramakrishnan, Gehrke"Database Management Systems“Cap 22.

•http://sweb.uv.es/docencia/iiguia/asignatu/2000/BD2/BD2Tema9.pdf

•www.dlsi.ua.es/asignaturas/sid/sid2001-t4.ppt

•http://alfa.facyt.uc.edu.ve/computacion/pensum/cs0347/download/DISTRIBUIDAS.pdf