En este tema se estudian las bases de datos distribuidas, los sistemas de gestión de bases de datos distribuidas y cómo se utiliza la arquitectura cliente-servidor como plataforma para el desarrollo de aplicaciones de bases de datos.
Las bases de datos distribuidas constituyen un tema muy amplio del que aquí se hace una introducción. Es primer lugar se discuten las ventajas que pueden ofrecer las bases de datos distribuidas frente a los sistemas centralizados. Se estudian los aspectos de diseño relativos a la fragmentación de datos (horizontal y vertical), la replicación de datos y su distribución. La replicación de datos mejora la fiabilidad del sistema y también su disponibilidad. Se clasifican los sistemas de gestión de bases de datos distribuidas utilizando criterios como el grado de homogeneidad de los módulos software y el grado de autonomía local. Se trata la gestión de los sistemas de bases de datos federadas, centrándose en la necesidad de soportar varios tipos de autonomías y de manejar la heterogeneidad semántica.
Se muestran algunas de las técnicas que se utilizan en el procesamiento de consultas distribuidas. En la optimización de consultas distribuidas, el factor que más influye es el coste de comunicación. Se comparan varias técnicas de ejecución de concatenaciones (join) y se presenta la técnica del semijoin para concatenar relaciones que se encuentran en distintas localizaciones.
En este tema también se presenta la arquitectura cliente-servidor, relacionándola con las bases de datos distribuidas, y se describen algunas características que incluye Oracle para gestionar bases de datos distribuidas. Por último, se hacen algunas observaciones sobre el futuro de la tecnología cliente-servidor.