Mecanismos de Sincronización y Control de Concurrencia en Sistemas de Bases de Datos Distribuidas
Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones
Escrito el en
español con un tamaño de 4,42 KB
Sincronización en Sistemas de Bases de Datos Distribuidas
Se abordará el tipo de bloqueo pendiente, que en realidad se refiere a la sincronización en sistemas distribuidos.
Sincronización
La sincronización se utiliza en SGBD distribuidos como una generalización del control de concurrencia en un sistema centralizado. En este contexto, el problema es más serio debido a que las actualizaciones provienen de varios nodos o copias en diferente orden, lo cual puede provocar inconsistencias, incluso si existe un control de concurrencia local.
Métodos de la Sincronización
Control Centralizado
Todos los pedidos de actualización pasan por un único punto de control en el cual se validan los pedidos.
Algoritmos del Control Centralizado:
- Protocolo de Controlador de Bloqueo Centralizado: Se escoge un nodo (encargado de la sincronización) que contiene el proceso de controlador de bloqueo centralizado, mientras que los otros nodos con una parte de la base de datos tienen un proceso de controlador de bloqueo local.
- Protocolo de Token de Control: En este método se asigna un número consecutivo a cada nodo en el sistema, creando un anillo virtual. Uno de los nodos mantiene un token de control único, el cual está autorizado a procesar las transacciones que se originan en él e invocar actividades a otros nodos requeridas para completar dichas transacciones. Al término, el token de control se transmite al nodo siguiente en el anillo virtual. Este procedimiento provee consistencia ya que en todo momento existe un único foco de control y una sola tabla de bloqueos.
- Protocolo de Copia Primaria: Este método provee una rápida recuperación de fallas a las bases de datos de réplicas. Un pedido de actualización en un nodo implica su envío al nodo primario. Este actualiza su copia de la data y pide la cooperación del primer nodo en la secuencia que recibe el pedido del nodo primario y lo ejecuta.
Entonces, el primer nodo envía mensajes a:
- Al siguiente nodo para avisar que la actualización fue enviada.
- Al nodo que la originó para avisar que la actualización fue aceptada.
- En forma similar al anterior, al nodo primario.
La actualización se envía a los otros nodos a través de una comunicación lineal o difundida.
- Protocolo de Sitio Primario: Es muy flexible y sirve para bases de datos relacionales. En este caso, la copia primaria trabaja con fragmentos de la base de datos, teniendo cada uno un sitio primario hacia el cual se dirigen primero todas las actualizaciones.
Conceptos Básicos de Consultas (SQL)
Orden típico de las cláusulas en una consulta SELECT:
SELECTFROMWHEREORDER
Ejemplo de Consulta SQL
Consulta estándar:
Select rut_alumno, nombre_alumno, paterno_alumno, materno_alumno, direccion, ciudad, telefono from alumnos;Otra forma común de escribirlo (ejemplo de sintaxis de Access):
SELECT alumnos.rut_alumno, alumnos.nombre_alumno, alumnos.paterno_alumno, alumnos.materno_alumno, alumnos.direccion, alumnos.ciudad, alumnos.telefono
FROM alumnos;Alias en Consultas
Alias: Es un nombre que le asignamos para referenciar a una tabla o campo. Para las tablas se acostumbra a empezar por la primera letra del abecedario, pero puede ser cualquier letra o grupo de caracteres.
Supongamos que tenemos el mismo Query anterior, pero ahora con el uso del alias (indicaremos el nombre del propietario del campo):
Select (nombre de los campos) from alumnos a;Ejemplo práctico con alias:
Select a.rut_alumno, a.nombre_alumno, a.paterno_alumno, a.materno_alumno, a.direccion, a.ciudad, a.telefono from alumnos a;El alias de una tabla va después del nombre de esta en la cláusula FROM.
Estructuras de Datos
TABLAS TIPO: Son aquellas que consisten en un nombre y una descripción (Ejemplo: Tabla Ciudades).