Introducción
Las bases de datos distribuidas se utilizan para el escalamiento horizontal y están diseñados para cumplir con los requisitos de carga de trabajo sin tener que realizar cambios en la aplicación de la base de datos o escalar verticalmente una sola máquina.
Las bases de datos distribuidas resuelven varios problemas , como disponibilidad, tolerancia a fallas, rendimiento, latencia, escalabilidad y muchos otros problemas que pueden surgir al usar una sola máquina y una sola base de datos.
En este artículo, aprenderá qué son las bases de datos distribuidas y sus ventajas y desventajas.
Definición de base de datos distribuida
Una base de datos distribuida representa varias bases de datos interconectadas distribuidas en varios sitios conectados por una red. Dado que todas las bases de datos están conectadas, aparecen como una única base de datos para los usuarios.
Las bases de datos distribuidas utilizan múltiples nodos. Se escalan horizontalmente y desarrollan un sistema distribuido. Más nodos en el sistema proporcionan más poder de cómputo, ofrecen mayor disponibilidad y resuelven el problema del punto único de falla.
Diferentes partes de la base de datos distribuida se almacenan en varias ubicaciones físicas y los requisitos de procesamiento se distribuyen entre los procesadores en varios nodos de base de datos.
Un sistema centralizado de gestión de bases de datos distribuidas (DDBMS ) gestiona los datos distribuidos como si estuvieran almacenados en una ubicación física. DDBMS sincroniza todas las operaciones de datos entre las bases de datos y garantiza que las actualizaciones en una base de datos se reflejen automáticamente en las bases de datos de otros sitios.
Características de la base de datos distribuida
Algunas características generales de las bases de datos distribuidas son:
- Independencia de ubicación - Los datos se almacenan físicamente en múltiples sitios y son administrados por un DDBMS independiente.
- Procesamiento de consultas distribuidas - Las bases de datos distribuidas responden consultas en un entorno distribuido que administra datos en múltiples sitios. Las consultas de alto nivel se transforman en un plan de ejecución de consultas para simplificar la administración.
- Gestión de transacciones distribuidas - Proporciona una base de datos distribuida consistente a través de protocolos de compromiso, técnicas de control de concurrencia distribuida y métodos de recuperación distribuidos en caso de muchas transacciones y fallas.
- Integración perfecta - Las bases de datos de una colección suelen representar una única base de datos lógica y están interconectadas.
- Enlace de red - Todas las bases de datos de una colección están vinculadas por una red y se comunican entre sí.
- Procesamiento de transacciones - Las bases de datos distribuidas incorporan procesamiento de transacciones, que es un programa que incluye una colección de una o más operaciones de base de datos. El procesamiento de transacciones es un proceso atómico que se ejecuta por completo o no se ejecuta en absoluto.
Tipos de bases de datos distribuidas
Hay dos tipos de bases de datos distribuidas:
- Homogéneo
- Heterogéneo
Homogénea
Una base de datos distribuida homogénea es una red de bases de datos idénticas almacenados en múltiples sitios. Los sitios tienen el mismo sistema operativo, DDBMS y estructura de datos, lo que los hace fácilmente manejables.
Las bases de datos homogéneas permiten a los usuarios acceder a los datos de cada una de las bases de datos sin problemas.
El siguiente diagrama muestra un ejemplo de una base de datos homogénea:
Heterogéneo
Una base de datos distribuida heterogénea utiliza diferentes esquemas, sistemas operativos, DDBMS y diferentes modelos de datos.
En el caso de una base de datos distribuida heterogénea, un sitio en particular puede ignorar por completo a otros sitios, lo que provoca una cooperación limitada en el procesamiento de las solicitudes de los usuarios. La limitación es por qué se requieren traducciones para establecer la comunicación entre sitios.
El siguiente diagrama muestra un ejemplo de una base de datos heterogénea:
Almacenamiento de bases de datos distribuidas
El almacenamiento de bases de datos distribuidas se gestiona de dos formas:
- Replicación
- Fragmentación
Replicación
En la replicación de bases de datos, los sistemas almacenan copias de datos en diferentes sitios . Si una base de datos completa está disponible en varios sitios, es una base de datos completamente redundante.
La ventaja de la replicación de la base de datos es que aumenta la disponibilidad de los datos n sitios diferentes y permite procesar solicitudes de consulta en paralelo.
Sin embargo, la replicación de la base de datos significa que los datos requieren actualizaciones constantes y sincronización con otros sitios para mantener una copia exacta de la base de datos. Cualquier cambio realizado en un sitio debe registrarse en otros sitios, de lo contrario, se producirán incoherencias.
Las actualizaciones constantes provocan una gran sobrecarga del servidor y complican el control de concurrencia, ya que se deben verificar muchas consultas simultáneas en todos los sitios disponibles.
Fragmentación
Cuando se trata de la fragmentación del almacenamiento de bases de datos distribuidas, las relaciones están fragmentadas, lo que significa que están divididas en partes más pequeñas. . Cada uno de los fragmentos se almacena en un sitio diferente, donde se requiere.
El requisito previo para la fragmentación es asegurarse de que los fragmentos puedan reconstruirse posteriormente en la relación original sin perder datos.
La ventaja de la fragmentación es que no hay copias de datos , lo que evita la inconsistencia de datos.
Hay dos tipos de fragmentación:
- Fragmentación horizontal - El esquema de relación se fragmenta en grupos de filas, y cada grupo (tupla) se asigna a un fragmento.
- Fragmentación vertical - El esquema de relación se fragmenta en esquemas más pequeños, y cada fragmento contiene una clave candidata común para garantizar una combinación sin pérdidas.
Ventajas y desventajas de la base de datos distribuida
A continuación se presentan algunas ventajas y desventajas clave de las bases de datos distribuidas:
Ventajas | Desventajas |
---|---|
Desarrollo modular | Software costoso |
Fiabilidad | Gran sobrecarga |
Costes de comunicación más bajos | Integridad de los datos |
Mejor respuesta | Distribución de datos incorrecta |