
La evolución de los sistemas de información y el crecimiento no planeado de la información dentro de las organizaciones, ha traído dispersión de los datos en sitios local o geográficamente dispersos. La necesidad de integrar y compartir dicha información implica el nacimiento de una nueva tecnología capaz de conformar de manera consistente la información de las organizaciones. Una de las tecnologías que trabaja en el problema de integración de información, es la de bases de datos distribuidas (BDD).
Evolución de las bases de datos.
Base de datos centralizada:- Los equipos están conectados a un servidor centralizado, donde esta almacenada la base de datos.
La interacción con el usuario como la aplicación residen en el cliente, siendo el servidor el depositario de los datos. En un sistema centralizado, la caída o desconexión del servidor, provoca la caída total del sistema.
Base de datos distribuidos:- Una base de datos esta dividida en fragmentos, almacenados en diferentes sitios de la red. Todas las operaciones realizadas en los sitios se ven reflejadas en la base de datos que esta almacenada en el servidor.
El cliente debe conocer la topología de la red, así como la disposición y ubicación de los datos. Se delega parte de la gestión de la base de datos a los clientes.
Arquitectura Cliente-Servidor:- Es la integración distribuida en un sistema de red, con los recursos, medios y aplicaciones, que definidos modularmente en los servidores, administran, ejecutan y atienden a las solicitudes de los clientes; todos interrelacionados física y lógicamente. En un esquema cliente-servidor, se denomina cliente a la máquina que solicita un determinado servicio, y servidor a aquella que proporciona tal servicio.
La interacción con el usuario como la aplicación residen en el cliente, siendo el servidor el depositario de los datos. En un sistema centralizado, la caída o desconexión del servidor, provoca la caída total del sistema.
Base de datos distribuidos:- Una base de datos esta dividida en fragmentos, almacenados en diferentes sitios de la red. Todas las operaciones realizadas en los sitios se ven reflejadas en la base de datos que esta almacenada en el servidor.
El cliente debe conocer la topología de la red, así como la disposición y ubicación de los datos. Se delega parte de la gestión de la base de datos a los clientes.
Arquitectura Cliente-Servidor:- Es la integración distribuida en un sistema de red, con los recursos, medios y aplicaciones, que definidos modularmente en los servidores, administran, ejecutan y atienden a las solicitudes de los clientes; todos interrelacionados física y lógicamente. En un esquema cliente-servidor, se denomina cliente a la máquina que solicita un determinado servicio, y servidor a aquella que proporciona tal servicio.
Arquitectura Cliente-Servidor.
Objetivos de un Sistema Distribuido.
Un sistema distribuido debe aparecer al usuario como un sistema centralizado.
Transparencia a la localización.
Transparencia a la fragmentación.
Transparencia a la replicación.
Desventajas de un Sistema Distribuido.
Optimización en el procesamiento de preguntas.
Propagación de actualizaciones.
Mayor problema con los accesos concurrentes.
Ventajas de un Sistema Distribuido.
Autonomía local
- Cada grupo es responsable de sus datos.
- El tratamiento local es más rápido.
- Se pueden abordar proyectos de más envergadura.
- Se puede ampliar la información sin cambiar todo el sistema.
- Los fallos suelen ser locales.
- Se admite un cierto nivel de redundancia.
Distribución de Datos.
El problema de diseño de bases de datos distribuidos se refiere, a hacer decisiones acerca de la ubicación de datos y programas a través de los diferentes sitios de una red de computadoras.
Consideraciones para la base de datos distribuidos:
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.
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.
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.
Objetivos del Diseño de la Distribución de datos.
En el diseño de la distribución de los datos, se deben de tomar en cuenta los siguientes objetivos:
Procesamiento local. La distribución de los datos, para maximizar el procesamiento local corresponde al principio simple de colocar los datos tan cerca como sea posible de las aplicaciones que los utilizan. Se puede realizar el diseño de la distribución de los datos para maximizar el procesamiento local agregando el número de referencias locales y remotas que le corresponden a cada fragmentación candidata y la localización del fragmento, que de esta forma se seleccione la mejor solución de ellas.
Distribución de la carga de trabajo. La distribución de la carga de trabajo sobre los sitios, es una característica importante de los sistemas de cómputo distribuidos. Esta distribución de la carga se realiza para tomar ventaja de las diferentes características (potencia) o utilizaciones de las computadoras de cada sitio, y maximizar el grado de ejecución de paralelismo de las aplicaciones. Sin embargo, la distribución de la carga de trabajo podría afectar negativamente el procesamiento local deseado.
Costo de almacenamiento y disponibilidad. La distribución de la base de datos refleja el costo y disponibilidad del almacenamiento en diferentes sitios. Para esto, es posible tener sitios especializados en la red para el almacenamiento de datos. Sin embargo el costo de almacenamiento de datos no es tan relevante si éste se compara con el del CPU, I/O y costos de transmisión de las aplicaciones.
Procesamiento local. La distribución de los datos, para maximizar el procesamiento local corresponde al principio simple de colocar los datos tan cerca como sea posible de las aplicaciones que los utilizan. Se puede realizar el diseño de la distribución de los datos para maximizar el procesamiento local agregando el número de referencias locales y remotas que le corresponden a cada fragmentación candidata y la localización del fragmento, que de esta forma se seleccione la mejor solución de ellas.
Distribución de la carga de trabajo. La distribución de la carga de trabajo sobre los sitios, es una característica importante de los sistemas de cómputo distribuidos. Esta distribución de la carga se realiza para tomar ventaja de las diferentes características (potencia) o utilizaciones de las computadoras de cada sitio, y maximizar el grado de ejecución de paralelismo de las aplicaciones. Sin embargo, la distribución de la carga de trabajo podría afectar negativamente el procesamiento local deseado.
Costo de almacenamiento y disponibilidad. La distribución de la base de datos refleja el costo y disponibilidad del almacenamiento en diferentes sitios. Para esto, es posible tener sitios especializados en la red para el almacenamiento de datos. Sin embargo el costo de almacenamiento de datos no es tan relevante si éste se compara con el del CPU, I/O y costos de transmisión de las aplicaciones.
Requerimientos de Información.
Con el fin de realizar una fragmentación adecuada, es necesario proporcionar información que ayude a realizarla. Esta información normalmente debe ser proporcionada por el usuario y tiene que ver con cuatro tipos:
- Información sobre el significado de los datos.
- Información sobre las aplicaciones que lo usan.
- Información acerca de la red de comunicaciones.
- Información acerca de los sistemas de cómputo.
Tipos de Fragmentación.
Existen tres tipos de fragmentaciones principales:
- Fragmentación horizontal. Esta fragmentación se divide en primaria y derivada.
- Fragmentación horizontal primaria. Consiste del particionamiento en tuplas de una relación R en subconjuntos, donde cada subconjunto puede contener datos que tienen propiedades comunes y se puede definir expresando cada fragmento como una operación de selección sobre la relación R.
- Fragmentación horizontal derivada. Se define partiendo de una fragmentación horizontal. En esta operación se requiere de semi-junta(semi-join) el cual nos sirve para derivar las tuplas o registros de dos relaciones.
- Fragmentación vertical. Una relación R produce fragmentos R1,R2,...,Rn; cada fragmento contiene subconjuntos de atributos Pr así como la clave primaria de R. Cada atributo debe encontrarse al menos en un fragmento.
- Fragmentación híbrida (mixta). La relación R se divide en una serie de fragmentos R1,R2,...,Rn. Cada fragmento se obtiene como resultado de la aplicación del esquema de fragmentación horizontal o vertical a la relación R, o un fragmento de R obtenido con anterioridad. Resultado de la combinación de las dos fragmentaciones anteriores.
Asignación.
Encontrar la distribución óptima de los fragmentos F en los nodos S.
Mínimo coste:
- almacenamiento.
- modificación de un fragmento en toda sede.
- coste de comunicación.
- minimizar tiempos de respuesta.
- maximizar la capacidad de procesamiento del sistema en cada nodo
No hay comentarios:
Publicar un comentario