Sei sulla pagina 1di 5

Que son las particiones Verticales y

Horizontales?
FRAGMENTACION VERTICAL
Recurdese que la fragmentacin vertical de una relacin R produce una
serie de fragmentos R1, R2,..., RR., cada uno de los cuales contiene un
subconjunto de los atributos de R as como la clave primaria de R. El
objetivo de la fragmentacin vertical consiste en dividir la relacin en un
conjunto de relaciones ms pequeas tal que algunas de las aplicaciones
de usuario slo hagan uso de un fragmento. Sobre este marco, una
fragmentacin ptima es aquella que produce un esquema de divisin
que minimiza el tiempo de ejecucin de las aplicaciones que emplean
esos fragmentos.
La particin vertical resulta ms complicada que la horizontal. Esto se
debe al aumento del nmero total de alternativas que tenemos
disponibles. Por ejemplo, en la particin horizontal, si el nmero total de
predicados simples de Pr es n, existen 2n predicados min trminos
posibles que puedan definirse. Adems, sabemos que algunos de estos
predicados resultarn contradictorios con algunas de las aplicaciones
existentes, por lo que podremos reducir el nmero inicial.
En el caso vertical, si una relacin tiene m atributos clave no primarios,
el nmero de posibles fragmentos es igual a B(m), es decir el
m−simo nmero de Bell [3]. Para valores grandes de m, B(m)
mm; por ejemplo, para m = 10, B(m) 115.000, para m = 15, B(m) 109,
para m = 30, B(m) = 1023.
Estos valores indican que la obtencin de una solucin ptima de la
fragmentacin vertical resultar una tarea intil, sino nos apoyamos en
el uso de heursticos.
Existen dos enfoques heursticos para la fragmentacin vertical de
relaciones:

Agrupacin. Comienza asignando cada atributo a un fragmento, y


en cada paso, junta algunos de los fragmentos hasta que satisface un
determinado criterio. La agrupacin sugiri en principio para bases de
datos centralizadas y se us posteriormente para las bases de datos
distribuidas.

Escisin. A partir de la relacin se deciden que fragmentos resultan


mejores, basndose en las&#61472 caractersticas de acceso de las
aplicaciones a los atributos. Esta tcnica se present, tambin, para

bases de datos centralizadas. Posteriormente, se extendi al entorno


distribuido.

FRAGMENTACION HORIZONTAL
La fragmentacin horizontal se realiza sobre las tuplas de la relacin.
Cada fragmento ser un subconjunto de las tuplas de la relacin. Existen
dos variantes de la fragmentacin horizontal: la primaria y la derivada.
La fragmentacin horizontal primaria de una relacin se desarrolla
empleando los predicados definidos en esa relacin. Por el contrario, la
fragmentacin horizontal derivada consiste en dividir una relacin
partiendo de los predicados definidos sobre alguna otra.
Informacin necesaria para la fragmentacin horizontal
Informacin sobre la base de datos.
Esta informacin implica al esquema conceptual global. Es importante
sealar cmo las relaciones de la base de datos se conectan con otras.
En una conexin de relaciones normalmente se denomina relacin
propietaria a aquella situada en la cola del enlace, mientras que se llama
relacin miembro a la ubicada en la cabecera del vnculo. Dicho de otra
forma podemos pensar en relaciones de origen cuando nos refiramos a
las propietarias y relaciones destino cuando lo hagamos con las
miembro.
Definiremos dos funciones: propietaria y miembro, las cuales
proyectarn un conjunto de enlaces sobre un conjunto de relaciones.
Adems, dado un enlace, devolvern el miembro y el propietario de la
relacin, respectivamente. La informacin cuantitativa necesaria gira en
torno a la cardinalidad de cada relacin, notada como card(R).
Informacin sobre la aplicacin.
Necesitaremos tanto informacin cualitativa como cuantitativa. La
informacin cualitativa guiar la fragmentacin, mientras que la
cuantitativa se necesitar en los modelos de asignacin. La principal
informacin de carcter cualitativo son los predicados empleados en las
consultas de usuario. Si no fuese posible investigar todas las
aplicaciones para determinar estos predicados, al menos se deberan
investigar las ms importantes. Podemos pensar en la regla "80/20" para
guiarnos en nuestro anlisis, esta regla dice que el 20% de las consultas
existentes acceden al 80% de los datos. Llegados a este punto, sera
interesante determinar los predicados simples.
A parte de los predicados simples, las consultas emplean predicados
ms complejos resultado de combinaciones lgicas de los simples. Una

combinacin especialmente interesante es la conjuncin de predicados


simples, al predicado resultante se le denomina predicado mintrmino.
Partiendo de que siempre es posible transformar una expresin lgica en
su forma normal conjuntiva, usaremos los predicados mintrmino en los
algoritmos para no causar ninguna prdida de generalidad.
Sobre la informacin cuantitativa necesaria relativa a las aplicaciones,
necesitaremos definir dos conjuntos de datos.
Selectividad mintrmino. Es el nmero de tuplas de una relacin a las
que accede una consulta de acuerdo a un predicado mintrmino dado.
Por ejemplo, en el ejemplo anterior, la selectividad de m6 es 0 ya que no
existe ninguna tupla que satisfaga las condiciones; en cambio, la
selectividad de m1 es 2. Notaremos la selectividad de un mintrmino mi
como sel(mi).
Frecuencia de acceso. Es la frecuencia con la que un usuario accede a
los datos. Si Q = {q1, q2, ..., qq} es un conjunto de consultas de usuario,
acc(qi) indica la frecuencia de acceso a la consulta qi en un periodo
dado.
Fragmentacin horizontal primaria
Antes de presentar un algoritmo formal que lleve a cabo la
fragmentacin horizontal, intentaremos explicar de manera intuitiva los
procesos de fragmentacin horizontal primaria y derivada. La
fragmentacin horizontal primaria se define como una operacin de
seleccin de las relaciones propietarias del esquema de la base de
datos.
Ahora definiremos la fragmentacin horizontal ms formalmente. Un
fragmento horizontal Ri de una relacin R contiene todas las tuplas de R
que satisfacen un predicado mintrmino mi. Por tanto, dado un conjunto
de predicados mintrmino M, existen tantos fragmentos horizontales de
la relacin R como predicados mintrmino. Este conjunto de fragmentos
horizontales tambin se conocen como conjuntos de fragmentos
mintrmino. En los prrafos siguientes se asumir que la definicin de
fragmentos horizontales se basa en los predicados mintrmino. Adems,
el primer paso para el algoritmo de fragmentacin consiste en
establecer un conjunto de predicados con ciertas propiedades.
Un aspecto importante de los predicados simples es su complecin, as
como su minimalidad. Un conjunto de predicados simples Pr se dice que
es completo si y solo si existe una probabilidad idntica de acceder por
cada aplicacin a cualquier par de tuplas pertenecientes a cualquier
fragmento mintrmino que se define de acuerdo con Pr. Se puede
apreciar como la definicin de complecin de un conjunto de predicados
simples difiere de la regla de complecin de la fragmentacin.

El segundo paso en el proceso de fragmentacin primaria consiste en


derivar el conjunto de predicados mintrmino que pueden definirse
sobre los predicados del conjunto Pr'. Estos predicados mintrmino
establecen los fragmentos candidatos para el proceso de asignacin. El
establecimiento de los predicados mintrmino es trivial; la dificultad
radica en el tamao del conjunto de predicados mintrmino, que puede
ser muy grande (de hecho, exponencial respecto al nmero de
predicados simples). En el paso siguiente se presentarn formas de
reducir el nmero de predicados mintrmino necesarios para la
fragmentacin.
El tercer paso aborda la eliminacin de algunos fragmentos mintrmino
que puedan ser redundantes. Esta eliminacin se desarrolla
identificando aquellos mintrminos que puedan resultar contradictorios
sobre un conjunto de implicaciones.

FRAGMENTACION HORIZONTAL DERIVADA


Una fragmentacin horizontal derivada se define sobre una relacin
miembro de acuerdo a una operacin de seleccin especificada sobre su
propietaria. Se deben dejar claros dos puntos. Primero, el enlace entre
las relaciones propietaria y miembro se define como un
equi−yunto. Segundo, un equi−yunto puede desarrollarse
a travs de semiyuntos.
Este segundo punto es especialmente importante para nuestros
propsitos, ya que deseamos fraccionar una relacin miembro segn la
fragmentacin de su propietaria, adems es necesario que el fragmento
resultante se defina nicamente sobre los atributos de la relacin
miembro.
Las tres entradas necesarias para desarrollar la fragmentacin horizontal
derivada son las siguientes: el conjunto de particiones de la relacin
propietaria, la relacin miembro y el conjunto se predicados resultados

de aplicar el semi−yunto entre la propietaria y la miembro. El


algoritmo de fragmentacin resulta tan trivial que no se ve la necesidad
de entrar en detalles.
Existe una posible complicacin que necesita nuestro estudio. En un
esquema de base de datos, resulta frecuente que existan ms de dos
enlaces sobre una relacin R. En este caso, aparece ms de una
posibilidad de fragmentacin horizontal derivada. La decisin para elegir
una u otra se basa en dos criterios: Uno, la fragmentacin con mejores
caractersticas de yunto. Dos, la fragmentacin empleada en ms
aplicaciones.

Potrebbero piacerti anche