Documente Academic
Documente Profesional
Documente Cultură
9
SISTEMAS GESTORES DE BASES DE DATOS
DISTRIBUIDOS
Los sistemas distribuidos debieran tener un grupo de características ideales entre las
que se encuentran las siguientes:
Valderrey, Sanz, Pablo. Administración de sistemas gestores de bases de datos, RA-MA Editorial, 2014. ProQuest Ebook Central,
http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3228999.
Created from unadsp on 2018-05-08 17:07:06.
236 ADMINISTRACIÓN DE SISTEMAS GESTORES DE BASES DE DATOS © STARBOOK
Aunque todas las características anteriores son muy ventajosas, existen claros
obstáculos que suelen impedir su cumplimiento, entre los que podríamos citar los siguientes:
Copyright © 2014. RA-MA Editorial. All rights reserved.
Valderrey, Sanz, Pablo. Administración de sistemas gestores de bases de datos, RA-MA Editorial, 2014. ProQuest Ebook Central,
http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3228999.
Created from unadsp on 2018-05-08 17:07:06.
© STARBOOK CAPÍTULO 9. SISTEMAS GESTORES DE BASES DE DATOS DISTRIBUIDOS 237
Optimización. Cuando los datos se acceden a través de una red, las reglas
normales de optimización de SQL no son aplicables. Por ejemplo, puede ser más
eficaz rastrear secuencialmente una tabla local completa que utilizar una búsqueda
por índice en una tabla remota. El software de optimización debe conocer las redes
y sus velocidades. En general, la optimización pasa a ser más crítica y más difícil.
Catálogos de sistema. Cuando un DBMS realiza sus tareas, efectúa accesos muy
frecuentes a sus catálogos de sistema. ¿Dónde debería mantenerse el catálogo en
una base de datos distribuida? Si está centralizado en un sistema, el acceso
remoto a él será lento, afectando al DBMS. Si está distribuido a través de muchos
sistemas diferentes, los cambios deben propagarse alrededor de la red y deben
sincronizarse.
Valderrey, Sanz, Pablo. Administración de sistemas gestores de bases de datos, RA-MA Editorial, 2014. ProQuest Ebook Central,
http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3228999.
Created from unadsp on 2018-05-08 17:07:06.
238 ADMINISTRACIÓN DE SISTEMAS GESTORES DE BASES DE DATOS © STARBOOK
Etapa Descripción
Petición remota Cada sentencia SQL accede a una única base de datos remota y cada
sentencia es una transacción.
Transacción remota Cada sentencia SQL accede a una única base de datos remota. Se soportan
transacciones multisentencia para una única base de datos.
Transacción distribuida Cada sentencia SQL accede a una única base de datos remota. Se soportan
transacciones multisentencia a través de múltiples bases de datos.
Petición distribuida Las sentencias SQL pueden acceder a múltiples bases de datos. Se soportan
transacciones multisentencia a través de múltiples bases de datos.
La primera etapa de acceso a datos distribuidos, tal como la define IBM, es una
petición remota, tal y como se ilustra en la Figura 9.1. En esta etapa, el usuario de un PC
puede emitir una sentencia SQL que consulte o actualice datos en una única base de datos
remota. Cada sentencia SQL individual opera como su propia transacción, similar al modo de
autocumplimentación proporcionada por muchos programas SQL interactivos. El usuario
puede emitir una secuencia de sentencias SQL para varias bases de datos, pero el DBMS no
soporta transacciones multisentencia.
Copyright © 2014. RA-MA Editorial. All rights reserved.
Figura 9.1
Valderrey, Sanz, Pablo. Administración de sistemas gestores de bases de datos, RA-MA Editorial, 2014. ProQuest Ebook Central,
http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3228999.
Created from unadsp on 2018-05-08 17:07:06.
© STARBOOK CAPÍTULO 9. SISTEMAS GESTORES DE BASES DE DATOS DISTRIBUIDOS 239
Las peticiones remotas son muy útiles cuando un usuario PC necesita consultar datos
corporativos. Generalmente los datos requeridos estarán localizados dentro de una única base
de datos, como por ejemplo una base de datos de procesamiento de pedidos o de datos de
fabricación. Utilizando una petición remota, el programa del PC puede recuperar los datos
remotos para su procesamiento por parte de una hoja de cálculo, un programa gráfico o un
paquete de autoedición en el PC.
Figura 9.2
Copyright © 2014. RA-MA Editorial. All rights reserved.
Valderrey, Sanz, Pablo. Administración de sistemas gestores de bases de datos, RA-MA Editorial, 2014. ProQuest Ebook Central,
http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3228999.
Created from unadsp on 2018-05-08 17:07:06.
240 ADMINISTRACIÓN DE SISTEMAS GESTORES DE BASES DE DATOS © STARBOOK
Figura 9.3
Las transacciones distribuidas son mucho más difíciles de proporcionar que las dos
primeras etapas de acceso a datos distribuidos. Es imposible proporcionar transacciones
distribuidas sin la cooperación activa de los sistemas DBMS individuales implicados en la
transacción. Un protocolo de transacción especial, llamado protocolo de cumplimentación en
dos fases, es utilizado generalmente para forzar esta cooperación.
Copyright © 2014. RA-MA Editorial. All rights reserved.
Valderrey, Sanz, Pablo. Administración de sistemas gestores de bases de datos, RA-MA Editorial, 2014. ProQuest Ebook Central,
http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3228999.
Created from unadsp on 2018-05-08 17:07:06.
© STARBOOK CAPÍTULO 9. SISTEMAS GESTORES DE BASES DE DATOS DISTRIBUIDOS 241
Figura 9.4
El optimizar también debe decidir qué copia del DBMS debería manejar la ejecución de
la sentencia. Si la mayoría de las tablas están en un sistema remoto, puede ser una buena
idea que el DBMS remoto en ese sistema ejecute la sentencia. Sin embargo, puede ser una
mala elección si el sistema remoto tiene una fuerte carga de trabajo. Por tanto, la tarea del
optimizador es más compleja y mucho más importante en una petición distribuida.
encontrarían imposible hallar datos de interés. Los id-usuarios de todas las bases de datos de
la organización tendrían que estar coordinados para asegurarse que un id-usuario
determinado identificase unívocamente a un usuario en todas las bases de datos. La
administración de la base de datos también sería muy difícil.
Valderrey, Sanz, Pablo. Administración de sistemas gestores de bases de datos, RA-MA Editorial, 2014. ProQuest Ebook Central,
http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3228999.
Created from unadsp on 2018-05-08 17:07:06.
242 ADMINISTRACIÓN DE SISTEMAS GESTORES DE BASES DE DATOS © STARBOOK
Suele ser habitual dividir la tabla horizontalmente para distinguirla a través de la red,
colocando diferentes filas de la tabla en diferentes sistemas. La Figura 9.5 muestra un
ejemplo donde es útil una división horizontal de tabla. En esta aplicación, una empresa opera
con tres centros de distribución, cada uno con su propio sistema informático y su propio
DBMS para gestionar una base de datos de inventario. La mayor parte de la actividad de cada
centro de distribución afecta a datos almacenados localmente, pero la empresa tiene una
política de satisfacer un pedido de clientes desde cualquier centro de distribución si el centro
local no dispone de un producto particular.
Figura 9.5
Valderrey, Sanz, Pablo. Administración de sistemas gestores de bases de datos, RA-MA Editorial, 2014. ProQuest Ebook Central,
http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3228999.
Created from unadsp on 2018-05-08 17:07:06.
© STARBOOK CAPÍTULO 9. SISTEMAS GESTORES DE BASES DE DATOS DISTRIBUIDOS 243
Otro modo de distribuir una tabla a través de una red es dividir la tabla verticalmente,
colocando diferentes columnas de la tabla en diferentes sistemas. La Figura 9.6 muestra un
sencillo ejemplo de una división vertical de tabla. La tabla REPVENTAS ha sido ampliada para
incluir nuevas columnas de información del personal (número de teléfono, estado civil, etc.) y
ahora la utiliza tanto el departamento de procesamiento de pedidos como el departamento de
personal, cada uno de los cuales tiene su propio sistema informático y su propio DBMS. La
mayor parte de la actividad de cada departamento se centra en una o dos columnas de la
tabla, pero hay muchas consultas e informes que utilizan las columnas relativas al personal y
a los pedidos.
Para almacenar los datos de los vendedores, la tabla REPVENTAS está dividida
verticalmente en dos partes. Las columnas de la tabla que almacenan datos del personal
(NOMBRE, EDAD, CONTRATO, TELEFONO, CASADO) están almacenadas en el sistema de
personal y gestionadas por su DBMS. Las otras columnas (NUM_EMPL, CUOTA, VENTAS,
OFICINA_REP) están almacenadas en el sistema de procesamiento de pedidos y gestionadas
por su DBMS. Sin embargo, la tabla REPVENTAS es tratada como una tabla grande, que
puede ser consultada y actualizada como una unidad.
Copyright © 2014. RA-MA Editorial. All rights reserved.
Figura 9.6
Con una división vertical de tabla, el DBMS no tiene que preocuparse de los contenidos
de las filas para determinar dónde están localizados los datos. Sin embargo, tiene el problema
igualmente difícil de mantener una relación uno a uno entre las filas parciales localizadas en
dos o más sistemas diferentes. Además, las tablas verticalmente divididas pueden requerir
cambios importantes en la lógica de cierre del DBMS. Si un programa necesita cerrar una fila,
el DBMS debe ahora cerrar partes de la fila en más de un sistema. ¿Debería el DBMS cerrar
todas las partes de la fila, o solamente las que están siendo realmente actualizadas?
Dependiendo de la decisión, el DBMS puede necesitar implementar cierre a nivel de elemento.
Valderrey, Sanz, Pablo. Administración de sistemas gestores de bases de datos, RA-MA Editorial, 2014. ProQuest Ebook Central,
http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3228999.
Created from unadsp on 2018-05-08 17:07:06.
244 ADMINISTRACIÓN DE SISTEMAS GESTORES DE BASES DE DATOS © STARBOOK
Figura 9.7
Copyright © 2014. RA-MA Editorial. All rights reserved.
Microsoft SQL Server 2008 amplía las posibilidades de duplicación de logs (log
shipping) proporcionando a los administradores de las bases de datos la opción de reflejo
(mirroring). Los administradores pueden usar esta funcionalidad para garantizar la
disponibilidad de sus sistemas SQL mediante la configuración de un servidor en espera para
su activación automática en caso de fallo (failover). El reflejo se implementa solo para bases
de datos que utilizan el modelo de recuperación completa.
El reflejo involucra dos copias de una base de datos simple que generalmente residen
en ordenadores diferentes. En todo momento solo una de las copias, denominada base de
datos principal, está accesible para los clientes y las actualizaciones realizadas por los clientes
Valderrey, Sanz, Pablo. Administración de sistemas gestores de bases de datos, RA-MA Editorial, 2014. ProQuest Ebook Central,
http://ebookcentral.proquest.com/lib/unadsp/detail.action?docID=3228999.
Created from unadsp on 2018-05-08 17:07:06.