Una base de datos distribuida no se almacena de forma centralizada, sino que se distribuye a diferentes ubicaciones de almacenamiento. Un sistema de gestión de bases de datos distribuidas se hace cargo de la administración.
Normalmente uno imagina una base de datos de tal manera que toda la información almacenada esté en un servidor central. Allí puedes acceder y trabajar con los datos. En una base de datos distribuida, partes de la información se almacenan en diferentes ubicaciones físicas. Dependiendo de tus necesidades, puede ser una réplica de la totalidad de los datos o de fragmentos individuales.
Las diferentes computadoras en la ubicación de una empresa, así como las ubicaciones que están geográficamente claramente separadas entre sí, pueden considerarse ubicaciones físicas. La estructura puede variar desde un contexto muy local con unas pocas estaciones hasta una base de datos distribuida globalmente con cientos o miles de ubicaciones de almacenamiento.
Los datos a menudo se procesan localmente en la ubicación donde se almacena la información relevante. El trabajo se lleva a cabo en el sistema local respectivo independientemente de los otros segmentos distribuidos. Sin embargo, la administración general está organizada de forma centralizada.
Gestión de bases de datos distribuidas
Un sistema central es útil para poder administrar de manera eficiente todos los datos distribuidos y organizados. Aquí se habla de un sistema de administración de bases de datos distribuidas o de un Sistema de administración de bases de datos distribuidas (DDBMS para abreviar). Tal sistema permite a los usuarios, que por ejemplo, puedan acceder a todos los datos si es necesario, a pesar del almacenamiento distribuido.
Para este propósito, el DDBMS debe mapear la conexión lógica que los datos fragmentados tienen entre sí. Por parte del usuario, trabajar con la base de datos preparada de esta manera se siente comparable a trabajar con una base de datos almacenada de forma centralizada. El acceso a la totalidad de los datos a través del DDBMS es conveniente y no requiere ningún conocimiento especial de la organización física de la base de datos distribuida.
Otra tarea importante del DDBMS es sincronizar los datos distribuidos a intervalos regulares. Si los datos se modifican, eliminan o se crean nuevamente en una ubicación de almacenamiento, estas actualizaciones también deben aplicarse a todas las ubicaciones de almacenamiento en las que se almacena la información relevante. Esta es la única forma de garantizar que todos los puntos funcionen con datos actuales y correctos. Un DDBMS puede hacer esta sincronización automáticamente y así hacer que trabajar con los datos sea más conveniente y confiable.
Tipos de almacenamiento de datos distribuidos
Como ya se mencionó, las bases de datos distribuidas se pueden utilizar replicando los datos completos o fragmentándolos en partes.
Replicación
La base de datos se mantiene en su totalidad en diferentes ubicaciones de almacenamiento. Esto crea redundancia y evita la pérdida de datos si falla una ubicación. Además, la cantidad de datos se puede distribuir geográficamente de manera específica para garantizar una alta disponibilidad a nivel local.
Este tipo de base de datos distribuida es útil si, en general, se debe poder acceder rápidamente a toda la base de datos independientemente de la ubicación. Una desventaja es que toda la base de datos debe mantenerse actualizada en cada ubicación para que los usuarios no reciban información desactualizada.
Fragmentación
La base de datos se divide en partes y se distribuye a varias ubicaciones físicas. Esto es, ventajoso si solo ciertos datos se utilizan regularmente en las ubicaciones individuales. Por lo tanto, solo se deben guardar localmente partes mucho más pequeñas de la base de datos y puedes trabajar de manera más independiente del sistema en general.
Además, la estación en el sitio tiene los datos rápidamente disponibles que se necesitan para el trabajo diario. El DDBMS asegura la sincronización de los datos relevantes y, si es necesario, puede encargarse de la integración de todos los datos.
Los dos enfoques se pueden utilizar por separado o como una solución híbrida.
Diferentes tipos de bases de datos distribuidas
Desde un punto de vista estructural, las bases de datos distribuidas pueden organizarse de forma homogénea o heterogénea.
Bases de datos distribuidas homogéneas
Con una estructura homogénea, cada ubicación está equipada de manera idéntica. Esto significa que todas las ubicaciones utilizan el mismo hardware, el mismo sistema operativo y las mismas aplicaciones de base de datos. Entonces todas las estaciones hablan «el mismo lenguaje». El intercambio de datos y la integración a través de DDBMS son fáciles de implementar.
Bases de datos distribuidas heterogéneas
En el caso de una estructura heterogénea, el hardware, software y sistema operativo de cada ubicación pueden ser individuales, por ejemplo, según las respectivas necesidades en obra. Los modelos de datos también pueden diferir de un lugar a otro. Aquí es donde las tecnologías incompatibles pueden unirse. En estos casos, la traducción debe llevarse a cabo entre las estaciones individuales si se va a realizar la comunicación, por ejemplo, a través de interfaces personalizadas.
No te vayas sin leer: ¿Qué es la inyección de dependencia?
El DDBMS debe poder integrar diferentes tecnologías de tal manera que la administración y el conocimiento del sistema en general sea posible sin problemas. En la práctica, este enfoque puede volverse tan complejo que el esfuerzo de mantenimiento y, por lo tanto, la rentabilidad de dicho sistema, están en duda.
¿Qué es la ingeniería del caos? Definición | Chaos Engineering
¿Qué es DalvikVM? Definición | Máquina virtual para Android
¿Qué significa "Wyll" en TikTok? | Lo que debes saber
¿Qué es la intranet? Definición | Software para una red aislada
¿Qué es Spring Framework? Definición | Java
¿Qué es LOLBAS? Definición | Living Off The Land
¿Qué es Device as a Service (DaaS)? Definición | Servicio pago
¿Qué son servicios compartidos? Definición | Shared Services
¿Qué es SAMBA? Puente de red entre Unix y Windows