bibliografia: Laura Martínez Martín. (2010). Alternativas de replicación. En Diseño y construción de base de datos distribuidas(28). México: Santillas.
miércoles, 12 de septiembre de 2018
2.3.1 ASIGNACIÓN DE FRAGMENTOS
Cada fragmento (o cada copia de un fragmento)
se debe asignar a un sitio determinado en el sistema distribuido. Este proceso
se denomina distribución de los datos. La elección de la sede y el grado de
replicación depende de los objetivos de rendimiento y disponibilidad para el
sistema y de los tipos de frecuencias de transacciones introducidas en cada
sitio. Por ejemplo, si se requiere una alta disponibilidad, y si las
transacciones se pueden introducir en cualquier sitio y si la mayoría de ellas
son de obtención de datos, entonces una BD completamente replicada será una
buena opción. Sin embargo, si por lo regular ciertas transacciones que tienen
acceso a partes específicas de la BD se introducen en un solo sitio, se podría
asignar el conjunto de fragmentos correspondiente exclusivamente a ese sitio.
Los datos que se utilizan en múltiples sitios se pueden replicar en esos
sitios. Si se efectúan muchas actualizaciones, puede ser conveniente limitar la
replicación. Encontrar una solución óptima, o siquiera buena, para el reparto
de datos distribuidos es un problema de optimización muy complejo.
2.3.2 ALTERNATIVAS DE REPLICACIÓN
La replicación de datos se
refiere al almacenamiento de copias de datos en múltiples sitios conectados
mediante una red de ordenadores. Pueden guardarse copias fragmentadas en varios
sitios para satisfacer requerimientos de información específicos. Como la
existencia de copias de fragmentos puede mejorar la disponibilidad de los datos
y el tiempo de respuesta, estas copias reducen los costes de comunicación y de
consultas totales.
Supóngase que la tabla A está
dividida en dos fragmentos A1 y A2. Dentro de una base de datos distribuida
replicada, es posible el escenario de la ilustración 6 en el que el
fragmento A1 se guarda en los sitios S1 y S2, mientras que el A2 se guarda en
los sitios S2 y S3
Los datos replicados se someten a
la regla de consistencia mutua. La regla de consistencia mutua requiere que
todas las copias de fragmentos de datos sean idénticas. Por consiguiente, para
mantener la consistencia de los datos entre las réplicas, el SGBDD debe
garantizar que se realice una actualización de la base de datos en todos los
sitios donde existan réplicas.
Suponiendo que la base de datos
está fragmentada correctamente, hay que decidir la asignación de los fragmentos
a diversos sitios en la red. Cuando se asignan los datos, o bien se pueden
replicar o mantenerse una sola copia de los mismos. Las razones para la
replicación son la disponibilidad, fiabilidad y la eficiencia de consultas de
sólo lectura. Si hay múltiples copias de un elemento de datos, hay una buena
probabilidad de que alguna copia esté accesible en algún lugar, incluso cuando
se producen fallos en el sistema. Por otra parte, las consultas de sólo lectura
que acceden a los mismos elementos de datos pueden ser ejecutados en paralelo desde
la salida de copias en múltiples sitios.
Por otra parte, la ejecución de
las transacciones de actualización causa problemas ya que el sistema tiene que
garantizar que todas las copias de los datos se actualizan correctamente. De
ahí que la decisión con respecto a la replicación dependa de la relación
existente entre consultas de sólo lectura y consultas de actualización. Esta
decisión afecta a casi todos los algoritmos de SGBDD y las funciones de
control.
Una base de datos no replicada (comúnmente se
llama base de datos particionada) contiene fragmentos que se asignan a los
diferentes sitios, y sólo hay una copia de cada fragmento en la red. En el caso
de realizarse replicación, la base de datos puede ubicarse en su totalidad en
cada lugar (base de datos totalmente replicada), o los fragmentos pueden
distribuirse en los nodos de tal manera que las copias de un fragmento puedan
residir en varios emplazamientos (base de datos parcialmente replicada). En
este último caso el número de copias de un fragmento puede suponer un aumento
de coste para el algoritmo de asignación.
En la Tabla 1 se comparan
estas alternativas con respecto a varias funciones de los SGBD distribuidos.
Aunque la replicación tiene
algunos beneficios, también exige más complejidad de procesamiento del SGBDD,
porque cada copia de datos debe ser mantenida por el sistema. Para ilustrar la
complejidad de un SGBDD, se deben considerar los procesos que el SGBDD debe
realizar a la hora de gestionar la base de datos:
• Si la base de datos está
fragmentada, el SGBDD debe decidir qué copia acceder. • Una operación de
lectura selecciona la copia más cercana para satisfacer la transacción. Una
operación de escritura requiere que todas las copias se seleccionen y
actualicen para satisfacer la regla de consistencia mutua.
• El procesador de transacciones
envía una solicitud de datos a cada procesador de datos para su ejecución.
• El procesador de datos recibe y
ejecuta cada solicitud y envía los datos de vuelta al procesador de
transacciones.
• El procesador de transacciones
construye las respuestas del procesador de datos.
El problema se complica más
cuando se consideran factores adicionales tales como la topología de red y los
protocolos de comunicación.
BIBLIOGRAFIA: DISEÑO DE BASE DE DATOS DISTRIBUIDA, AQUINO BOLIVIA - 2005.
2.4 CONTROL SEMÁNTICO DE LOS DATOS
La integridad semántica de los datos se refiere a las
características del SGBD y los procesos que se pueden utilizar para asegurar la
exactitud y la viabilidad del contenido de los datos de una BD. La integridad
semántica de los datos se refiere a la consistencia de los datos en sí.
En general, se utilizan las funciones del SGBD para apoyar
la integridad de los datos que por lo general ofrece la mejor solución. Es más
fácil descubrir y mantener una regla de integridad semántica utilizando las
funciones del SGBD que revisando el código del programa. Hay que tener en
cuenta que el código puede estar en diferentes lenguajes en un entorno
heterogéneo. Además, habrá que distinguir los datos obsoletos de los activos.
BIBLIOGRAFIA:Laura Martínez Martín. (2010). Alternativas de replicación. En Diseño y construción de base de datos distribuidas(28-30). México: Santillas.
2.5 PROCESAMIENTOS DE CONSULTAS
El éxito creciente de la
tecnología de bases de datos relacionales en el procesamiento de datos de debe,
en parte, a la disponibilidad de lenguajes no procedurales los cuales pueden
mejorar significativamente el desarrollo de aplicaciones y la productividad del
usuario final. Los lenguajes de bases de datos relacionales permiten la expresión
de consultas complejas en una forma concisa y simple. Particularmente, para
construir la respuesta a una consulta, el usuario no tiene que especificar de
manera precisa el procedimiento que se debe seguir. Este procedimiento es
llevado a cabo por un módulo del DBMS llamado el procesador de consultas (Query
Processor).
El procesamiento de consultas
es de suma importancia en bases de datos centralizadas. Sin embargo, en BDD
éste adquiere una relevancia mayor. El objetivo es convertir transacciones de
usuario en instrucciones para manipulación de datos. No obstante, el orden en
que se realizan las transacciones afecta grandemente la velocidad de respuesta
del sistema. Así, el procesamiento de consultas presenta un problema de
optimización en el cual se determina el orden en el cual se hace la menor
cantidad de operaciones. En BDD se tiene que considerar el procesamiento local de
una consulta junto con el costo de transmisión de información al lugar en donde
se solicitó la consulta.
Arquitectura del procesamiento de consultas
Metodología del procesamiento de consultas
Bibliográfica: Diseño de bases de datos distribuidas pag. 56-70, Aquino
Bolivia-2005
2.5.1 DEFINICIONES
- Esquema conceptual:
Describe
la estructura de toda la base de datos para una comunidad de usuarios. El esquema
conceptual oculta los detalles de las estructuras físicas de almacenamiento y se
concentra en describir entidades, tipos de datos, vínculos, operaciones de los usuarios
y restricciones.
- Esquema Conceptual Local (ECL):
Son
los esquemas conceptuales correspondientes a cada vista de usuario.
- Esquema Conceptual Global (ECG).
En
el caso de SGBDDs lógicamente integrados, el ECG define la visión global de la
BD completa. El ECG es la unión de los Esquemas Conceptuales Locales (ECL).
El
procesamiento de consultas se puede descomponer en un número de subconsultas a los
que corresponden cada uno de los niveles de un procesador de consultas
genérico.
Bibliográfica: Univeridad Carlos III Diseño y Construcción de Bases de Datos Distribuidas Heterogéneas sobre Oracle Y SQL Server, pag. 31 y 32.
martes, 11 de septiembre de 2018
2.5.2 DESCOMPOSICIÓN DE CONSULTAS GLOBALES
La primera capa descompone una consulta en el
cálculo relacional en una consulta en el álgebra relacional que opera sobre
relaciones globales.
Consiste de cuatro partes:
1. Normalización
Involucra la manipulación de los cuantificadores de la consulta y de los calificadores de la misma mediante la aplicación de la prioridad de los operadores lógicos.
La consulta de entrada puede ser arbitrariamente
compleja dependiendo de las facilidades provistas por el lenguaje. El objetivo
de la normalización es transformar una consulta a una forma normalizada para
facilitar su procesamiento posterior. La normalización consiste de dos partes:
El análisis léxico y sintáctico: En esta parte
se verifica la validez de la expresión que da origen a la consulta. Se verifica
que las relaciones y atributos invocados en la consulta estén acordes con la
definición en la base de datos.
2. Análisis
Se detecta y rechazan consultas semánticamente incorrectas.
El análisis de consultas permite rechazar
consultas normalizadas para los cuales no se requiere mayor procesamiento. Una consulta se puede rechazar si alguno de sus
atributos o nombres de relación no están definidas en el esquema global.
También se puede rechazar si las operaciones que se aplican a los atributos no
son del tipo adecuado.
En una gráfica de consulta, un nodo indica la
relación resultante, y cualquier otro nodo representa la relación operante. Un arco entre dos nodos que no son resultados
representa una junta, mientras que un arco cuyo nodo destino es una relación
resultante representa una proyección.
Una subgráfica importante de la gráfica de
conectividad es la gráfica de juntas, en la cual únicamente se consideran las
juntas.
La gráfica de juntas es particularmente
importante durante la fase de optimización.
3. Simplificación
Elimina predicados redundantes.
La consulta en forma normal conjuntiva puede
contener predicados redundantes.
Una evaluación directa de la consulta con
redundancia puede llevarnos a realizar trabajo duplicado.
4. Reestructuración
Mediante reglas de transformación una consulta en el cálculo relacional se transforma a una en el álgebra relacional. Se sabe que puede existir más de una transformación. Por tanto, el enfoque seguido usualmente es empezar con una consulta algebraica y aplicar transformaciones para mejorarla.
El último paso en la descomposición de
consultas, reescribe la consulta en el álgebra relacional.
Esto se hace típicamente en los siguientes pasos:
a. Una transformación directa del cálculo
relacional en el álgebra relacional
b. Una reestructuración de la consulta en el
álgebra relacional para mejorar la eficiencia
Por claridad es costumbre representar la
consulta en el álgebra relacional por un árbol del álgebra relacional, el cual
es un árbol en donde una hoja representa a una relación almacenada en la base
de datos y un nodo no hoja es una relación intermedia producida por una
operación del álgebra relacional.
BIBLIOGRAFIA: DISEÑO DE BASE DE DATOS DISTRIBUIDA, AQUINO BOLIVIA - 2005.
2.5.3 LOCALIZACIÓN DE LOS DATOS
La entrada a esta capa es una consulta
algebraica definida sobre relaciones distribuidas.
El objetivo de esta capa es localizar los datos
de la consulta usando la información sobre la distribución de datos.
Esta capa determina cuales fragmentos están
involucrados en la consulta y transforma la consulta distribuida en una
consulta sobre fragmentos.
La fragmentación de una relación se define a
través de las reglas de fragmentación, las cuales pueden ser expresadas como
consultas relacionales.
Una relación global puede ser reconstruida
aplicando las reglas de reconstrucción y derivando un programa en el álgebra
relacional cuyos operandos son los fragmentos.
A este programa se le conoce como programa de
localización.
Una forma simple de localizar una consulta
distribuida es generar una consulta donde cada relación global es sustituida
por su programa de localización.
Esto puede ser visto como el reemplazo de las
hojas del árbol del álgebra relacional de la consulta distribuida con
subárboles que corresponden a los programas de localización.
A la consulta obtenida por esta forma se le
conoce como una consulta genérica.
En general, el enfoque anterior puede ser
ineficiente dado que varias simplificaciones y reestructuraciones de la
consulta genérica aún pueden ser realizadas.
Por cada tipo de fragmentación se presentan
técnicas de reducción que general consultas simples y optimizadas:
A) Reducción para fragmentación horizontal
primaria.
B) Reducción para fragmentación vertical.
C) Reducción para fragmentación horizontal
derivada.
D) Reducción para fragmentación híbrida.
BIBLIOGRAFIA: DISEÑO DE BASE DE DATOS DISTRIBUIDA, AQUINO BOLIVIA - 2005.
BIBLIOGRAFIA: DISEÑO DE BASE DE DATOS DISTRIBUIDA, AQUINO BOLIVIA - 2005.
Suscribirse a:
Entradas (Atom)