1.1. CONCEPTOS BASICOS DE BASES DE DATOS
DISTRIBUIDAS.
Una base de datos distribuida (BDD) es un conjunto de múltiples bases de
datos lógicamente relacionadas las cuales se encuentran distribuidas en
diferentes espacios lógicos y geográficos (pej. un servidor corriendo 2
máquinas virtuales) e interconectados por una red de comunicaciones. Dichas BDD
tienen la capacidad de realizar procesamiento autónomo, esto permite realizar
operaciones locales o distribuidas. Un sistema de Bases 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 los datos en cualquier parte de la red
exactamente como si estos fueran accedidos de forma local.
Un sistema distribuido de bases de datos se almacena en varias
computadoras. Los principales factores que distinguen un SBDD de un sistema
centralizado son los siguientes:
- · Hay múltiples computadores, llamados sitios o nodos.
- · Estos nodos deben de estar comunicados por medio de algún tipo de red de comunicaciones para transmitir datos y órdenes entre los sitios.
CARACTERÍSTICAS
DE LAS BASES DE DATOS DISTRIBUIDAS.
- · Los datos deben estar físicamente en más de un ordenador (distintas sedes).
- · Las sedes deben estar interconectadas mediante una red (cada sede es un nodo de la red).
- · Los datos han de estar lógicamente integrados (recuperación y actualización) tanto en local como remoto (esquema lógico global y único).
- · En una única operación se puede acceder (recuperar o actualizar) datos que se encuentran en más de una sede (acceso a datos locales o remotos).
- · Todas las acciones que necesiten realizarse sobre más de una sede serán transparentes al usuario (transparencia de distribución para el usuario).
1.2 Diseño de Bases de Datos Distribuidas.
El problema de diseño
de bases de datos distribuidos se refiere, en general, a hacer decisiones
acerca de la ubicación de datos y programas a través de los diferentes sitios
de una red de computadoras. La decisión de donde colocar a las aplicaciones
tiene que ver tanto con el software del SMBDD como con las aplicaciones que se
van a ejecutar sobre la base de datos.
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 distribuida.
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.
El sistema debe de ser capaz de procesar consultas que hagan referencia a
datos situados a más de un nodo.
Primeramente se debe de contar con heterogeneidad de los datos, para que
puedan ser usados para formular consultas. Tenemos los siguientes ejemplos:
Así como también necesitamos contar con:
·
Localización de los datos para generar
reglas heurísticas.
·
Descomposición de consultas en paralelo
en cada nodo.
·
Reducir la cantidad de datos a
transferir en la red.
1.5 Manejo de Transacciones.
Se considera el
manejo de transacciones cuando un dispositivo móvil inicia una transacción
hacia la base de datos o hacia un servidor fijo. La transacción puede
ejecutarse en el servidor o en el dispositivo móvil.
Se debe tomar en
cuenta: Desconexiones, movilidad, errores, fallas en el dispositivo móvil.
Se debe mantener la
autonomía y la consistencia local del SMBD.
Los algoritmos
dependen de:
· Si el dispositivo
esta ejecutando la transacción (no, solo lectura, lectura y escritura).
· Si se almacenaron los
datos en disco.
· Si el dispositivo
móvil necesita datos que se encuentran en otros dispositivos móviles.
No hay comentarios.:
Publicar un comentario