GNU/Linux >> Tutoriales Linux >  >> Cent OS

¿Qué es una base de datos distribuida?

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:

Las ventajas y desventajas se explican en detalle en las siguientes secciones.

Ventajas

  • Desarrollo modular . El desarrollo modular de una base de datos distribuida implica que un sistema se puede expandir a nuevas ubicaciones o unidades agregando nuevos servidores y datos a la configuración existente y conectándolos al sistema distribuido sin interrupción. Este tipo de expansión no provoca interrupciones en el funcionamiento de las bases de datos distribuidas.
  • Fiabilidad . Las bases de datos distribuidas ofrecen una mayor confiabilidad en contraste con las bases de datos centralizadas. En caso de falla de la base de datos en una base de datos centralizada, el sistema se detiene por completo. En una base de datos distribuida, el sistema funciona incluso cuando se producen fallas y solo ofrece un rendimiento reducido hasta que se resuelve el problema.
  • Menor costo de comunicación . El almacenamiento local de datos reduce los costos de comunicación para la manipulación de datos en bases de datos distribuidas. El almacenamiento local de datos no es posible en bases de datos centralizadas.
  • Mejor respuesta . La distribución eficiente de datos en un sistema de base de datos distribuida proporciona una respuesta más rápida cuando las solicitudes de los usuarios se cumplen localmente. En las bases de datos centralizadas, las solicitudes de los usuarios pasan por la máquina central, que procesa todas las solicitudes. El resultado es un aumento en el tiempo de respuesta, especialmente con muchas consultas.

Desventajas

  • Software costoso . Garantizar la transparencia y la coordinación de los datos en múltiples sitios a menudo requiere el uso de software costoso en un sistema de base de datos distribuido.
  • Superficie grande . Muchas operaciones en varios sitios requieren numerosos cálculos y una sincronización constante cuando se utiliza la replicación de la base de datos, lo que provoca una gran sobrecarga de procesamiento.
  • Integridad de datos . Un posible problema al usar la replicación de bases de datos es la integridad de los datos, que se ve comprometida al actualizar los datos en varios sitios.
  • Distribución de datos incorrecta . La capacidad de respuesta a las solicitudes de los usuarios depende en gran medida de la distribución adecuada de los datos. Eso significa que la capacidad de respuesta se puede reducir si los datos no se distribuyen correctamente en varios sitios.

Cent OS
  1. ¿Qué es speedtest-cli?

  2. Cómo instalar la base de datos distribuida de Cassandra en CentOS 7

  3. ¿Qué es Web 3.0?

  4. ¿Qué es una base de datos relacional?

  5. Base de datos NoSQL distribuida de Elasticsearch:¿qué es y debería usarla?

¿Qué es la desnormalización de la base de datos?

¿Qué es la normalización de bases de datos?

¿Qué es una base de datos?

¿Qué es NewSQL?

¿Qué es una base de datos distribuida y para qué sirven los sistemas de datos distribuidos?

Descripción general de los tipos de bases de datos distribuidas y la seguridad

    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