Está en la página 1de 17

Base de datos II Yeudiel Arcos Perez Grupo 501

Bases de datos
▬▬

distribuidas

BASE DE DATOS II

YEUDIEL ARCOS PEREZ


INGENIERÍA EN COMPUTACIÓN
GRUPO 501 TURNO MATUTINO

1
Base de datos II Yeudiel Arcos Perez Grupo 501

Contenido
Resumen........................................................................................................................................ 4
¿Qué es una base de datos distribuida? ................................................................................... 4
Características a tener en cuenta.............................................................................................. 4
Ventajas y desventajas .............................................................................................................. 4
Ventajas ................................................................................................................................. 4
Desventajas ........................................................................................................................... 5
Distribución de los datos ........................................................................................................... 5
Introducción .................................................................................................................................. 6
Estructura de sistemas distribuidos .............................................................................................. 7
Capas ......................................................................................................................................... 7
Cliente servidor ......................................................................................................................... 7
Procesamiento de consultas distribuidas ..................................................................................... 9
ARBOLES DE CONSULTAS .......................................................................................................... 9
TRANSFORMACIONES EQUIVALENTES ...................................................................................... 9
Propagación de actualizaciones .................................................................................................. 11
Esquema de propagación Eager o de actualización de replicación sincrónica ....................... 11
Ventajas y costos del esquema de propagación eager o de actualización de replicación
sincrónica ............................................................................................................................ 11
Desventajas surgidas con este tipo de esquemas ............................................................... 11
Esquema de propagación Lazy o de actualización asíncrona.................................................. 11
La actualización asincrónica de réplicas o esquema de propagación lazy proporciona las
siguientes ventajas .............................................................................................................. 12
Desventajas surgidas con este tipo de esquemas: .............................................................. 12
Control de concurrencias ............................................................................................................ 13
Algoritmos de control de concurrencia................................................................................... 13
Basados en marcas de tiempo ................................................................................................ 13
Basados en cerraduras o candados ......................................................................................... 14
Candados de dos fases : ...................................................................................................... 14
Candados de dos fases centralizados: ................................................................................. 14
Protocolos ................................................................................................................................... 15
Protocolo de la mayoría .......................................................................................................... 15
Protocolo sesgado ................................................................................................................... 15
Protocolo copia principal ........................................................................................................ 15
Conclusiones ............................................................................................................................... 16
Bibliografía .................................................................................................................................. 17

ii
Base de datos II Yeudiel Arcos Perez Grupo 501

iii
Base de datos II Yeudiel Arcos Perez Grupo 501

Resumen
¿Qué es una base de datos distribuida?
Una base de datos distribuida o BDD consiste en varias bases de datos
situadas en diferentes espacios físicos o lógicos, conectadas entre sí por
un sistema de comunicaciones.
Las bases de datos distribuidas o Distributed Database Management
System (DDBMS) se caracterizan por almacenar la información en varias
computadoras conectadas entre sí, a las cuáles el usuario puede acceder
desde cualquier sitio como si se tratara de una red local.
 *Una base de datos de una universidad en la que los ordenadores de
Facultades de distintas ciudades están conectados.
 *Un servidor que conecta varias máquinas virtuales.

Características a tener en cuenta


Entre las características de una base de datos distribuida se pueden citar las
siguientes:
 Está formada por varias computadoras, a las cuales se les denomina
nodos.
 Los nodos se comunican entre sí mediante una red de comunicaciones.
 Cada uno de los ordenadores que forman parte de la red tiene
autonomía local.
 Generalmente, la red de computadoras no depende de ningún sitio
central.
 Tiene un funcionamiento independiente de su localización.
 Se realizan continuas transacciones de información entre nodos.
 La base de datos funciona independientemente del equipo, sistema
operativo o red.

Ventajas y desventajas
Como ya has podido deducir, las bases de datos distribuidas funcionan como
una suma de bases de datos individuales conectadas entre sí. Esto les otorga
numerosas ventajas, pero también algún inconveniente.

Ventajas
¿Cuáles son las ventajas de una base de datos distribuida?
 Permiten trabajar a cada nodo de la red con autonomía local
 Aumentan la disponibilidad, confiabilidad y eficiencia en el acceso a la
información.
 Se pueden expandir de forma indefinida en función de las necesidades
de la empresa u organización.

4
Base de datos II Yeudiel Arcos Perez Grupo 501

 Permiten la escalabilidad sin necesidad de grandes inversiones.


 Los recursos se comparten entre nodos, de manera que se puede
acceder a toda la información desde cualquier sitio.

Desventajas
Por su parte, estas son las desventajas de una base de datos distribuida:
 Resulta más difícil establecer mecanismos para controlar el acceso a
los datos y garantizar la seguridad.
 Los errores en la red pueden tener graves consecuencias para la
privacidad de la información.
 Es un sistema más complejo de implementar.
 Conseguir una transparencia óptima puede suponer un importante
gasto de tiempo y dinero.
 Falta de experiencia y ausencia de estándares en el desarrollo e
implementación de estas bases de datos.
 Posibles problemas de rendimiento o fiabilidad derivados del punto
anterior.

Distribución de los datos


 La distribución de la información en estas bases de datos se realiza por
medio de transacciones distribuidas.
 Una transacción distribuida se define como aquella que involucra a
varios nodos de una red, a los que se puede llamar agentes. Por tanto,
este tipo de transacciones de datos involucran a varios agentes.
 Para que se pueda dar una transacción de información en una base de
datos distribuida es necesario que los agentes se comuniquen mediante
mensajes de red, asegurando que se respeta la atomicidad en el
proceso. Para ello se requiere lo siguiente:
 Un agente raíz o sitio de origen de la transacción. Es el que inicia la
transacción de datos cuando el usuario ejecuta una aplicación.
 Este agente raíz es también el encargado de garantizar las propiedades
de la transacción distribuida, como BEGIN-TRANSACTION, COMMIT O
ROLLBACK.

5
Base de datos II Yeudiel Arcos Perez Grupo 501

Introducción
Son un grupo de datos que pertenecen a un sistema, pero a su vez esta
repartido entre ordenadores de una misma red, ya sea a nivel local o cada uno
en una diferente localización geográfica, cada sitio en la red es autónomo en
sus capacidades de procesamiento y es capaz de realizar operaciones locales
y en cada uno de estos ordenadores debe estar ejecutándose una aplicación
a nivel global que permita la consulta de todos los datos como si se tratase de
uno solo.
Para tener una base de datos distribuida debe cumplirse las condiciones de
una Red Computacional. Una red de comunicación provee las capacidades
para que un proceso ejecutándose en un sitio de la red envíe y reciba mensajes
de otro proceso ejecutándose en un sitio distinto. Parámetros a considerar
incluyen: Retraso en la entrega de mensajes, Costo de transmisión de un
mensaje y Confiabilidad de la red. Diferentes tipos de redes: point-to-point,
broadcast, lan, wan

6
Base de datos II Yeudiel Arcos Perez Grupo 501

Estructura de sistemas distribuidos


Capas
– Desmembrar la complejidad de sistemas mediante el diseño en capas y
servicios

• Capas: grupo de funcionalidades fuertemente relacionadas y altamente


coherentes
• Servicios: funcionalidades proporcionadas a capas superiores

– Ejemplos de arquitecturas en capas

• Sistemas operativos (kernel, otros servicios), históricamente: los


sistemas operativos.
• Arquitecturas de protocolos de red
Cliente servidor
– Cliente: el proceso requiere acceder datos, utilizar recursos o ejecutar
operaciones en una computadora diferente

– Servidor: Proceso maneja datos y otros recursos compartidos, permite al


cliente acceder a recursos y ejecutar cómputos

– Interacción: invocación / par de mensajes resultantes

7
Base de datos II Yeudiel Arcos Perez Grupo 501

– Ejemplo

• Servidor http: cliente (navegador) página solicitada, servidor entrega


página

– Servicios de caching (servidores proxy)

• Caching de páginas Web frecuentemente utilizadas

– Procesos pares (no cliente-servidor: peer-to-peer)

• Procesos que tienen en gran parte similitudes de funcionalidad

8
Base de datos II Yeudiel Arcos Perez Grupo 501

Procesamiento de consultas distribuidas


ARBOLES DE CONSULTAS
Pasos:
 Parsing y traducción de la consulta
 Optimización
 Generación de código
 Ejecución de la consulta

TRANSFORMACIONES EQUIVALENTES
Cuando una base de datos se encuentra en múltiples servidores y distribuye a
un número determinado de nodos tenemos:

 El servidor recibe una petición de un nodo.


 El servidor es atacado por el acceso concurrente a la base de datos cargada
localmente.
 El servidor muestra un resultado y le da un hilo a cada una de las maquinas
nodo de la red local.

Cuando una base de datos es acezada de esta manera la técnica que se utiliza
es la de fragmentación de datos que puede ser hibrida, horizontal y vertical.
En esta fragmentación lo que no se quiere es perder la consistencia delos datos,
por lo tanto, se respetan las formas normales de la base de datos.
Bueno para realizar una transformación en la consulta primero desfragmentamos
siguiendo los estándares marcados por las reglas formales y posteriormente
realizamos el envió y la máquina que recibe es la que muestra el resultado
pertinente para el usuario, de esta se puede producir una copia que será
la equivalente a la original.

9
Base de datos II Yeudiel Arcos Perez Grupo 501

10
Base de datos II Yeudiel Arcos Perez Grupo 501

Propagación de actualizaciones
Esquema de propagación Eager o de actualización de replicación
sincrónica
Un esquema Eager mantiene todas las copias exactamente sincronizadas en
todas las localidades modificando todas las réplicas como parte de una
transacción atómica. El esquema de replicación eager permite una ejecución que
no presenta anomalías en la concurrencia.
La utilización del esquema eager permite en todo momento que cualquier lectura
sobre una copia del dato obtenga como resultado una información correcta.

Ventajas y costos del esquema de propagación eager o de


actualización de replicación sincrónica
• Debido a que todas las actualizaciones dentro del proceso de replicación
ocurren como una unidad lógica de trabajo, las transacciones exhiben lo que
comúnmente se llaman propiedades ACID, generando, de esta forma, una
ejecución, sin inconsistencias ningún tipo.
• Consistencia fuerte. La actualización original se demora hasta que todas las
copias se actualicen, originando una transacción global. Así, cuando una
transacción comete, todas las copias tienen el mismo valor.

Desventajas surgidas con este tipo de esquemas


• Disminución de desempeño: debido a que se necesita sincronizar cada acceso
a datos con las demás réplicas durante la ejecución de la transacción, lo
convierten en un esquema muy caro.
• Mayores tiempos de respuesta: Esta sobrecarga de mensajes tiende a reducir
el desempeño de actualización e incrementar los tiempos de respuestas
transaccionales, este esquema no puede dar una respuesta al usuario hasta que
la actualización haya sido cometida por completo.
• La mayor desventaja es que el número de operaciones por transacción
aumenta con el grado de replicación de los datos (número de nodos).
• No son apropiados para ambientes móviles. Por un lado, reducen el desempeño
de las actualizaciones con sincronizaciones extras, y por el otro, en un ambiente
móvil los nodos están normalmente desconectados. De aquí que una
actualización sincronizada no sea válida para este tipo de ambientes.

Esquema de propagación Lazy o de actualización asíncrona


Un esquema de propagación lazy permite que, primeramente, un réplica sea
actualizada por la transacción original. Las actualizaciones de las restantes se
propagan asincrónicamente, generalmente con una transacción para cada sitio
o localidad.

11
Base de datos II Yeudiel Arcos Perez Grupo 501

La actualización asincrónica de réplicas o esquema de propagación


lazy proporciona las siguientes ventajas
• Mayor desempeño: el tamaño de las transacciones es reducido, solo se limitan
a actualizar la copia primaria de datos y, por consiguiente, son menores los
bloqueos necesarios. Se mejora, de esta forma, el desempeño global del
sistema.
• Mayor facilidad de escalabilidad: el número de bloqueos necesarios es menor
que los esquemas eager debido a que las transacciones son más cortas.
• Aptos para ambientes móviles: estos esquemas dan una respuesta inmediata
al usuario, los cambios de la propagación son realizados luego; este tipo de
respuesta es de gran importancia dada la proliferación de aplicaciones para
usuarios móviles, donde una copia no está siempre conectada al resto del
sistema y no tiene sentido esperar hasta que las actualizaciones se hayan
cometido para permitir al usuario ver los cambios.

Desventajas surgidas con este tipo de esquemas:


• Consistencia débil: debido a que cada transacción ejecuta localmente e
independientemente, proporciona una consistencia débil. Existirá siempre algún
grado de retraso entre el tiempo de cometer la copia origen y el tiempo para
disponerla en las demás réplicas, permitiendo que las copias puedan divergir y
se produzcan posibles inconsistencias en los datos.
• Acceso a "datos viejos": surge como consecuencia de la consistencia débil.
Existe la posibilidad que la propagación asincrónica pueda causar que una
transacción de actualización obtenga valores viejos de algún dato, resultando
una ejecución que genera un estado inconsistente de la base de datos
distribuida.

12
Base de datos II Yeudiel Arcos Perez Grupo 501

Control de concurrencias
El control de concurrencia trata con los problemas de aislamiento y consistencia
del procesamiento de transacciones. El control de concurrencia distribuido de
una DDBMS asegura que la consistencia de la base de datos se mantiene en un
ambiente distribuido multiusuario. Si las transacciones son internamente
consistentes, la manera más simple de lograr este objetivo es ejecutar cada
transacción sola, una después de otra.

Algoritmos de control de concurrencia


El criterio de clasificación más común de los algoritmos de control
deconcurrencia es el tipo de primitiva de sincronización. Esto resulta en dos
clases:
- Aquellos algoritmos que están basados en acceso mutuamente exclusivo
adatos compartidos (candados o bloqueos).
- Aquellos que intentar ordenar la ejecución de las transacciones de acuerdo a
un conjunto de reglas (protocolos).
Los algoritmos basados en estampas de tiempo no pretenden mantener la
seriabilidad por exclusión mutua. En lugar de eso, ellos seleccionan un orden de
serialización a prioridad y ejecutan las transacciones, de acuerdo a ellas. Para
establecer este ordenamiento, el administrador de transacciones le asigna a
cada transacción T1 una estampa de tiempo única t1 (T1) cuando ésta inicia.
Una estampa de tiempo es un identificador simple que sirve para identificar cada
transacción de manera única.

Basados en marcas de tiempo


A diferencia de los algoritmos basados en candados, los algoritmos basados en
marcas de tiempo no pretenden mantener la seriabilidad por la exclusión mutua.
En su lugar eligen un orden
deserializacion en primera instancia y ejecutan las transacciones de acuerdo a
ese orden. Enestos algoritmos cada transacción lleva asociada una marca de
tiempo.
Cada dato lleva asociado dos marcas de tiempo: uno de lectura y otro de
escritura, que reflejan la marca de tiempo de la
transacción que hizo la última operación de ese tipo sobre el dato.
Para leer la marca de tiempo de escritura del dato, debe ser menor que el de la
transacción, si no aborta. Para escribir las marcas de tiempo de escritura y
lectura del dato, deben ser menores que el de la
transacción, sino se aborta. Esta técnica está libre de interbloqueos, pero puede
darse que haya que repetir varias veces la transacción.
En los sistemas distribuidos se puede usar un mecanismo como, los relojes de
Lamport para asignar marcas de tiempo. El conjunto de algoritmos pesimistas
está formado por algoritmos basados en candados, algoritmos basados en
ordenamiento por estampas de tiempo y algoritmos híbridos. Los algoritmos

13
Base de datos II Yeudiel Arcos Perez Grupo 501

optimistas se componen por los algoritmos basados en candados y algoritmos


basados en estampas de tiempo.

Basados en cerraduras o candados


Se usan cerraduras o candados de lectura o escritura sobre los datos. Para
asegurar la secuencialidad se usa un protocolo de dos fases, en la fase de
crecimiento de la transacción se establecen los cerrojos y en la fase
dedecrecimiento se liberan los cerrojos. Hay que tener en cuenta que se
pueden producir ínterbloqueos. En los sistemas distribuidos el nodo que
mantiene un dato se encarga normalmente de gestionar los cerrojos sobre el
mismo.

Candados de dos fases :


En los candados de dos fases una transacción le pone un candado a un objeto
antes de usarlo. Cuando un objeto es bloqueado con un candado por otra
transacción, la transacción solicitante debe esperar. Cuando una transacción
libera un candado, ya no puede solicitar más candados. En la primera fase
solicita y adquiere todos los candados sobre los elementos que va a utilizar y
en la segunda fase libera los candados obtenidos uno por uno.
Puede suceder que si una transacción aborta después de liberar un candado,
otras transacciones que hayan accesado el mismo elemento de datos aborten
también provocando lo que se conoce como abortos en cascada. Para evitar lo
anterior, los despachadores para candados de dos fases implementan lo que
se conoce como loscandados estrictos de dos fases en los cuales se liberan
todos los candados juntos cuando la transacción termina (con compromiso o
aborta).

Candados de dos fases centralizados:


En sistemas distribuidos puede que la administración de los candados se
dedique a un solo nodo del sistema, por lo tanto, se tiene un despachador
central el cual recibe todas las solicitudes de candados del sistema. La
comunicación se presenta entre el administrador de transacciones del nodo en
donde se origina la transacción , el administrador de candados en el nodo
central y los procesadores de datos de todos los nodos participantes. Los
nodos participantes son todos aquellos en donde la operación se va a llevar a
cabo.

14
Base de datos II Yeudiel Arcos Perez Grupo 501

Protocolos
Protocolo de la mayoría
 Cada emplazamiento controla localmente sus datos
 Para bloquear un dato Q replicado, hay que enviar mensajes a más de la
mitad de las réplicas solicitando el bloqueo.
 Utiliza el envío de mensajes para conceder los bloqueos
 Desventaja: El tratamiento de Interbloqueos

Protocolo sesgado
 Para los bloqueos compartidos solo solicita el bloqueo a un
emplazamiento que contenga una réplica de Q
 Para los bloqueos exclusivos, se solicita el bloqueo a TODOS los gestores
con réplicas de Q

Protocolo copia principal


 Se selecciona una copia principal de Q
 Donde reside dicha copia es el emplazamiento principal de Q
 Dicho emplazamiento es el que concede los bloqueos sobre Q

15
Base de datos II Yeudiel Arcos Perez Grupo 501

Conclusiones
Las bases de datos distribuidas conforman una gran parte los sistemas que
utilizamos en nuestro día a día y que no ayuda a realizar nuestras actividades
de mayor necesidad, como pueden las operaciones que realizamos en un
banco o las páginas web que visitamos día con día, gracias a todas las
funciones y estructuras diseñadas en ellas podemos disfrutar de todos los
beneficios que nos brinda por lo que es muy importante conocer y sabes aplicar
los procedimientos y formas de implementar protocolos, funciones,
transacciones o los procesamientos de consultas dentro de nuestro sistema
que estemos desarrollando para así ofrecer una mejor experiencia y
funcionalidad dentro del mismo.

16
Base de datos II Yeudiel Arcos Perez Grupo 501

Bibliografía
Bertone, R. A. (2 de 01 de 2021). Obtenido de Core:
https://core.ac.uk/download/pdf/296327114.pdf

Cenci, K. M. (02 de 02 de 2021). Sedici. Obtenido de


http://sedici.unlp.edu.ar/bitstream/handle/10915/21614/Sistemas_distribuidos.pdf;js
essionid=D15D26F73E8F2F96BE9DCA6AD4CC522A?sequence=1

Pros, M. (02 de 01 de 2021). Obtenido de Martinez Pros:


http://martinezprosperobdd.blogspot.com/2012/11/control-de-concurrencia.html

17

También podría gustarte