1.- Sistemas de bases de datos
distribuidas
Es una base de datos construida sobre una red computacional y constituye
la base de datos esta almacenada en diferentes sitios en la red, y las
aplicaciones que se ejecutan accesan datos en distintos sitios.
1.1. Conceptos de base de datos distribuidos.
Un administrador de transacciones
distribuidas (DTM) es un programa que recibe solicitudes
de procesamiento de los programas de consulta o de transacciones y a su vez las
traduce en acciones para los administradores de la base de datos. Una función
importante del DTM es coordinar y controlar dichas acciones. Cada sitio tiene
sus propias bases de datos "reales" locales, sus propios usuarios
locales, sus propios DBMS y programas para administración de transacciones y su
propio administrador local de comunicación de datos.
Sistema de Base de Datos Distribuida
(SBDD) es un sistema en el cual múltiples
sitios de bases de datos están ligados por un sistema de comunicaciones, de tal
forma que, un usuario en cualquier sitio puede acceder a los datos en cualquier
parte de la red exactamente como si los datos estuvieran almacenados en su
sitio propio. Es entonces el resultado de la integración de una base de datos
distribuida con un sistema para su manejo.
Una unidad distribuida del trabajo (DUOW), también conocida como actualización del multisite,
es una función que permite a sus usuarios poner al día datos en servidores
alejados de la base de datos, garantizándose la integridad de los mismos. Por
ejemplo, una transacción de las actividades bancarias que implique la
transferencia del dinero a partir de una cuenta a otra en diversos servidores
de la base de datos.
La fragmentación de datos consiste en subdividir las relaciones y
distribuirlas entre los sitios de la red, tiene como objetivo buscar formas
alternativas de dividir una las instancias (tablas) de relaciones en otras más
pequeñas. La fragmentación se puede realizar por tuplas individuales
(fragmentación horizontal), por atributos individuales fragmentación vertical)
o una combinación de ambas (fragmentación híbrida).
La replicación de datos consiste en que cada nodo debe tener su copia
completa de la base de datos. Es fácil ver que este esquema tiene un alto costo
en el almacenamiento de la información. Debido a que la actualización de los
datos debe ser realizada en todas las copias, también tiene un alto costo de
escritura, pero todo esto vale la pena si tenemos un sistema en el que se va a
escribir pocas veces y leer muchas, y dónde la disponibilidad y fiabilidad de
los datos sea de máxima importancia.
Los pasos a seguir para diseñar una base de datos distribuida:
1.
Diseño del “esquema conceptual” el cual describe la base de datos
integrada (esto es, todos los datos que son utilizados por las aplicaciones que
tienen acceso a las bases de datos).
2.
Diseño “físico de la base de datos”, esto es, mapear el esquema
conceptual a las áreas de almacenamiento y determinar los métodos de acceso a
las bases de datos.
3.
Diseño de la fragmentación, este se determina por la forma en que las
relaciones globales se subdividen en fragmentos horizontales, verticales o
mixtos.
4.
Diseño de la asignación de los fragmentos, esto se determina en la forma
en que los fragmentos se mapean a las imágenes físicas, en esta forma, también
se determina la solicitud de fragmentos.
1.3. Procesamiento de operaciones de actualización
distribuidas
Los sistemas cliente/servidor involucran varias computadoras conectadas
a una red. Las computadoras que procesan programas de aplicaciones se conocen
como clientes y las que procesan bases de datos se conocen como servidor.
Arquitectura Cliente Servidor
Un sistema cliente servidor puede tener varios servidores de
procesamiento de bases de datos, cuando esto ocurre cada servidor debe procesar
una base de datos distinta. Cuando dos o más servidores procesan una misma base
de datos, el sistema no es considerado cliente servidor, más bien, es conocido
como sistema de base de datos distribuido.
Funciones del cliente:
- Administrar
la interfaz de usuario.
- Aceptar
datos del usuario.
- Procesar
la lógica de la aplicación.
- Generar
las solicitudes para la base de datos.
- Trasmitir
las solicitudes de la base de datos al servidor.
- Recibir
los resultados del servidor.
- Dar
formatos a los resultados.
Funciones del servidor:
- Aceptar
las solicitudes de la base de datos de los clientes.
- Procesar
las solicitudes de los clientes
- Dar
formato a los resultados y trasmitirlos al cliente.
- Llevar
a cabo la verificación de integridad.
- Mantener
los datos generales de la base de datos.
- Proporcionar
control de acceso concurrente.
- Llevar
a cabo la recuperación.
- Optimizar
el procesamiento de consulta/actualización.
1.4. Procesamiento de consultas
distribuidas.
Las consultas distribuidas detienen acceso a datos de varios orígenes
de datos heterogéneos. Estos orígenes de datos pueden estar
almacenados en el mismo equipo o en equipos diferentes.
El procesamiento de consultas tiene varias etapas a seguir para resolver
una consulta SQL, las características del modelo relacional permiten que cada motor de base de datos elija
su propia representación que, comúnmente, resulta ser
el álgebra relacional .Existen varios medios para calcular la respuesta a
una consulta. En el caso del sistema
centralizado, el criterio principal para determinar el
costo de una estrategia específica es el número de acceso al disco. En un
sistema distribuido es preciso tener en cuenta otros factores como son:
- El costo de transmisión de
datos en la red.
- Repetición
y fragmentación.
- Procesamiento de
intersección simple.
1.5. Manejo de transacciones.
-
Inicio de Transacción: Operación que marca el momento en el que una
transacción comienza
a ejecutarse.
-
Leer o Escribir: Operaciones de lectura/escritura de elementos
de la base de datos.
-
Fin de la Transacción: Se verifica si la transacción debe abortarse
por alguna razón.
-
Confirmar (COMMIT): La operación termino con éxito.
-
Abortar (ROLLBACK): La transacción termino sin éxito.
- Transacción Activa: se encuentra en este estado
justo después de iniciar su ejecución.
- Transacción Parcialmente
Confirmada: en este punto, se efectúan diferentes
operaciones de verificación para asegurar que la transacción no
interfiera con otras transacciones en ejecución.
- Transacción
Confirmada: Ha concluido su ejecución con éxito.
- Transacción Fallida: En este caso, es posible
que la transacción deba ser cancelada.
Comentarios
Publicar un comentario