Una base de datos distribuida es básicamente una base de datos que no se limita a un sistema, sino que se distribuye en diferentes sitios, es decir, en varias computadoras o en una red de computadoras. Un sistema de base de datos distribuida se encuentra en varios sitios que no comparten componentes físicos. Esto puede ser necesario cuando una base de datos particular necesita ser accedida por varios usuarios globalmente. Debe administrarse de tal manera que para los usuarios parezca una sola base de datos.
Tipos:
1. Base de datos homogénea:
en una base de datos homogénea, todos los sitios diferentes almacenan la base de datos de manera idéntica. El sistema operativo, el sistema de administración de la base de datos y las estructuras de datos utilizadas son iguales en todos los sitios. Por lo tanto, son fáciles de administrar.
2. Base de datos heterogénea:
en una base de datos distribuida heterogénea, diferentes sitios pueden usar diferentes esquemas y software que pueden generar problemas en el procesamiento de consultas y transacciones. Además, un sitio en particular puede desconocer por completo a los otros sitios. Diferentes computadoras pueden usar un sistema operativo diferente, una aplicación de base de datos diferente. Incluso pueden usar diferentes modelos de datos para la base de datos. Por lo tanto, se requieren traducciones para que diferentes sitios se comuniquen.
Almacenamiento de datos distribuidos:
hay 2 formas en que los datos se pueden almacenar en diferentes sitios. Estos son:
1. Replicación:
en este enfoque, toda la relación se almacena de forma redundante en 2 o más sitios. Si la base de datos completa está disponible en todos los sitios, es una base de datos completamente redundante. Por lo tanto, en la replicación, los sistemas mantienen copias de los datos.
Esto es ventajoso ya que aumenta la disponibilidad de datos en diferentes sitios. Además, ahora las requests de consulta se pueden procesar en paralelo.
Sin embargo, también tiene ciertas desventajas. Los datos deben actualizarse constantemente. Cualquier cambio realizado en un sitio debe registrarse en cada sitio en el que se almacene la relación o, de lo contrario, puede generar inconsistencias. Esto es un montón de gastos generales. Además, el control de concurrencia se vuelve mucho más complejo ya que ahora es necesario verificar el acceso concurrente en varios sitios.
2. Fragmentación:
en este enfoque, las relaciones se fragmentan (es decir, se dividen en partes más pequeñas) y cada uno de los fragmentos se almacena en diferentes sitios donde se requieren. Debe asegurarse de que los fragmentos sean tales que puedan usarse para reconstruir la relación original (es decir, que no haya pérdida de datos).
La fragmentación es ventajosa ya que no crea copias de datos, la consistencia no es un problema.
La fragmentación de relaciones se puede realizar de dos formas:
- Fragmentación horizontal – División por filas –
La relación se fragmenta en grupos de tuplas para que cada tupla se asigne al menos a un fragmento. - Fragmentación vertical – División por columnas –
El esquema de la relación se divide en esquemas más pequeños. Cada fragmento debe contener una clave candidata común para garantizar una unión sin pérdidas.
En ciertos casos, se utiliza un enfoque híbrido de fragmentación y replicación.
Aplicaciones de base de datos distribuida:
- Se utiliza en el Sistema de Información de Gestión Corporativa.
- Se utiliza en aplicaciones multimedia.
- Utilizado en el sistema de control militar, strings hoteleras, etc.
- También se utiliza en el sistema de control de fabricación.
Referencias:
Conceptos de sistemas de bases de datos por Silberschatz, Korth y Sudarshan