Esquema de Fragmentacion de una Base de Datos
El objetivo de la fragmentación
es encontrar un nivel de particionamiento adecuado en el rango que va desde
tuplas o atributos hasta relaciones completas.
Cada relación global puede ser
dividida en porciones que no se solapen llamados fragmentos. El mapa resultante
se denomina esquema de fragmentación. Una relación global puede dividirse
en n fragmentos y un fragmento sólo puede pertenecer a una relación global.
El problema de fragmentación se
refiere al particionamiento de la información para distribuir cada parte a los
diferentes sitios de la red. Inmediatamente aparece la siguiente pregunta:
¿Cuál es la unidad razonable de distribución?. Se puede considerar que una
relación completa es lo adecuado ya que las vistas de usuario son subconjuntos
de las relaciones. Sin embargo, el uso completo de relaciones no favorece las
cuestiones de eficiencia sobre todo aquellas relacionadas con el procesamiento
de consultas.
Tipos de fragmentación:
- Vertical
- Horizontal
- Mixta
Una fragmentación vertical de una
relación R produce fragmentosR1, R2, ..., Rr, cada uno de
los cuales contiene un subconjunto de los atributos de R así como la
llave primaria de R. El objetivo de la fragmentación vertical es
particionar una relación en un conjunto de relaciones más pequeñas de manera
que varias de las aplicaciones de usuario se ejecutarán sobre un fragmento. En
este contexto, una fragmentación "óptima" es aquella que produce un
esquema de fragmentación que minimiza el tiempo de ejecución de las consultas
de usuario.
La fragmentación vertical ha sido
estudiada principalmente dentro del contexto de los sistemas de manejo de bases
de datos centralizados como una herramienta de diseño, la cual permite que las
consultas de usuario traten con relaciones más pequeñas haciendo, por tanto, un
número menor de accesos a páginas.
La fragmentación vertical es
inherentemente más complicada que particionamiento horizontal ya que existe un
gran número de alternativas para realizarla. Por lo tanto, se utilizan
heurísticas para hacer el particionamiento.
Los dos enfoques básicos son:
Agrupamiento. Inicia asignando cada atributo a un
fragmento, y en cada paso, algunos de los fragmentos satisfaciendo algún
criterio se unen para formar un solo fragmento.
División. Inicia con una sola relación realizar un
particionamiento basado en el comportamiento de acceso de las consultas sobre
los atributos.
Nos concentraremos aquí al estudio del enfoque divisional ya
que, por un lado, su aplicación es más natural al enfoque de diseño
"top-down". Además, el enfoque divisional genera fragmentos que no se
traslapan mientras que el agrupamiento típicamente resulta en fragmentos
traslapados. Por supuesto, la no traslapación no incluye a las llaves
primarias.
Fragmentación horizontal
En las siguientes secciones revisaremos de manera más formal
la forma de construir los diferentes tipos de fragmentación.
La fragmentación horizontal primaria de una relación se
obtiene usando predicados que están definidos en esa relación. La fragmentación
horizontal derivada, por otra parte, es el particionamiento de una relación
como resultado de predicados que se definen en otra relación.
Para poder construir una fragmentación, es necesario
proporcionar información acerca de la base de datos y acerca de las
aplicaciones que las utilizan. En primer término, es necesario proporcionar la
información acerca del esquema conceptual global. En este sentido es importante
dar información acerca de las relaciones que componen a la base de datos, la
cardinalidad de cada relación y las dependencias entre relaciones
En términos de la
información cuantitativa acerca de las aplicaciones de usuario, se
necesita tener dos conjuntos de datos:
La selectividad de los minitérminos: Denotada comosel( mi ),
se refiere al número de tuplos de la relación que serán accesadas por una
consulta de usuario especificada de acuerdo a un predicado minitérmino dado.
La frecuencia de acceso: Denotada como acc( qi ),
se refiere a la frecuencia con la cual una consulta de usuarioqi es
accesada en un periodo de tiempo. Note que las frecuencias de acceso de
minitérminos se pueden determinar a partir de las frecuencias de consultas. La
frecuencia de acceso de un minitérmino se denota comoacc( mi ).
Una fragmentación horizontal primaria se define por una
operación de selección en las relaciones propietarias de un esquema de la base
de datos. Por tanto, dada una relación R, su fragmentación horizontal está dada
por
Rj = s Fj (R), 1 £ j £ w
donde, Fj es una fórmula de selección, la cual es preferiblemente
un predicado minitérmino. Por lo tanto, un fragmento horizontal Ride una
relación R consiste de todos los tuplos de R que satisfacen
un predicado minitérmino mi. Lo anterior implica que dado un conjunto de
predicados minitérmino M, existen tantos fragmentos horizontales de R como
minitérminos existan. El conjunto de fragmentos horizontales también se
entiende como los fragmentos minitérminos.
Es necesario desarrollar un algoritmo que tome como entrada
una relación R y el conjunto de predicados simples Pr y
proporcione como resultado el conjunto de fragmentos de R = { R1, R2,
…, Rm} el cual obedece las reglas de fragmentación. Un aspecto importante
del conjunto de predicados es que debe ser completoy minimal.
Un conjunto de predicados simples Pr se dice que
es completo si y solo si los accesos a los tuplos de los fragmentos
minitérminos definidos en Pr requieren que dos tuplos del mismo
fragmento tengan la misma probabilidad de ser accesados por cualquier
aplicación.
Fragmentación mixta o híbrida:
En muchos casos la fragmentación vertical u horizontal del
esquema de la base de datos no será suficiente para satisfacer los requisitos
de las aplicaciones. Como ya se citó al comienzo de este documento podemos
combinar ambas, utilizando por ello la denominada fragmentación mixta. Cuando
al proceso de fragmentación vertical le sigue una horizontal, es decir, se
fragmentan horizontalmente los fragmentos verticales resultantes, se habla de
la fragmentación mixta HV. En el caso contrario, estaremos ante una
fragmentación VH. Una característica común a ambas es la generación de árboles
que representan la estructura de fragmentación (vea la figura 8).
Considere, por ejemplo, la relación PROVINC. Recordará que
se le aplicó una fragmentación horizontal de acuerdo al valor del atributo
CCODZONA resultando cuatro fragmentos horizontales. Podríamos pensar en
aplicarle una nueva fragmentación de carácter vertical. Entonces resultarían
cuatro fragmentos horizontales divididos, por ejemplo, en dos fragmentos
verticales. En este caso el número total de fragmentos ascendería, lógicamente,
a ocho.
SOFTWARE UTILIZADO EN BASE DE DATOS DISTRIBIDA
Como en cualquier otra parcela de trabajo en las empresas, las
bases de datos son una pieza fundamental que conviene gestionar de manera
eficaz para que todo funcione a la perfección. Existen muchas alternativas
informáticas para manejarlas, por eso a veces cuesta decantarse por un producto
u otro y al final la decisión siempre irá en función de pequeños inputs como el
precio o el alcance que ofrezca cada candidato. Para facilitaros un poco el
trabajo, vamos a repasar cuales son las bases de datos más utilizadas y una
breve introducción a cada una.
MySql es una de las herramientas de gestión de bases de
datos más usadas
MySql
Es sumamente fácil de administrar, operar y es famoso por su instalación de 15
minutos, la cual en 15 minutos es posible instalar, configurar y montar una BD
relacional ya sea sistemas OLTP o bien OLAP, aunque por excelencia MySQLServer
es comúnmente usado para desarrollos Web 2.0 y Enterprise2.0.
Oracle
La tecnología Oracle para organizaciones en crecimiento es abierta, fácil de
integrar, simple de administrar y altamente escalable, lo cual ayuda a
adaptarse más rápido a los cambios del mercado o a los requerimientos
delcliente. Las soluciones Oracle permiten alinear sus procesos con las
cambiantes necesidades durante un largo período, brindando así valor continuo
para nuestra empresa.
DBase
La seguridad en dBASE Plus sigue siendo muy similar a la que ya existía
antiguamente en la base de datos MS/DOS dBASE 2.0. La ventana de Escritorio que
presenta es una combinación de estilos que se tomó de diferentes programas. Es
un tributo al poder fácil y entendible flexibilidad que hace de dBASE una
plataforma superior de desarrollo. Como es a menudo el caso, una simple vista
de diseño puede enmascarar mucho de la complejidad del software. Es difícil
hacer que el software se vea fácil.
FileMaker Pro
FileMaker Pro es el programa de bases de datos que tiene la potencia y
flexibilidad para manejar todas tus funciones decada día en casa y en la
oficina sin tener que aprender instrucciones de programación complejas. Su
estabilidad es buena ya que es muy sencilla y también uno no se pierde en las
pantallas como se hace en Access.
Microsoft Access
Microsoft Access es uno de los sistemas de gestión de bases de datos
relacionales más usuales para los sistemas operativos Windows, desarrollado por
el mismo Microsoft y orientado a ser usado en un entorno personal o en pequeñas
organizaciones. Es un componente de la suite ofimática Microsoft Office.
Permite crear ficheros de bases de datos relacionales que pueden ser fácilmente
gestionadas por una interfaz gráfica simple.
Aplicaciones de bases de datos distribuidas
Los ambientes en los que se encuentra el uso de las BDD son:
· Cualquier
organización que tiene una estructura descentralizada: organismos
gubernamentales y de servicios públicos.
· La
industria de la manufactura, particularmente aquella con plantas múltiples, y
la industria automotriz.
· Aplicaciones
de control y comando militar.
· Cadenas
hoteleras.
· Líneas de
transportación aérea.
· Servicios bancarios
y financieros.
Ejemplos de algunos DDBMS:
Prototipos
- SDD-1, que fue construido en la división de investigación de Computer Corporation of America. Finales de los años 70 y principios de los 80.
- R*, una versión distribuida del prototipo System R, construida en IBM Research Principios de los años 80
- Distributed Ingres, una versión distribuida del prototipo Ingres, construida en la Universidad de California en Berkeley
- Principios de los 80
Implementaciones comerciales:
• La mayoría de los
productos SQL actuales proporcionan algún tipo de soporte de BDD (con diversos
grados de funcionalidad).
- Ingres/Star, el componente de BDD de Ingres
- La opción de BDD de Oracle
- La propiedad de datos distribuidos de DB2
- Tanto los DDBMS prototipos como los productos, son relacionales (al menos todos soportan SQL)
- Además, hay varias razones por las cuales, para que un sistema distribuido sea exitoso, debe ser relacional.
La tecnología relacional es un requisito previo para
tecnología distribuida.