Bases de Datos Centralizadas
Las bases de datos centralizadas son sistemas donde toda la informaci贸n se encuentra en un solo lugar, ya sea f铆sico o l贸gico. En este tipo de sistemas, un servidor central gestiona y controla el acceso de los usuarios o aplicaciones a los datos.
Caracter铆sticas de las Bases de Datos Centralizadas:
- Arquitectura Monol铆tica: En este enfoque, todo el sistema de base de datos reside en un solo servidor. Esto implica que todas las operaciones, como la lectura y escritura de datos, se realizan a trav茅s de un 煤nico punto. Aunque esto simplifica la administraci贸n, puede generar cuellos de botella y limitar la escalabilidad.
- Control y Seguridad Centralizados: Al estar todos los datos en un solo lugar, el control y la administraci贸n son m谩s f谩ciles. Sin embargo, un fallo en el servidor central podr铆a afectar la disponibilidad de la informaci贸n, lo que incrementa el riesgo de p茅rdida de datos.
- Facilidad de Mantenimiento: Al tener todo en una sola ubicaci贸n, el mantenimiento y las actualizaciones del sistema son m谩s sencillos, ya que solo es necesario intervenir en un servidor.
- Escalabilidad Limitada: A medida que el n煤mero de usuarios o la cantidad de datos aumenta, las bases de datos centralizadas pueden presentar problemas de rendimiento, ya que todos los usuarios dependen de un 煤nico servidor.
- Latencia: Los usuarios distantes al servidor pueden experimentar mayor latencia en las operaciones de lectura y escritura.
- Riesgo de P茅rdida de Datos: Al estar concentrados en un solo servidor, existe un mayor riesgo de que, en caso de fallos o desastres, los datos se pierdan o se vuelvan inaccesibles.
Ejemplos comunes de bases de datos centralizadas: MySQL, PostgreSQL y Microsoft SQL Server cuando se implementan en una sola m谩quina.
Bases de Datos Distribuidas
Las bases de datos distribuidas (BDD) consisten en colecciones de datos que se encuentran distribuidos en varios nodos de una red de computadoras. Cada nodo es aut贸nomo y puede ejecutar aplicaciones locales y globales, lo que requiere el acceso a datos ubicados en varios sitios.
Dise帽o de Bases de Datos Distribuidas:
El dise帽o de una base de datos distribuida se puede abordar desde dos enfoques:
- Top-Down: Se empieza dise帽ando un esquema global, luego se fragmenta la base de datos y se localizan los fragmentos en los diferentes sitios de la red.
- Bottom-Up: En este caso, se integran esquemas ya existentes en un esquema global, bas谩ndose en las bases de datos previamente creadas.
Ventajas de las Bases de Datos Distribuidas:
- Acceso R谩pido a los Datos: Al distribuir los datos en diferentes lugares, estos pueden estar m谩s cerca de los usuarios, lo que mejora el tiempo de acceso.
- Procesamiento Paralelo: Varios nodos pueden procesar simult谩neamente una carga de trabajo, lo que aumenta la velocidad del sistema.
- Mayor Tolerancia a Fallos: Si un nodo falla, los otros pueden continuar funcionando de forma aut贸noma, garantizando mayor disponibilidad.
Desventajas:
- Complejidad en el Control de los Datos: Gestionar y mantener la integridad de la informaci贸n en m煤ltiples sitios es m谩s complejo que en un sistema centralizado.
- Integridad de la Informaci贸n: Asegurar que la informaci贸n sea consistente en todos los nodos, especialmente en presencia de fallas, puede ser complicado.
- Manejo de Concurrencia: El control de la concurrencia, cuando varios usuarios acceden a los mismos datos simult谩neamente, es m谩s complicado.
Fragmentaci贸n y Asignaci贸n de Datos:
En una base de datos distribuida, los datos pueden fragmentarse de dos maneras:
- Fragmentaci贸n Horizontal (FH): Se distribuyen filas de una tabla entre varios nodos.
- Fragmentaci贸n Vertical (FV): Se distribuyen las columnas de una tabla entre nodos distintos.
La combinaci贸n de ambas se conoce como Fragmentaci贸n H铆brida.
Replicaci贸n de Datos: Para aumentar la disponibilidad, un fragmento de la base de datos puede ser replicado en varios nodos. Sin embargo, esto requiere asegurarse de que las actualizaciones sean consistentes en todas las copias.
Sistema de Gesti贸n de Bases de Datos Distribuidas (SGBDD)
Un Sistema de Gesti贸n de Bases de Datos Distribuidas (SGBDD) es responsable de gestionar una base de datos distribuida. Algunas de sus funciones adicionales son:
- Acceso Remoto: Permite acceder a datos distribuidos en varios sitios a trav茅s de una red.
- Manejo de Consultas y Transacciones: Se encarga de gestionar las consultas y las transacciones que involucran m煤ltiples sitios.
- Consistencia de Datos: Asegura que las copias de los datos sean consistentes a trav茅s de diferentes nodos.
Tipos de Bases de Datos Distribuidas:
- Homog茅neas: Todos los sitios utilizan el mismo Sistema de Gesti贸n de Bases de Datos (SGBD) y esquema, y cooperan en el procesamiento de consultas.
- Heterog茅neas: Los sitios pueden tener diferentes SGBD y esquemas, y puede que algunos no cooperen directamente en el procesamiento de transacciones.
Reglas del Sistema de Gesti贸n de Bases de Datos Distribuidas
El principio fundamental de las bases de datos distribuidas es la Regla Cero, que establece que, desde el punto de vista del usuario, un sistema distribuido debe comportarse igual que un sistema no distribuido.
Principales Reglas de un SGBDD:
- Autonom铆a Local: Cada sitio debe ser aut贸nomo, con su propio control y administraci贸n.
- Independencia de Localizaci贸n: Los usuarios no deben conocer la ubicaci贸n f铆sica de los datos.
- Independencia de Fragmentaci贸n: La fragmentaci贸n de datos debe ser transparente para los usuarios.
- Independencia de R茅plica: Los usuarios no deben preocuparse por las copias de datos ni por la propagaci贸n de actualizaciones.