Bases de Datos Distribuidas

34
Año de la Diversificación Productiva y del Fortalecimiento de la EducaciónBase de datos 2 PROFESOR: - FREDY RIVERA MONTERO INTEGRANTES: -JENNY BECERRA GARCIA -PEDRO PUESCAS PEÑA -GEOVANNA ADRIANZEN SANCHEZ TEMA: - BASE DE DATOS DISTRIBUIDAS CICLO: -V ESCUELA pág. 1

description

TRABAJO DE INVESTIGACIÓN

Transcript of Bases de Datos Distribuidas

“Año de la Diversificación Productiva y del

Fortalecimiento de la Educación”

Base de datos 2

PROFESOR:

- FREDY RIVERA MONTERO

INTEGRANTES:

-JENNY BECERRA GARCIA

-PEDRO PUESCAS PEÑA

-GEOVANNA ADRIANZEN SANCHEZ

TEMA:

- BASE DE DATOS DISTRIBUIDAS

CICLO:

- V

ESCUELA

- INGENIERIA INFORMATICA Y SISTEMAS

SULLANA 2014

pág. 1

Bases de Datos DistribuidasEl continuo y creciente desarrollo de la alta tecnología y la disminución de los costos del Hardware han sido las principales causas que han motivado a los programadores la implementación de los Sistemas de Bases de Datos Distribuidas (SBDD). El tema de las bases de datos distribuidas (BDD) constituye por sí mismo un tema amplio, donde encontramos los SBDD. El principal objetivo de los SBDD es que el manejo de los datos realice como una única colección global de los datos. Debido a que los SBDD son aún un área en desarrollo, están jugando un papel importante en operaciones de negocios. Con los extraordinarios avances que ocurren a diario en los sistemas de comunicaciones, la tecnología de los SBDD será necesaria para todas las organizaciones.

Definición

La base de datos consiste en dos o más ficheros de datos almacenados en diferentes localidades de una red que pueden estar geográficamente separadas y conectadas por enlaces de comunicación. Cuando las bases de datos son distribuidas, diferentes usuarios tienen acceso sin interferir unos con otros. Sin embargo, el sistema de gestión de bases de datos distribuidas (SGBBD) debe sincronizar periódicamente las bases de datos dispersas, para asegurar que todas tengan sus datos uniformes.

El acceso a los datos en los SBDD se realiza mediante los enlaces de comunicación que conformen la red en la que se encuentren los sitios que contengan alguna de las partes los datos. Los sitios pueden estar en una habitación o geográficamente separados, cada uno de ellos tiene capacidad de procesamiento autónomo y de ejecución de aplicaciones locales.

Los sistemas de bases de datos distribuidas heredan algunas cuestiones negativas de los sistemas centralizados, la distribución de los datos incorpora un nuevo nivel de complejidad, que a su vez añade beneficios adicionales que se trataran posteriormente en este documento. Es importante destacar que las bases de datos distribuidas no son implementaciones distribuidas de bases de datos centralizadas.

El procesamiento de bases de datos distribuidas es el procesamiento de bases de datos en el cual la ejecución de transacciones y la recuperación y actualización de los datos acontece a través de dos o más computadoras independientes, que pueden estar separadas geográficamente. Cuando diseñamos un sistema de base de dato distribuida debemos tener en cuenta algunas características claves que caracterizan este tipo de sistemas, como son:

Permitir que cada sitio almacene y mantenga su propia BD facilita el acceso inmediato y eficaz de sus datos que se usan más frecuente.

Mejora la fiabilidad si la computadora de un sitio se cae, el resto de la red sigue funcionando.

pág. 2

Permitir el control local de los datos en un sitio mejora el grado de satisfacción de los usuarios con relación al sistema de BD.

Cuando cada sitio procesa sus datos locales se elimina un poco el tráfico de la red, pero si los sitios usan frecuentemente datos almacenados en otros sitios las comunicaciones pueden convertirse en un cuello de botella.

Un sistema gestión de bases de datos distribuida no es más que el software que permite la administración de la base de dato distribuida y hace que tanto como la distribución y el control de concurrencia de las transacciones, las fallas, sean transparente para el usuario que opera con el sistema.

Un SBDD está formado por una colección de sitios, cada uno de los cuales opera un sistema de bases de datos para el procesamiento de las actividades que solo requieran datos locales. Los SGBDD están compuestos por varios SGBDs operando en sitios locales y que están conectados mediante la trasmisión de mensajes, transacciones, datos desde el sitio local hacia remostos y viceversa, etc.

Ventajas en la arquitectura de las BDD.

Expandibilidad

Al crecer una organización por la adición una nueva unidad, el nuevo nodo o unidad de localización de dato pasa a formar parte de la base de datos distribuida sin reconfigurar la BD completamente – el nuevo nodo casi automáticamente forma parte de la BD global.

Confiabilidad o Disponibilidad.

Fácil conexión entre los datos de varias localizaciones sin tener en cuenta los Sistemas Operativos y/o el hardware y software utilizados. La capacidad que tiene el sistema para seguir trabajando, a pesar del fallo de una localidad, da como resultado una mayor disponibilidad. Para aplicaciones de solo – lectura si se almacenan múltiples copias de la misma información de forma que el sistema tenga alternativas de solución para asegurar que siempre alguna de ellas esté disponible.

La disponibilidad es fundamental para los sistemas de base de datos que se utilizan en aplicaciones de tiempo real. Por ejemplo, si una línea aérea no puede tener acceso a la información, es posible que pierda clientes a favor de la competencia.

Flexibilidad.

Al realizar un movimiento en un dato de un lugar a otro o algún cambio en una localización física de ciertos nodos requeridos no hay que realizar cambios en la BD o su arquitectura.

pág. 3

Distribución de la carga de trabajo:

La distribución de la carga de trabajo sobre los sitios se hace sobre la base de utilizar la potencia de las computadoras de cada sitio y maximizar paralelismo en la ejecución de las aplicaciones. Como que la distribución de la carga puede afectar la localidad del procesamiento, es necesario correlacionar ambos objetivos.

Sharing o Compartición.

Los datos pueden ser compartidos por sucursales o usuarios diferentes de la misma organización u organizaciones diferentes, permitiendo así comunicación eficiente entre usuarios distantes. La ventaja principal de compartir los datos por medio de la distribución es que cada localidad puede tener mejor control de sus datos almacenados localmente. En los sistemas centralizados ex iste un administrador global de la base de datos, mientras que en un SBDD existe un administrador global de base de datos que se descompone en los administradores de base de datos locales donde reside cada base de datos. Dependiendo del diseño del sistema distribuido, cada administrador de base de datos local podrá tener un grado de autonomía diferente, que se conoce como autonomía local. La posibilidad de contar con autonomía local es en muchos casos una ventaja importante de las bases de datos distribuidas.

Confiabilidad.

La confiabilidad se logra al tener réplicas de los datos, pues es posible recuperar una copia dañada o destruida a partir de otra. Por supuesto, que como los daños pueden obedecer a catástrofes físicas, deben tenerse copias en lugares geográficamente separadas.

Razones económicas.

Cuando se maximiza el acceso local de las aplicaciones a los datos se disminuye el tráfico en las comunicaciones. Hoy en día podemos adquirir computadoras personales a precios considerados, comparado con el equivalente a una supercomputadora o Mainframe.

Desventajas de BDD.

Complejidad.

Un sistema distribuido, que oculta su naturaleza distribuida al usuario, es más complejo que el sistema centralizado. Las consideraciones adicionales tales como el control de concurrencia y la seguridad deberían tenerse en cuenta, no para mencionar la complejidad alta de la optimización de consultas, comparado con una base de datos centralizada, sino que las actualizaciones se complican proporcionalmente con el aumento de réplicas en el sistema.

La confiabilidad /Eficiencia.

pág. 4

Se deben implementar mecanismos que garanticen la consistencia y permitan detectar fallas en el sistema y su posterior recuperación. Al ocurrir alguna falla en sitios distintos, el sitio que contenga una réplica de esa base de datos, y además sea operable debe garantizar la consistencia y actualización de su base de datos. Al reponerse los diferentes sitios el sistema de gestión de base de datos debe granizar la actualización de esos sitios que estaban sin operar.

AL estar particionada la red que une los diferentes sitios es un poco más difícil garantizar las actualizaciones de las bases de datos. Puesto que las localidades del sistema distribuido operan en paralelo, es más difícil garantizar que los algoritmos sean correctos. Existe la posibilidad de errores extremadamente sutiles. (Profundizar)

Mayor tiempo extra de procesamiento.

El intercambio de mensajes y los cálculos adicionales que se requieren para coordinar las localidades son una forma de tiempo extra que no existe en los sistemas centralizados.

Costo.

La complejidad aumentada significa que los costos de mantenimiento y adquisición del sistema son mucho más altos que los de un DBMS centralizado. La capacidad de almacenamiento de cada sitio debe tenerse en cuenta, usualmente el costo de almacenamiento no es importante comparado con otros costos, no obstante, las limitaciones de almacenamiento deben ser consideradas.

Aumento del tráfico de comunicación.

Cuando un sitio accede frecuentemente a los datos de otros sitios, aumenta el tráfico de mensaje y transacciones en la red, y por tanto las comunicaciones, lo que puede convertirse en un cuello de botella.

Integridad.

Debido a que no todos los datos se ubican en un lugar centralizado - una estación (nodo) - el fracaso podría ocasionar una pérdida de datos para otros nodos.

Características de las BDD

pág. 5

Podemos caracterizar las BDD en varios aspectos:

1. Los datos deben estar físicamente en más de un ordenador, es decir, los datos se encuentran almacenados en distintas sedes.

2. Las sedes deben estar interconectadas mediante una red de computadoras (cada sede será un nodo de la red). Para realizar el diseño no se tendrá en cuenta la topología, tipo y rendimiento de la red, aunque estas propiedades tengan relevancia en el buen funcionamiento del sistema.

3. Los datos han de estar lógicamente integrados en una única estructura o esquema lógico global común.

4. Los usuarios han de tener acceso (recuperación y actualización) a los datos pertenecientes a la BDD, ya residan éstos en la misma sede (acceso local) o en otra sede (acceso remoto).

5. Cada nodo o emplazamiento facilita un entorno para la ejecución de transacciones tanto locales como globales.

En una única operación, tanto de consulta como de actualización, se puede acceder a datos que se encuentran en más de una sede sin que el usuario sepa la distribución de los mismos en las distintas sedes. Es decir, que la distribución de la información sea transparente para el usuario.

Sistemas Gestores de Bases de Datos Distribuidas (SGBDD)

Características y arquitectura de los SGBDD

Los SGBDD son un producto software que permiten la gestión de la base de datos y posibilitan una distribución transparente a los usuarios.El SGBDD debe contar con funciones de un SGBD centralizado y además con funciones tales como:

1. Capacidad de acceder a sitios remotos y transmitir consultas y datos entre diversos sitios a través de una red de ordenadores.

2. Capacidad de rastrear la traza de distribución y de replicación de los datos en el Diseño y Construcción de Bases de Datos Distribuidas Heterogéneas sobre Oracle Y SQL Server.

3. Capacidad de elaborar estrategias de ejecución para consultas y transacciones con acceso a datos situados en nodos diferentes.

4. Capacidad de mantener la consistencia en las réplicas de un elemento de información.

pág. 6

5. Capacidad de decidir cuál de las copias de un elemento de información será accedida.

6. Capacidad de recuperación ante caídas de sitios individuales y fallos de un enlace de comunicación.

El SGBDD debe contar con los siguientes componentes para poder ofrecer estas funcionalidades descritas:

Procesador de datos locales que se encarga de la gestión local de los datos de forma parecida al software de un SGBD centralizado, por lo que además de ejecutar transacciones locales se encarga de la concurrencia y la recuperación ante fallos a nivel local.

Diccionario o directorio global donde se guardará información acerca de dónde y cómo se almacenan los datos, el modo de acceso y otras características físicas. En resumen, contiene las especificaciones necesarias para pasar de la representación externa o esquema externo de los datos a la representación interna de los mismos.

Procesador de aplicaciones distribuidas que es el responsable de las funciones distribuidas. Accede a la información sobre la ubicación de los datos, que se encuentra en el diccionario, y se ocupa de procesar todas las peticiones que involucran más de una sede para generar un plan de ejecución distribuido. Es el elemento diferenciador en los sistemas distribuidos, dada una operación se encargará de repartir el trabajo a los distintos procesadores locales que intervienen en dicha operación.

Software y red de comunicaciones. No forma parte estrictamente delSGBDD sino que provee al procesador de aplicaciones distribuidas primitivas y servicios de comunicaciones para que éste lleve a cabo su labor.

pág. 7

¿Que son Bases de Datos Distribuidas?

Son un grupo de datos que pertenecen a un sistema pero a su vez está 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.

1.- Comparación

Centralizado Distribuido

Control centralizado: un solo DBA Control jerárquico: DBA global y DBA local

Independencia de Datos:Organización de los datos es transparente para el programador

Transparencia en la Distribución:Localización de los datos es un aspecto adicional de independencia de datos

Reducción de redundancia: Una sola copia de datos que se comparta

Replicación de Datos: Copias múltiples de datos que incrementa la localidad y la disponibilidad de datos

Estructuras físicas complejas para accesos eficientes

No hay estructuras intersitios. Uso de optimización global para reducir transferencia de datos

Seguridad Problemas de seguridad intrínsecos

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 envié y reciba mensajes de otro proceso ejecutándose en un sitio

pág. 8

distinto. Parámetros a considerar incluyen: Retraso en la entrega de mensajes, Costo de transmisión de un mensaje y Confiabilidades de la red. Diferentes tipos de redes: point-to-point, broadcast, lan, wan.

2.-Arquitectura de las Bases de Datos

Integración lógica por medio de diseño top-Down (DistDB)

pág. 9

Stiio nStiio 1

. . .. . . . .. . . .

. . .. . . . .. . . .

Databsea

Locla

Sysetm

rMangae

aseDaatB

Sysetm

rMangae

aseDaatB

Scehma

ingLocaMl app

Scehma

ingLocaMl app

Databsea

Locla

Scehma

tionAlolca

Scehma

ionFragmteant

ScehmaGloabl

Integración lógica por medio de bottom-(Multidatabase)

Global Schema: Define todos los datos que están incluidos en la bd distribuida tal como si la bd no fuera distribuida. Consiste de una definición de relaciones globales.

Fragmentation Schema: Traducción entre relaciones globales y fragmentos. (Una relación global puede consistir de varios fragmentos pero un fragmento está asociado con sólo una relación global)

Allocation Schema: Define el sitio (o sitios) en el cual un fragmento está localizado.

Local Maping Schema: Traduce los fragmentos locales a los objetos que son manejados por el SMBD local.

pág. 10

Translaotr

Translaotr

ScehmaeItermeia

dt

Stiio nStiio 1

. . . .. . . .

. . . . . . . .

DatabseaLocla

Scehmatual

CocnepLocal

Scehmatual

CocnepLocal

DatabseaLocla

Scehmaaet

Itermeid

Integration

Scehma

ScehmaGloabl

Separación entre fragmentación y localización.

1. Transparencia de Fragmentación

2. Transparencia de Localización

Control explícito de redundancia Independencia de BD locales

Ejemplo de una Base de Datos Distribuidas

pág. 11

3.-Tipos de almacenamiento

1. Replica

El sistema conserva varias copias o réplicas idénticas de una tabla. Cada réplica se almacena en un nodo diferente.

Ventajas:

Disponibilidad: El sistema sigue funcionando aún en caso de caída de uno de los nodos.Aumento del paralelismo: Varios nodos pueden realizar consultas en paralelo sobre la misma tabla. Cuantas más réplicas existan de la tabla, mayor será la posibilidad de que el dato buscado se encuentre en el nodo desde el que se realiza la consulta, minimizando con ello el tráfico de datos entre nodos.Aumento de la sobrecarga en las actualizaciones: El sistema debe asegurar que todas las réplicas de la tabla sean consistentes. Cuando se realiza una actualización sobre una de las réplicas, los cambios deben propagarse a todas las réplicas de dicha tabla a lo largo del sistema distribuido.

2. Fragmentación

Existen tres tipos de fragmentación la horizontal, la vertical y la mixta

Fragmentación Horizontal

Una tabla T se divide en subconjuntos, T1, T2,...Tn. Los fragmentos se definen a través de una operación de selección y su reconstrucción se realizará con una operación de unión de los fragmentos componentes.

Cada fragmento se sitúa en un nodo.

Pueden existir fragmentos no disjuntos: combinación de fragmentación y replicación.

pág. 12

Ejemplo:

Tabla inicial de alumnos

Tabla de alumnos fragmentada

pág. 13

Fragmentación Vertical

Una tabla T se divide en subconjuntos, T1, T2,...Tn. Los fragmentos se definen a través de una operación de proyección.

Cada fragmento debe incluir la clave primaria de la tabla. Su reconstrucción se realizará con una operación de join de los fragmentos componentes, pueden existir fragmentos no disjuntos: combinación de fragmentación y replicación.

Ejemplo:

Fragmentación Mixta

Como el mismo nombre indica es una combinación de las dos anteriores vistas

he aquí un ejemplo a partir de una tabla fragmentada horizontalmente.

Replica y Fragmentación

pág. 14

Las técnicas de réplica y fragmentación se pueden aplicar sucesivamente a la misma relación de partida. Un fragmento se puede replicar y a su vez esa réplica ser fragmentada, para luego replicar alguno de esos fragmentos.

3. Niveles de Transparencia en una Base de Datos Distribuida

El propósito de establecer una arquitectura de un sistema de bases de datos distribuidas es ofrecer un nivel de transparencia adecuado para el manejo de la información.

La transparencia se define como la separación de la semántica de alto nivel de un sistema de los aspectos de bajo nivel relacionados a la implementación del mismo. Un nivel de transparencia adecuado permite ocultar los detalles de implementación a las capas de alto nivel de un sistema y a otros usuarios.

El sistema de bases de datos distribuido permite proporcionar independencia de los datos.

La independencia de datos se puede dar en dos aspectos: lógica y física.

1. Independencia lógica de datos. Se refiere a la inmunidad de las aplicaciones de usuario a los cambios en la estructura lógica de la base de datos. Esto permite que un cambio en la definición de un esquema no debe afectar a las aplicaciones de usuario. Por ejemplo, el agregar un nuevo atributo a una relación, la creación de una nueva relación, el reordenamiento lógico de algunos atributos.

2. Independencia física de datos. Se refiere al ocultamiento de los detalles sobre las estructuras de almacenamiento a las aplicaciones de usuario. La descripción física de datos puede cambiar sin afectar a las aplicaciones de usuario. Por ejemplo, los datos pueden ser movidos de un disco a otro, o la organización de los datos puede cambiar.

La transparencia al nivel de red se refiere a que los datos en un SBDD se accedan sobre una red de computadoras, sin embargo, las aplicaciones no deben notar su existencia. La transparencia al nivel de red conlleva a dos cosas:

pág. 15

1. Transparencia sobre la localización de datos: el comando que se usa es independiente de la ubicación de los datos en la red y del lugar en donde la operación se lleve a cabo. Por ejemplo, en Unix existen dos comandos para hacer una copia de archivo. Cp se utiliza para copias locales y rcp se utiliza para copias remotas. En este caso no existe transparencia sobre la localización.

2. Transparencia sobre el esquema de nombramiento: Lo anterior se logra proporcionando un nombre único a cada objeto en el sistema distribuido. Así, no se debe mezclar la información de la localización con en el nombre de un objeto.

La transparencia sobre replicación de datos se refiere a que si existen réplicas de objetos de la base de datos, su existencia debe ser controlada por el sistema no por el usuario. Se debe tener en cuenta que cuando el usuario se encarga de manejar las réplicas en un sistema, el trabajo de éste es mínimo por lo que se puede obtener una eficiencia mayor. Sin embargo, el usuario puede olvidarse de mantener la consistencia de las réplicas teniendo así datos diferentes.

La transparencia a nivel de fragmentación de datos permite que cuando los objetos de la bases de datos están fragmentados, el sistema tiene que manejar la conversión de consultas de usuario definidas sobre relaciones globales a consultas definidas sobre fragmentos. Así también, será necesario mezclar las respuestas a consultas fragmentadas para obtener una sola respuesta a una consulta global. El acceso a una base de datos distribuida debe hacerse en forma transparente.

En resumen, la transparencia tiene como punto central la independencia de datos.

La responsabilidad sobre el manejo de transparencia debe estar compartida tanto por el sistema operativo, el sistema de manejo de bases de datos y el lenguaje de acceso a la base de datos distribuida. Entre estos tres módulos se deben resolver los aspectos sobre el procesamiento distribuido de consultas y sobre el manejo de nombres de objetos distribuidos.

4. Procesamiento Distribuido de Consultas

El procesamiento de consultas es de suma importancia en bases de datos centralizadas. Sin embargo, en BDD éste adquiere una relevancia mayor. El objetivo es convertir transacciones de usuario en instrucciones para manipulación de datos. No obstante, el orden en que se realizan las transacciones afecta grandemente la velocidad de respuesta del sistema. Así, el procesamiento de consultas presenta un problema de optimización en el cual

pág. 16

se determina el orden en el cual se hace la menor cantidad de operaciones. En BDD se tiene que considerar el procesamiento local de una consulta junto con el costo de transmisión de información al lugar en donde se solicitó la consulta.

5. Recuperación

En los entornos distribuidos de datos podemos encontrar lo siguientes:

Fallo de los nodos. Cuando un nodo falla, el sistema deberá continuar trabajando con los nodos que aún funcionan. Si el nodo a recuperar es una base de datos local, se deberán separar los datos entre los nodos restantes antes de volver a unir de nuevo el sistema.

Copias múltiples de fragmentos de datos. El subsistema encargado del control de concurrencia es el responsable de mantener la consistencia en todas las copias que se realicen y el subsistema que realiza la recuperación es el responsable de hacer copias consistentes de los datos de los nodos que han fallado y que después se recuperarán.

Transacción distribuida correcta. Se pueden producir fallos durante la ejecución de una transacción correcta si se plantea el caso de que al acceder a alguno de los nodos que intervienen en la transacción, dicho nodo falla.

Fallo de las conexiones de comunicaciones. El sistema debe ser capaz de tratar los posibles fallos que se produzcan en las comunicaciones entre nodos. El caso más extremo es el que se produce cuando se divide la red. Esto puede producir la separación de dos o más particiones donde las particiones de cada nodo pueden comunicarse entre sí pero no con particiones de otros nodos.

Para implementar las soluciones a estos problemas, supondremos que los datos se encuentran almacenados en un único nodo sin repetición. De ésta manera sólo existirá un único catálogo y un único DM (Data Manager) encargados del control y acceso a las distintas partes de los datos.

Para mantener la consistencia de los datos en el entorno distribuido contaremos con los siguientes elementos:

Catálogo: Programa o conjunto de programas encargados de controlar la ejecución concurrente de las transacciones.

pág. 17

CM (Cache Manager). Subsistema que se encarga de mover los datos entre las memorias volátiles y no volátiles, en respuesta a las peticiones de los niveles más altos del sistema de bases de datos. Sus operaciones son Fetch(x) y Flush(x).

RM (Recovery Manager). Subsistema que asegura que la base de datos contenga los efectos de la ejecución de transacciones correctas y ninguno de incorrectas. Sus operaciones son Start, Commit, Abort, Read, Write, que utilizan a su vez los servicios del CM.

DM (Data Manager). Unifica las llamadas a los servicios del CM y el RM.

TM (Transaction Manager). Subsistema encargado de determinar que nodo deberá realizar cada operación a lo largo de una transacción.

Las operaciones de transacción que soporta una base de datos son: Start, Commit y Abort. Para comenzar una nueva transacción se utiliza la operación Start. Si aparece una operación commit, el sistema de gestión da por terminada la transacción con normalidad y sus efectos permanecen en la base de datos. Si, por el contrario, aparece una operación abort, el sistema de gestión asume que la transacción no termina de forma normal y todas las modificaciones realizadas en la base de datos por la transacción deben de ser deshechas.

6. Ventajas y Desventajas

Ventajas

Los sistemas de bases de datos distribuidos tienen múltiples ventajas. En primer lugar los datos son localizados en lugar más cercano, por tanto, el acceso es más rápido, el procesamiento es rápido debido a que varios nodos intervienen en el procesamiento de una carga de trabajo, nuevos nodos se pueden agregar fácil y rápidamente. La comunicación entre nodos se mejora, los costos de operación se reducen, son amigables al usuario, la probabilidad de que una falla en un solo nodo afecte al sistema es baja y existe una autonomía e independencia entre los nodos.

Las razones por las que compañías y negocios migran hacia bases de datos distribuidas incluyen razones organizacionales y económicas, para obtener una interconexión confiable y flexible con las bases de datos existentes, y por un crecimiento futuro. El enfoque distribuido de las bases de datos se adapta más naturalmente a la estructura de las organizaciones. Además, la necesidad de desarrollar una aplicación global (que incluya a toda la organización), se

pág. 18

resuelva fácilmente con bases de datos distribuidas. Si una organización crece por medio de la creación de unidades o departamentos nuevos, entonces, el enfoque de bases de datos distribuidas permite un crecimiento suave.

Los datos se pueden colocar físicamente en el lugar donde se accedan más frecuentemente, haciendo que los usuarios tengan control local de los datos con los que interactúan. Esto resulta en una autonomía local de datos permitiendo a los usuarios aplicar políticas locales respecto del tipo de accesos a sus datos.

Mediante la replicación de información, las bases de datos distribuidas pueden presentar cierto grado de tolerancia a fallos haciendo que el funcionamiento del sistema no dependa de un solo lugar como en el caso de las bases de datos centralizadas.

La independencia de datos se puede dar en dos aspectos: lógica y física.

Desventajas

Los sistemas de bases de datos distribuidos tienen múltiples ventajas. En primer lugar los datos son localizados en lugar más cercano, por tanto, el acceso es más rápido, el procesamiento es rápido debido a que varios nodos intervienen en el procesamiento de una carga de trabajo, nuevos nodos se pueden agregar fácil y rápidamente. La comunicación entre nodos se mejora, los costos de operación se reducen, son amigables al usuario, la probabilidad de que una falla en un solo nodo afecte al sistema es baja y existe una autonomía e independencia entre los nodos.

Las razones por las que compañías y negocios migran hacia bases de datos distribuidas incluyen razones organizacionales y económicas, para obtener una interconexión confiable y flexible con las bases de datos existentes, y por un crecimiento futuro. El enfoque distribuido de las bases de datos se adapta más naturalmente a la estructura de las organizaciones. Además, la necesidad de desarrollar una aplicación global (que incluya a toda la organización), se resuelva fácilmente con bases de datos distribuidas. Si una organización crece por medio de la creación de unidades o departamentos nuevos, entonces, el enfoque de bases de datos distribuidas permite un crecimiento suave.

Los datos se pueden colocar físicamente en el lugar donde se accedan más frecuentemente, haciendo que los usuarios tengan control local de los datos con los que interactúan. Esto resulta en una autonomía local de datos permitiendo a los usuarios aplicar políticas locales respecto del tipo de accesos a sus datos.

pág. 19

Mediante la replicación de información, las bases de datos distribuidas pueden presentar cierto grado de tolerancia a fallos haciendo que el funcionamiento del sistema no dependa de un solo lugar como en el caso de las bases de datos centralizadas.

La independencia de datos se puede dar en dos aspectos: lógica y física.

Sistema de Gestión de Base de Datos Distribuida

Un sistema de gestión de bases de datos distribuidas (SGBDD) es un Sistema de Gestión de bases de datos que gestiona la BD distribuida

Funcionalidades adicionales de un SGBDD

Accede a sitios remotos y transmite consultas y datos a través de varios sitios mediante una red de comunicación.

Almacena el esquema de distribución y replicación de los datos en el catálogo del sistema.

Establece las estrategias de ejecución de las consultas y las transacciones que acceden a los datos en más de un sitio.

Decide sobre cual copia de los datos replicados acceder.

Mantiene la consistencia de las copias de los datos replicados.

Realiza la recuperación ante los fallos.

Ambientes de bases de datos distribuidas

Las BDD pueden ser:

Homogéneas: Todos los sitios tienen el mismo SGBD, son conscientes de la existencia de los demás sitios y cooperan en el procesamiento de las solicitudes. Los sitios locales mantienen un mismo esquema y SGBD.

Heterogéneas: Cada sitio puede tener un SGBD distinto así como esquemas diferentes. Puede que algunos sitios no conozcan a otros. Puede que solo ofrezcan facilidades limitadas para la cooperación en el procesamiento de transacciones.

Problemas fundamentales a resolver en las bases de datos distribuidas

pág. 20

Diseño de bases de datos distribuidas

Procesamiento y optimización de consultas

Manejo de transacciones y control de concurrencia

Etapas del diseño

La etapa diferenciadora entre el diseño de una base de datos centralizada y una base de datos distribuidos es el "Diseño de la distribución" que consta de dos actividades:

Fragmentación: Decidir "como" dividimos la BD y en "que" partes.

Asignación: Decidir "donde" ubicamos cada parte, así como si tendremos replicación de datos.

Aspectos a considerar en el diseño de una BD distribuida

Fragmentación: Una relación puede ser dividida en un número de sub-relaciones, denominadas fragmentos, los cuales son entonces distribuidas.

Asignación: cada fragmento debe ser almacenado en un sitio en base a una distribución óptima.

Replicación: El SGBDD puede mantener una copia de un fragmento en diferentes sitios

Fragmentación

El problema de fragmentación se refiere al particionamiento de la información para distribuir cada parte a los diferentes sitios de la red

Objetivos de la fragmentación

El objetivo de la fragmentación consiste en dividir la relación en un conjunto de relaciones más pequeñas tal que algunas de las aplicaciones de usuario sólo hagan uso de un fragmento.

Sobre este marco, una fragmentación óptima es aquella que produce un esquema de división que minimiza el tiempo de ejecución de las aplicaciones que emplean esos fragmentos.

La unidad de fragmentación ideal no es la tabla sino una subdivisión de ésta.

pág. 21

Esto es debido ha:

Las aplicaciones usan vistas definidas sobre varias relaciones, es decir, se forman a partir de "trozos" de varias tablas. Si conseguimos que cada una de las vistas esté definida sobre subtablas locales (o en su defecto lo más "cerca" posible) a cada aplicación, es de esperar un incremento en el rendimiento.Si múltiples vistas de diferentes aplicaciones están definidas sobre una tabla no fragmentada, se tiene:Si la tabla no está replicada entonces se produce generación de tráfico por accesos remotos.

Si la tabla está replicada en todos o algunos de los sitios donde reside cada una de las aplicaciones entonces la generación de tráfico innecesario es producida por la necesidad de la actualización de las copias.

El principio fundamental de las Bases de Datos Distribuidas o regla cero plantea que:

"Desde el punto de vista del usuario, un sistema distribuido deberá ser idéntico a un sistema no distribuido"

La regla cero conduce a las restantes 12 reglas:

Todas las reglas no son independientes entre sí, ni tienen igual importancia pero son útiles para entender la tecnología distribuida.

1. Autonomía Local

Los sitios de un sistema distribuido deben ser autónomos.

La autonomía Local Implica:

Propietario local. Administración local. Responsabilidad local. Integración local.

Representación local.

2. No dependencia de un sitio central

No debe existir un único sitio, ya que implicaría:

Cuello de botella. Vulnerabilidad.

3. Operación continua

Adición de elementos Actualización de versiones

pág. 22

4. Independencia de Localización

El usuario desconoce dónde están físicamente los datos.

5. Independencia de fragmentación.

Deseable porque simplifica los programas de los usuarios y sus actividades en la terminal

6. Independencia de réplica

La creación y destrucción de réplicas debe hacerse transparente al usuario.

La réplica proporciona:

Ventajas:

Mayor Prestación: los datos son locales. Mayor disponibilidad: los datos son accesibles siempre.

Desventajas:

Hay que propagar las actualizaciones.

7. Procesamiento distribuido de consultas

Los Sistemas relacionales brindan herramientas de consulta muy eficientes.

Varias maneras de trasladar los datos

8. Manejo distribuido de transacciones

Transacción distribuida: varios agentes de la transacción en varios lugares.

Control de recuperación: una transacción atómica. Todos los agentes avanzan o retroceden juntos.

Control de concurrencia: Bloqueos mediante paso de mensajes.

9. Independencia con respecto al equipo

El SGBD se ejecutará igual sea cual sea el equipo

10. Independencia con respecto al Sistema Operativo

El SGBD debe ser multioperativo sin afectar al usuario.

11. Independencia con respecto a la Red

El SGBD debe soportar múltiples redes sin afectar al usuario.

12. Independencia con respecto al SGBD

Se pueden manejar distintas copias de SGBD si manejan la misma norma estándar de SQL: Oracle, Informix, Multibase, etc.

pág. 23

Conclusiones

Mostrar las ventajas que tienen la implementación de bases de datos distribuidas resulta importante para tener conocimiento de cómo la información para diferentes aplicaciones en ingeniería y de negocios se puede distribuir y replicar en diferentes sitios cuando ciertos sitios locales tienen capacidades de almacenamiento y procesamiento limitadas, pero tienen la ventaja de poder integrarse a otros sitios remotos con mejores recursos por medio de una red de comunicación.

Las redes de comunicación son un punto fundamental para que las bases de datos pasen de un escenario centralizado a uno distribuido. El uso de bases de datos distribuidas nos permite poder escalar nuestros recursos de cómputo en forma paulatina sin tener que necesariamente adquirir un sistema nuevo completo. Sin embargo, aún existen áreas en las bases de datos distribuidas que se encuentran en investigación y desarrollo, las cuales son un reto tecnológico para varios grupos de investigadores.

En este documento mencionamos algunas de ellas, tal como es la localización del dato, la replicación de fragmentos, la tolerancia a fallas en la red o la seguridad, esto con el fin de dar al lector interesado en las bases distribuidas, un punto de referencia de los temas actuales con respecto a éstas.

pág. 24

Bibliografía

Bases de Datos Distribuidas Autor: Lic. Maidel de la Rosa Téllez. Administrador de la Red del CULT. Facultad de Ciencias Técnicas Las Tunas, 2005. © Editorial Universitaria, 2005 Calle 23 No. 667, e/ D y E El Vedado, Ciudad de La Habana, Cuba. ISBN: 959-16-0336-3.

Diseño y Construcción de Bases de Datos Distribuidas Heterogéneas sobre Oracle Y SQL Server Autor: Laura Martínez Martín, Octubre, 2010. Proyecto Fin de Carrera

http://html.rincondelvago.com/bases-de-datos- distribuidas_1.html

http://sacbeob.8m.com/tutoriales/bddistribuidas/index.htm

http://www.monografias.com/trabajos82/base-datos-distribuidas/base-datos-distribuidas.shtml

pág. 25