UNIVERSIDAD POLITÉCNICA DE TULANCINGO
Portada
por
Colorado Avila Roberto
U
Ingeniería en Sistemas Computacionales
Asignatura:
Administración de Base de Datos
P
Nombre del Catedrático:
Juan Martin Hernández Ramirez
Sexto Cuatrimestre
Tulancingo de Bravo, Hidalgo
T “ISC” “61”
Sep - Dic 2021
Índice
Definición de base de datos distribuidos ......................................................................................................... 3
Características dela base de datos distribuida: .......................................................................................... 3
Ventajas y desventajas ................................................................................................................................................. 3
Ventajas ............................................................................................................................................................................ 3
Desventajas ..................................................................................................................................................................... 3
Niveles de transparencia.............................................................................................................................................. 3
¿Qué es la fragmentación? ......................................................................................................................................... 3
Distribución de los datos ............................................................................................................................................. 4
Empresas que utilizan base de datos distribuidos ............................................................................................... 4
Características de los Sistemas Manejadores de Base de Datos Distribuidas........................... 4
Definición de base de datos distribuidos
Una base de datos distribuidos o BDD consiste en varias bases de datos situadas en diferentes espacios físicos
o lógicos, conectadas entre sí por un sistema de comunicaciones.
Las bases de datos distribuidas o Distributed Database Management System (DDBMS) se caracterizan por
almacenar la información en varias computadoras conectadas entre sí, a las cuáles el usuario puede acceder
desde cualquier sitio como si se tratara de una red local.
Una base de datos de una universidad en la que los ordenadores de Facultades de distintas ciudades
están conectados.
Un servidor que conecta varias máquinas virtuales.
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 procesamientos autónomos, estos permiten realizar operaciones locales o distribuidas.
Un Sistema de Bases de Datos Distribuida (SBDD), en inglés Distributed Database Management
System (DDBMS), es un sistema en el cual múltiples sitios de bases de datos están ligados entre sí 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 dela base de datos distribuida:
Entre las características de una base de datos distribuida se pueden citar las siguientes:
Está formada por varias computadoras, a las cuales se les denomina nodos.
Los nodos se comunican entre sí mediante una red de comunicaciones.
Cada uno de los ordenadores que forman parte de la red tiene autonomía local.
Generalmente, la red de computadoras no depende de ningún sitio central.
Tiene un funcionamiento independiente de su localización.
Se realizan continuas transacciones de información entre nodos.
La base de datos funciona independientemente del equipo, sistema operativo o red.
Ventajas y desventajas
Como ya has podido deducir, las bases de datos distribuidas funcionan como una suma de bases de datos
individuales conectadas entre sí. Esto les otorga numerosas ventajas, pero también algún inconveniente.
Ventajas
¿Cuáles son las ventajas de una base de datos distribuida?
Permiten trabajar a cada nodo de la red con autonomía local
Aumentan la disponibilidad, confiabilidad y eficiencia en el acceso a la información.
Se pueden expandir de forma indefinida en función de las necesidades de la empresa u organización.
Permiten la escalabilidad sin necesidad de grandes inversiones.
Los recursos se comparten entre nodos, de manera que se puede acceder a toda la información desde
cualquier sitio.
Desventajas
Por su parte, estas son las desventajas de una base de datos distribuida:
Resulta más difícil establecer mecanismos para controlar el acceso a los datos y garantizar la seguridad.
Los errores en la red pueden tener graves consecuencias para la privacidad de la información.
Es un sistema más complejo de implementar.
Conseguir una transparencia óptima puede suponer un importante gasto de tiempo y dinero.
Falta de experiencia y ausencia de estándares en el desarrollo e implementación de estas bases de
datos.
Posibles problemas de rendimiento o fiabilidad derivados del punto anterior.
Niveles de transparencia
Uno de los conceptos básicos en una base de datos distribuida es la transparencia.
La transparencia se entiende como la diferenciación e independencia de los términos de alto nivel de la base
de datos, respecto de la semántica de bajo nivel.
Un concepto íntimamente ligado a la transparencia es el de independencia. Las bases de datos distribuidas
deben proporcionar independencia de los datos a dos niveles: lógica y física.
La independencia lógica se define como la capacidad de las aplicaciones de usuario de no verse
afectadas por los cambios en la estructura de la base de datos. Es decir, que el usuario pueda seguir
usando la base de datos como siempre y no note los cambios en los atributos, relaciones o
reordenamientos de la base de datos.
La independencia física consiste en la capacidad de ocultar al usuario los detalles o estructura del
sistema de almacenamiento. Por ejemplo, si los datos se mueven de un nodo a otro.
En relación con esta independencia lógica y física, se pueden hablar de diferentes niveles de transparencia:
Transparencia a nivel de red: las aplicaciones no deben notar que se accede a los datos a través de
una red de computadoras o nodos.
Transparencia sobre replicación de datos: las réplicas de los objetos de la base de datos no han de
ser controladas por el usuario, sino por el propio sistema.
Transparencia a nivel de fragmentación: el sistema debe ser el encargado de convertir las consultas
globales del usuario en consultas definidas sobre fragmentos de la base de datos. Del mismo modo, el
sistema también se encarga de mezclar las consultas fragmentadas para obtener la repuesta a una
consulta global.
En definitiva, la independencia y la transparencia de los datos son dos conceptos estrechamente relacionados
y que resultan claves en el funcionamiento de una base de datos distribuida.
¿Qué es la fragmentación?
La fragmentación en una base de datos distribuida consiste en la partición de una tabla de la base de datos
en diferentes fragmentos. Se pueden distinguir dos variantes:
Fragmentación vertical: la tabla se descompone en columnas (campos)
Fragmentación horizontal: la tabla se descompone en filas (registros)
Por otro lado, la fragmentación debe cumplir una serie de reglas:
Regla de completés: los datos contenidos en una relación global han de estar relacionados con algún
fragmento.
Regla de la reconstrucción: a partir de los fragmentos se podrá reconstruir una relación global.
Regla de los conjuntos disjuntos: los fragmentos no deben compartir ningún elemento en común.
Distribución de los datos
La distribución de la información en estas bases de datos se realiza por medio de transacciones distribuidas.
Una transacción distribuida se define como aquella que involucra a varios nodos de una red, a los que se puede
llamar agentes. Por tanto, este tipo de transacciones de datos involucran a varios agentes.
Para que se pueda dar una transacción de información en una base de datos distribuida es necesario que los
agentes se comuniquen mediante mensajes de red, asegurando que se respeta la atomicidad en el proceso.
Para ello se requiere lo siguiente:
Un agente raíz o sitio de origen de la transacción. Es el que inicia la transacción de datos cuando el
usuario ejecuta una aplicación.
Esta agente raíz es también el encargado de garantizar las propiedades de la transacción distribuida,
como BEGIN-TRANSACTION, COMMIT O ROLLBACK.
Por otra parte, se puede hablar de diferentes tipos de distribución de los datos. Lo vemos a continuación.
Replicada
El esquema de base de datos distribuida replicada se basa en que cada nodo debe tener una réplica
completa de la base de datos. Se trata de un método que supone altos costes para el mantenimiento de la
información, ya que cada cambio en una copia debe ser realizada también en todas las demás. Por ello, es un
sistema que resulta muy útil en bases de datos en las que se van a hacer pocas tareas de escritura, pero
muchas de lectura.
Centralizada
En este caso las bases de datos se encuentran centralizada en un lugar concreto físico y lógico, mientras que
el resto de los clientes están distribuidos. Se basa en el clásico modelo servidor/cliente.
Particionadas
En este caso la información está repartida por los diferentes nodos de la base de datos. Solo existe una copia
de cada nodo, pero la información se encuentra dividida en fragmentos disjuntos, cada uno alojado en un sitio
o nodo de la base, Al no necesitar realizar copias exactas de toda la información, los costes de almacenamiento
son menores. A cambio, se obtiene menor disponibilidad y fiabilidad de los datos.
Híbrida
Es un modelo que combina características de los esquemas de replicación y partición. La mayoría de la
información se encuentra particionada, pero hay fragmentos concretos (normalmente los que albergan la
información más importante o que más se consulta) que son replicados en los distintos nodos.
Ejemplos
Imaginemos una base de datos que contiene los datos relativos a una Universidad que cuenta con Facultades
distribuidas por distintas ciudades. La manera de crear una base de datos común y accesible desde todos los
sitios de la Universidad es crear una base de datos distribuida:
Un nodo de la sede principal donde se almacena la información sobre las diferentes Facultades
Otros nodos relativos a cada una de las facultades en los que se almacena la información sobre los
alumnos.
Un sistema de red que une todos estos nodos y permite la consulta de la información de forma autónoma.
Empresas que utilizan base de datos distribuidos
Las bases de datos distribuidas se emplean habitualmente en empresas, organizaciones o instituciones que no
tienen su actividad centralizada o que, debido a su gran tamaño, requieren la distribución de la información en
varios nodos.
Uno de los ejemplos más ilustrativos es Google, la cual tiene alrededor de 20.000 servidores distribuidos en
diferentes centrales de datos, a saber, en Washington, Herndon, Santa Clara o Zurich, entre otras.
Otra empresa que ha apostado por una base de datos distribuida es Pepsi.Co., la cual ha desarrollado un
sistema con más de 4.000 ordenadores distribuidos en 270 servidores.
Hay muchas más empresas que apuestan por las bases de datos distribuidas, pero la mayoría de ellas tienen
en común una característica. Son compañías u organizaciones de gran envergadura o que requieren que su
información no se encuentre centralizada, debido a que operan en diferentes lugares o al gran volumen de datos
que manejan.
Características de los Sistemas Manejadores de Base de Datos Distribuidas.
Un SGBD (Sistema Gestor de Base de Datos) es un conjunto de programas que nos permiten gestionar
bases de datos. Es decir, realiza las funciones de modificar, extraer y almacenar información de una base de
datos, además de poseer herramientas con funciones de eliminar, modificar, analizar, etc… datos de estas.
Realiza la función concreta de interfaz entre la base de datos y los usuarios finales o los programas
correspondientes, organizando los datos y permitiendo su acceso.
Algunas de sus principales características son:
Permite una vista muy centralizada y clara de los datos para que sean accedidos de la mejor manera
posible.
Se encargan de gestionar adecuadamente los datos, evitando a los usuarios o programas que les
requieren, tener que entender dónde se encuentran físicamente los datos.
Estos sistemas disponen de un lenguaje de programación llamado SQL (Structured Query Language)
para poder proteger y acceder a los datos.
La necesidad de requerir de un lenguaje para su acceso y su autonomía como sistema proporcionan
integridad y seguridad a los datos.
Suelen disponer de un sistema de bloqueo para el acceso simultáneo, lo que le da un plus de seguridad
a la integridad de los datos.
Estos sistemas de base de datos disponen de API’s (Application Programming Interfaz) muy visuales e
intuitivas para poder gestionar los datos.
Un correcto SGBD proporcionará economías de escala en el procesamiento de grandes cantidades de
datos ya que está hecho para ese tipo de operaciones.
Los SGBD proporcionan un nivel de abstracción entre la estructura lógica de la base de datos y el
esquema físico que describe el contenido físico usado por la base de datos.
El programa de gestión de almacenamiento y su gestión de datos (servidor) es totalmente independiente
del programa con el cuál se realizan las consultas (cliente).
Los SGBD realizan eficientes almacenamientos de los datos, pero estos se hacen de forma oculta para
el usuario y nada tiene que ver con lo que finalmente se le presenta.
Son capaces de gestionar distintos tipos de bases de datos, por ejemplo: bases de datos relacionales
(suelen ser el estándar) y bases de datos orientadas a objetos.
Multiplicidad de acceso a los datos.
El funcionamiento resumido y principal de un SGBD es el siguiente: un programa servidor de base de datos
accede a esta, la lee y organiza, y posteriormente los programas del lado del cliente acceden a esta para
gestionarla a su gusto. Por tanto, en un sistema de gestión de base de datos interactúan 3 actores: bases de
datos, programa cliente y servidor.