UNIDAD 1

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