You are on page 1of 16

Fragmentacin vertical de clases en las bases de datos distribuidas orientadas a objetos

M.Sc. Elzbieta Malinowski Gajda* -----* M.Sc. en Computacin (San Petersburgo y Florida), Profesora en la scuela de Ciencias de la Computacin e !nform"tica, #C$.

RESUMEN l dise%o de bases de datos distribuidas es un proceso complicado &ue incluye muc'os factores para considerar. (dem"s, siendo las bases de datos distribuidas orientadas a ob)etos una generali*acin de bases de datos relacionales, no slo 'eredan los problemas de dise%o presentes en bases de datos distribuidas relacionales, sino tambi+n presentan los problemas adicionales relacionados con el es&uema &ue est" compuesto por las clases. ste art,culo presenta la descripcin de las nue-as matrices desarrolladas para las bases de datos orientadas a ob)etos &ue son generali*aciones de las matrices usadas en el proceso de fragmentacin en las bases de datos distribuidas relacionales. (dem"s, se propone el es&uema de fragmentacin para las bases de datos orientadas a ob)etos de diferentes ni-eles de comple)idad. 1. INTRO U!!I"N l inter+s generado por la automati*acin de procesamiento de datos dio inicio al desarrollo de bases de datos relacionales (./$). /esde los a%os setentas, cuando Codd 0Codd123 introdu)o este concepto de almacenamiento de datos, creci el desarrollo de los sistemas &ue permiten su mane)o eficiente (/.MS, database management systems, sistemas de mane)o de bases de datos). (dem"s, los a-ances en la tecnolog,a de micro-procesadores y el amplio uso de redes de computadoras impulsaron la in-estigacin sobre la posibilidad de distribuir los datos en la red usando diferentes criterios como, por e)emplo, las frecuencias de utili*acin de los datos. stas in-estigaciones dieron inicio a las as, llamadas bases de datos distribuidas relacionales (.//$). l ob)eti-o de las .//$ es me)orar la eficiencia de su desempe%o f,sicamente distribuyendo los datos de acuerdo a los re&uerimientos de uso y las capacidades computacionales &ue disponen los diferentes usuarios, pero manteniendo la -isin del sistema como un solo componente. Se desarrollaron diferentes algoritmos de distribucin de datos y se implementaron las t+cnicas de fragmentacin de dos tipos4 fragmentacin 'ori*ontal, donde se distribuyen las tuplas (registros) de las tablas de la base de datos entre diferentes nodos de la red o fragmentacin -ertical donde se distribuyen los atributos de acuerdo a la frecuencia de su uso. Se puede tambi+n usar la fragmentacin ',brida &ue incluye una o -arias secuencias de aplicacin de las fragmentaciones anteriormente mencionadas. ste creciente desarrollo de .//$ disminuy su -elocidad cuando se intensific el uso de programacin orientada a ob)etos. 5o solo los lengua)es de programacin, sino tambi+n las bases de datos, encontraron las utilidades y facilidades de desarrollo por medio de este paradigma. Sin embargo, los cient,ficos encontraron la in&uietud sobre la posibilidad de fragmentar los ob)etos. stas nue-as formas de almacenamiento no son f"ciles de fragmentar debido a su comple)a estructura. Para

asegurar el dise%o ptimo tanto en .//$ como en bases de datos distribuidas orientadas a ob)etos (.//66) de acuerdo a 7*su y 8aldurie* se necesita la siguiente informacin 07*su1234 9 9 s&uema global de la base de datos. Predicados de uso para la fragmentacin 'ori*ontal o matri* de uso de atributos por diferentes transacciones y las frecuencias de las transacciones para la fragmentacin -ertical. Costos de comunicacin en la red. :as computadoras usadas.

9 9

Para los aspectos de la fragmentacin se considera los dos primeros puntos. /ebe ser e-idente &ue para .//66 el es&uema conceptual puede ser muc'o m"s comple)o &ue para .//$. (un&ue e;iste una diferencia significati-a entre estos dos tipos de bases de datos, debe ser claro &ue el enfo&ue relacional puede ser -isto (ignorando por la simplicidad la e;istencia de los m+todos) como un caso especial de los sistemas orientados a ob)etos sin la )erar&u,a de clases y atributos comple)os (atributos &ue contienen la referencia a otros ob)etos). Si este es el caso, los algoritmos desarrollados para .//$ con respecto a la distribucin de los datos podr,an ser generali*ados y aplicados para .//66. #no de los e)emplos en &ue es posible esta generali*acin es el e-aluador de particiones desarrollado para la .//$ 0C'a<1=3 y generali*ado para la .//66 0Mali1>3. #no de los componentes muy importantes usados en el desarrollo de los algoritmos de fragmentacin presentados para .//$ es la matri* del uso de los atributos ((#M, attribute usage matrix) o la matri* de la afinidad de los atributos (((M, attribute affinity matrix) &ue en general refle)an la informacin de las aplicaciones &ue operan sobre los datos. Para poder generali*ar los algoritmos de .//$ y aplicarlos a .//66 se necesita anali*ar cuales son las matrices en ambiente orientado a ob)etos &ue corresponden a las matrices mencionadas anteriormente. n el art,culo se describen los aspectos considerados en la fragmentacin en .//$ y .//66, mencionando los traba)os desarrollados en esta "rea. Posteriormente se )ustifica la necesidad del desarrollo de las nue-as matrices y se describe su presentacin &ue permite ?aplanar@ la estructura )er"r&uica de las clases presentada en .//66. Finalmente, bas"ndose en la informacin contenida en las matrices y los resultados de fragmentacin, se presentan las formas de propagacin de la fragmentacin en la )erar&u,a de las clases. #. RE$ISI"N E TR%&%'OS RE(%!ION% OS !ON (% FR%)MENT%!ION EN &%SES E %TOS RE(%!ION%(ES * &%SES E %TOS ORIENT% %S % O&'ETOS #sando la fragmentacin -ertical en ./$ se puede agrupar los atributos de cada relacin en registros m"s pe&ue%os para me)orar la eficiencia de las transacciones en las bases de datos. Sin embargo, como el nAmero de las particiones posibles es muy grande en una ./$ real 05a-aB23, en la mayor,a de las in-estigaciones se usa un enfo&ue 'eur,stico para fragmentar. #na de las suposiciones m"s usadas en este enfo&ue es &ue el particionamiento debe considerar &ue cada fragmento &ue contiene los atributos debe estar muy cerca de la transaccin &ue lo ocupa 05a-aB23. sto significa &ue, en el caso ideal, el fragmento tiene solo los atributos &ue la transaccin local necesita y esta transaccin no necesita accesar ningAn atributo de otro nodo remoto. Sin embargo, en .//$ esto es casi imposible de lograr. :a me)or forma de partir los atributos para una transaccin no es necesariamente la me)or forma para la otra transaccin. :a meta factible es ma;imi*ar el desempe%o de todas las transacciones tomando en cuenta todas ellas como un solo grupo. Pues el dise%ador debe 'acer un compromiso, asegurando el acceso m,nimo a los atributos remotos para todas las

transacciones e)ecutadas en cada uno de los sitios. l seguimiento de estos conceptos se puede -er en las in-estigaciones presentadas sobre la fragmentacin -ertical en .//$. (ctualmente e;iste un nAmero considerable de algoritmos para fragmentacin -ertical en ./$. :os traba)os presentados por Coffer y Se-erance 0CoffDE3, Cammer y 5iamir 0CammD13, 5a-at'e et al. 05a-aB23, Cornell y Fu 0CornBD3, 5a-at'e y $a 05a-aB13, C'u y !eong 0C'u1=3 son muy conocidos por la sociedad de in-estigadores. stos autores utili*an en sus algoritmos las matrices (#M o ((M. Sin embargo, en este art,culo se enfati*a m"s en el enfo&ue presentado por C'a<ra-art'y et al. 0C'a<1=3 siguiendo su argumentacin de usar la matri* (#M en lugar de la matri* ((M. C'a<ra-art'y et al. opinan &ue ((M solamente se%ala la ?afinidad@ entre las pare)as de los atributos y las relaciones entre m"s de dos atributos no se pueden medir en esta matri*. n este art,culo se apoya la opinin de los autores y se desarrolla la matri* &ue corresponde a (#M para el ambiente orientado a ob)etos. Se puede notar &ue en las in-estigaciones referentes a .//66 no e;iste acercamiento de este tipo. :a in-estigacin de ./66 abarca muc'os aspectos, entre los cuales tambi+n se puede encontrar la fragmentacin. (s,, en el desarrollo de la fragmentacin 'ori*ontal, *eife y .ar<er 0 *ei123 anali*an cuatro casos separados de atributos simples y m+todos simples, atributos simples y m+todos comple)os, atributos comple)os y m+todos simples, atributos comple)os y m+todos comple)os. llos tratan las fragmentaciones primarias y deri-adas en su algoritmo de -arios pasos e incluyen la definicin del grafo &ue enla*a las clases ( link graph). Finalmente, combinan estos fragmentos primarios y deri-ados, mientras tanto encuentran la me)or locali*acin para los fragmentos. 6tro enfo&ue 'a sido presentado por Garlapalem y :i 0Garl12a3 donde ellos tratan de establecer algunos es&uemas comunes para la fragmentacin en ./66H no presentan ningAn algoritmo espec,fico, pero proponen algunos pasos iniciales para cada es&uema de fragmentacin. :os autores mencionados categori*an tres tipos de clases4 basadas en -alores, basadas en ob)etos y mi;tas. (dicionalmente, ellos anali*an las posibilidades de usar los es&uemas de fragmentacin -ertical, 'ori*ontal y path. Para la fragmentacin 'ori*ontal para las clases basadas en ob)etos, ellos distinguen los casos de fragmentacin 'ori*ontal deri-ada (cuando las clases son fragmentadas bas"ndose en el -alor del ob)eto en la )erar&u,a) y la fragmentacin 'ori*ontal asociati-a (cuando las clases son fragmentadas debido a su di-isin natural en subclases). #n acercamiento diferente describen Iruber y (msaleg 0Irub123. llos proponen un agrupamiento especial de los ob)etos basado en la importancia de las ligas, sin embargo, no lo enfocan 'acia las ./66. specialmente, ellos anali*an las ligas de )erar&u,a y las ligas entre diferentes ob)etos y bas"ndose en esta informacin desarrollan el agrupamiento de los ob)etos, implement"ndolo en el sistema 6S. llos consideran solamente la necesidad de poner los ob)etos padres e 'i)os )untos sin anali*ar la posibilidad de diferente frecuencia del uso de las clases y subclases. Garlapalem et al. 0Garl12b3 describen algunos problemas necesarios para considerar en el ambiente distribuido orientado a ob)etos, como son el modelo de datos usado, in-ocacin de m+todos importantes para los propsitos de locali*acin, tipos de transparencia, ?cercan,a@ de los m+todos y ob)etos, 'erencia en la )erar&u,a, y otros. llos no presentan ningAn algoritmo para la fragmentacin y afirman &ue los algoritmos propuestos por 5a-at'e et al. Para ../$ 05a-aB23 pueden ser usados para el caso del m+todo simple y atributos basados en -alores. Para los m+todos comple)os y atributos basados en -alores ellos proponen ?aplanar@ los ob)etos y aplicar para el es&uema desarrollado los conceptos desarrollados por Pernul at al. 0Pern1J3 para la fragmentacin con las -istas sobrepuestas.

(un&ue los autores anteriormente mencionados consideran diferentes aspectos presentes en el ambiente de orientacin a ob)etos, no es conocido por el autor de este art,culo enfo&ue basado directamente en el desarrollo de la matri* (#M. +. ES,E!IFI!%!ION E (%S M%TRI!ES ,%R% (% & OO ISTRI&UI % n el enfo&ue relacional los algoritmos de la fragmentacin -ertical distribuyen los atributos. Sin embargo, en el enfo&ue orientado a ob)etos el es&uema conceptual puede ser muc'o m"s comple)o y le)os de los factores usados en el enfo&ue relacional (frecuencias de las transacciones, uso de los atributos, tipo de predicado y otros). (dicionalmente deben ser considerados unos aspectos nue-os, como son los m+todos, la estructura )er"r&uica y los atributos comple)os. +.1 Motivacin -ara el desarrollo de las nuevas matrices Se puede -er &ue en un enfo&ue orientado a ob)etos ?puro@ los atributos son accesados por los m+todos y las transacciones in-ocan los m+todos en lugar de atributos directamente. (s,, se necesita las matrices &ue pueden refle)ar esta situacin como la matri* de uso transaccin-m+todo (KM#M, transaction method usage matrix ) y la matri* de uso m+todo-atributo (M(#M, method attributes usage matrix). Kambi+n, se puede tener casos donde un m+todo in-oca otro m+todo y esta informacin deber,a ser tambi+n recopilada por medio de la matri* de uso m+todo-m+todo (MM#M, method method usage matrix). n consecuencia se debe considerar la e;istencia de nue-as matrices diferentes de las presentadas en el enfo&ue relacional. (dem"s, la matri* (#M usada en la fragmentacin -ertical (en los traba)os pre-ios) en .//$ solamente considera el caso cuando las frecuencias de acceso de los atributos por una transaccin espec,fica son iguales para todos los atributos. Sin embargo, en el caso de .//66 la matri* resultante &ue corresponde a la matri* (#M puede tener diferentes frecuencias de los atributos para la misma transaccinH por e)emplo, en el caso de atributos comple)os, cuando el ob)eto 'acia el cual dic'o atributo tiene referencia puede ser accesado ?indirectamente@ por medio de este ob)eto comple)o o directamente desde alguna otra transaccin. LPor &u+ no fragmentar los m+todos y despu+s asignarlos a los fragmentos adecuadosM :a ra*n es ob-ia. :os m+todos como las pie*as de programas pueden ser f"cilmente copiados o duplicados sin ningAn problema (espacio, control de concurrencia y otros). :a adecuada distribucin de datos, la cual optimi*a el espacio de almacenamiento (sin duplicacin innecesaria) y da un desempe%o bueno de las transacciones e)ecutadas, es la meta principal del dise%o en sistemas de bases de datos distribuidos, relacionales u orientadas a ob)etos. Komando en cuenta lo anterior se puede presentar las matrices m"s formalmente. +.# ,resentacin de matrices :a meta del dise%o es obtener K(#M &ue corresponde a (#M en el enfo&ue relacional, la cual sir-e de base de numerosos algoritmos de fragmentacin. :a Anica diferencia entre estas dos matrices consiste en &ue en K(#M e;isten diferentes frecuencias de acceso de atributos por la transaccin y en (#M estas frecuencias son iguales. Se consideran las siguientes suposiciones4 J. Se utili*a el enfo&ue basado en ob)etos no -alores.

N. Se tiene la informacin sobre las clases incluyendo los m+todos y los atributos &ue estos m+todos usan. =. Se accesan los atributos solamente usando los m+todos de acuerdo a los principios de encapsulamiento. 2. Se dispone de la informacin sobre acceso de los m+todos por las transacciones. E. Se especifica las frecuencias de acceso de transacciones. >. Se ignora la e;istencia de los tipos tupla, con)unto y lista. Komando en cuenta las consideraciones anteriores, se puede presentar la informacin necesaria para el particionamiento en la forma de KM#M, MM#M, M(#M. J. !ransaction Method "sage Matrix (KM#M)4 la matri* de frecuencias &ue indica si la transaccin in-oca un m+todo espec,fico. :os -alores usados de cero o uno representan la situacin &ue la transaccin no llama o llama el m+todo respecti-amente4
transOm+todo trJ trN ... trK mJi,) fmJ,J fmN,J ... fmK,J mNi,) fmJ,N fmN,N ... fmK,N ... ... ... mmi,) fmJ,m fmN,m ... fmK,m

... ...

donde m m<i,) K trp fmp,r l nAmero total de m+todos en el sistema considerado para la particin l m+todo ) de la clase i, para < P J 'asta m. l nAmero total de transacciones. Kransaccin p, para p P J 'asta K. :a frecuencia &ue la transaccin p accesa el m+todo r (igual Q o J).

N. Method Method "sage Matrix (MM#M)4 la matri* de frecuencias &ue indica el nAmero de -eces &ue el m+todo in-oca otro m+todo (en el caso de m+todos simples esta matri* no e;iste). Parecido a KM#M los -alores Q o J indican la e;istencia de llamadas anidadas de los m+todos.
m+todoOm+todo mJi,) mNi,) mJi,) J fmmN,J mNi,) fmmJ,N J ... ... ... mmi,) fmmJ,m fmmN,m

... mmi,)

... fmmm,J

... fmmm,N

... ...

... J

donde m m<i,) l nAmero total de m+todos en el sistema considerado para la particin. l m+todo ) de la clase i, para < P J 'asta m.

fmms,r :a frecuencia &ue el m+todo s accesa el m+todo r (igual Q o J). =. Method #ttributes "sage Matrix (M(#M)4 la matri* &ue representa el nAmero de in-ocaciones de los atributos espec,ficos en una e)ecucin de m+todo. Kenemos posibilidad de tener los siguientes -alores4 - cero - indica &ue el m+todo no accesa ningAn atributo, - uno - indica &ue el m+todo lee el -alor del atributo (recuperar), - dos - indica &ue el m+todo lee y escribe el -alor del atributo (modificar).
m+todoOatributo mJi,) mNi,) ... mmi,) atJi,) fatJ,J fatN,J ... fatm,J atNi,) fatJ,N fatN,N ... fatm,N ... ... ... atni,) fatJ,n fatN,n ... fatm,n

... ...

donde n atpi,) fat<,l l nAmero total de atributos en el sistema considerado para la particin. (tributo ) de la clase i, para p P J 'asta n. :a frecuencia de acceso de atributo < por el m+todo < (igual Q, J o N).

:a informacin especificada arriba puede ser dada por el dise%ador del sistema. (dicionalmente, en la misma manera como para el enfo&ue relacional, se puede considerar la frecuencia de uso de las transacciones por las aplicaciones (ftr)4
Kransaccin Frecuencia trJ ftrJ trN ftrN tr= ftr= ... ... trK ftrK

Como consecuencia se puede decir &ue, si se multiplica la KM#M &ue contiene la informacin sobre m+todos usados por las transacciones espec,ficas, y la M(#M &ue contiene la informacin sobre las frecuencias de uso de los atributos por los m+todos espec,ficos, se puede obtener la matri* &ue representa las frecuencias de uso de los atributos por las transacciones. stas frecuencias pueden ser-ir como base para el es&uema de fragmentacin y corresponden a (#M del enfo&ue relacio-nal. Sin embargo, es necesario considerar los mismos cuatro casos &ue fueron anali*ados por *eife y .ar<er 0 *ei123 de atributos simples y m+todos simples, atributos simples y m+todos comple)os, atributos comple)os y m+todos simples, atributos comple)os y m+todos comple)os. .. ES!RI,!I"N E ISE/O E 'ER%R0U1%S * ,RO,%)%!I"N E (% FR%)MENT%!I"N E O&'ETOS

n el proceso de desarrollo del modelo de fragmentacin se presentan los m+todos para el particionamiento de las clases en .//66 calculando primero los -alores de la matri* K(#M &ue corresponde a la matri* (#M del enfo&ue relacional. (dem"s, se seleccionan las particiones por medio de la bAs&ueda e;'austi-a aplicando el e-aluador de particiones para .//66 (P 66, $artition E%aluator for &bject &riented 'atabases) 0Mali1>3. :os m+todos presentan -ariaciones dependiendo de la comple)idad del sistema y la granularidad de fragmentacin. Por la granularidad se entiende el ni-el de profundidad de )erar&u,a de las clases 'asta el cual se necesita aplicar la fragmentacin. ..1 %tributos sim-les 2 m3todos sim-les n esta categor,a se dispone solamente de una estructura )er"r&uica muy simple, donde los m+todos pueden usar los atributos de su propia clase o sus superclases. 5o se tiene los m+todos anidados o atributos &ue apuntan a otros atributos. n el algoritmo &ue se propone se debe4 J. specificar en KM#M y M(#M todas las frecuencias del uso de los m+todos y atributos usados desde la ra,* 'asta el ni-el de granularidad i establecido. Si e;isten las clases de un ni-el mayor &ue i, entonces para cada una ellas se representan las frecuencias de acceso de los atributos y m+todos como la suma de los -alores correspondientes. 5tese a&u,, &ue si la clase tiene sus subclases, la suma debe incluir todas las frecuencias de los m+todos y atributos de esta clase y todas sus sub-clases.

N. Multiplicar cada fila de KM#M con los -alores correspondientes de las frecuencias de las transacciones. =. Multiplicar KM#M y M(#M. 2. (plicar la bAs&ueda e;'austi-a y P 66 para seleccionar el me)or es&uema de fragmentacin. sta bAs&ueda considerar" los atributos de las subclases del ni-el mayor &ue i como indi-isibles. E. Propagar la fragmentacin. Como e)emplo consid+rese la siguiente presentacin abstracta de las clases4

Para 'acer el gr"fico m"s f"cil de entender no se repiten los m+todos y atributos en sus subclases, asumiendo &ue todos los m+todos y atributos de las clases pueden ser accesados por sus subclases. (&u,, si el ni-el de granularidad es igual a uno para las dos clases ra,ces (Clase J y Clase2) tendremos KM#M de la siguiente forma4
trans O m+todo trJ trN ... trK mJJ,J fmJ,J fmN,J ... fmK,J mNJ,N fmJ,N fmN,N ... fmK,N mD2,J fmJ,= fmN,= ... fmK,= mB2,N fmJ,2 fmN,2 ... fmK,2 MN fmJ,E fmN,E ... fmK,E M= fmJ,> fmN,> ... fmK,> ME fmJ,D fmN,D ... fmK,D M> fmJ,B fmN,B ... fmK,B

:os -alores en las columnas Mi representan la suma de las frecuencias del acceso de los m+todos por las transacciones correspondientes. Por e)emplo, el -alor fm J,E es la suma de las frecuencias del acceso de los m+todos m=N,J y m2N,N de la ClaseN por la transaccin trJ. Para la ClaseE los -alores correspondientes incluyen no solamente las frecuencias de acceso de los m+todos de esta clase, sino tambi+n las frecuencias de accesos de los m+todos de sus subclases4 Clase D. :a M(#M se representa de la siguiente forma4
m+todoOatributo mJJ,J mNJ,N mD2,J mB2,N MN M= ME M> atJJ,J fatJ,J fatN,J fat=,J fat2,J fatE,J fat>,J fatD,J fatB,J atNJ,N fatJ,N fatN,N fat=,N fat2,N fatE,N fat>,N fatD,N fatB,N atD2,J fatJ,= fatN,= fat=.= fat2,= fatE,= fat>,= fatD,= fatB,= atB2,N fatJ,2 fatN,2 fat=.2 fat2,2 fatE,2 fat>,2 fatD,2 fatB,2 (KN fatJ,E fatN.E fat2,E fat2,E fatE,E fat>,E fatD,E fatB,E (K= fatJ,> fatN,> fat=,> fat2,> fatE,> fat>,> fatD,> fatB,> (KE fatJ,D fatN.D fat=.D fat2,D fatE.D fat>,D fatD,D fatB,D (K> fatJ,B fatN.B fat=,B fat2,B fatE,B fat>,B fatD,B fatB,B

n esta matri* las columnas representadas ( t< son las sumas de las frecuencias de acceso de atributos por los m+todos correspondientes y son representadas en la manera similar como en KM#M. 6bs+r-ese &ue la interseccin de la fila M i y la columna (t< tiene los -alores &ue representan la suma de las frecuencias de todos los atributos de (t< accesados por los m+todos de Mi. Para la bAs&ueda e;'austi-a (el paso 2 del algoritmo presentado pre-iamente), los atributos de las subclases ClaseN, Clase=, ClaseE y Clase> son considerados indi-isibles. sto significa &ue no se -a a anali*ar el caso cuando los atributos de alguna de estas clases pertenecen a diferentes fragmentos. (dem"s, esta consideracin implica &ue todos los atributos de todas las subclases presentados en el mismo camino de la )erar&u,a deben formar una entidad indi-isible (para las clases Clase E y ClaseD los atributos at1E,J , atJQE,N , at=D,J y at atJ2D,N deben ser considerados como indi-isibles). Si el ni-el de granularidad es dos para la clase ra,* Clase J y uno para la ra,* Clase 2 las matrices correspondientes ser"n4
trans O m+todo trJ trN ... trK m+todo O attributo mJJ,J mNJ,N ... mB2,N ME M> mJJ,J fmJ,J fmN,J ... fmK,J mNJ,N fmJ,N fmN,N ... fmK,N atJJ,J fatJ,J fatN,J ... fatB,J fat1,J fatJQ,J ... ... ... ... ... atNJ,N fatJ,N fatN,N ... fatB,N fat1,N fatJQ,N mB2,N fmJ,B fmN,B ... fmK,B ... ... ... ... ... ... ... ME fmJ,1 fmN,1 ... fmK,1 atB2,N fatJ,B fatN,B ... fatB,B fat1,B fatJQ,B M> fmJ,JQ fmN,JQ ... fmK,JQ (KE (K> ... ...

fatJ,1 fatJ,JQ fatN.1 fatN.JQ ... ...

fatB,1 fatB,JQ fatE,1 fat1.JQ fatJQ,1 fatJQ,JQ

:os grupos de atributos indi-isibles se definen en la forma similar del caso del ni-el de la granularidad uno. /espu+s de obtener estas matrices multiplicati-as y aplicar algoritmo para obtener el me)or es&uema de fragmentacin, sigue el proceso de propagacin. l paso de la propagacin puede ser representado como e)emplo para la Clase J, suponiendo &ue despu+s de aplicar la bAs&ueda e;'austi-a con el ni-el de granularidad uno se obtiene dos fragmentos4 el primero tiene el atributos at JJ,J y el segundo tiene atributo at NJ,N. :a propagacin de esta fragmentacin puede ser presentada de la siguiente manera4

6bs+r-ese &ue, para el propsito de la implementacin, los atributos y m+todos de las clases ClaseN y Clase= pueden ser replicados como se presenta en la figura de arriba o se puede mantener solo una copia de cada subclase. (dem"s, como se mencion anteriormente por&ue los m+todos son f"ciles de duplicar, se propone su duplicacin. n el caso del ni-el de granularidad dos, se puede representar la propagacin de fragmentacin de forma similar. Se supone &ue la bAs&ueda e;'austi-a se aplica a la ra,* de la clase Clase 2 y sus subclases ClaseE y Clase>. Para la simplicidad de representacin se asume &ue el me)or es&uema de particin tiene dos fragmentos con los siguientes atributos4 fragmento J4 atD2,J , at1E,J y atJJ>,J fragmento N4 atB2,N , atJQE,N y atJN>,N . :a representacin gr"fica de la propagacin es la siguiente4

(&u,, dos fragmentos de Clase E apuntan a la misma clase Clase D e-itando la duplicacin de los ob)etos de la clase ClaseD. (un&ue esta representacin gr"fica de la propagacin parece muy complicada para esta simple clase, en realidad puede ser implementada usando las ideas presentadas en el sistema 6$!65 0Gim123, donde cada clase tiene su propio descriptor. n esta implementacin cada ob)eto tiene su Anico indetificador de ob)eto (#!/, uni(ue identifier) &ue consiste de un par de -alores4 el identificador de la clase y el identificador del ob)eto. /e esta forma la informacin en cu"l fragmento se encuentra el atributo solicitado se puede mantener en el descriptor de la clase. Sin embargo, la representacin de clases puede ser m"s comple)a e incluir la e;istencia de m+todos anidados. ..# %tributos sim-les 2 m3todos com-lejos :a diferencia a&u, con el caso pre-io de atributos simples y m+todos simples consiste &ue a'ora se tiene la posibilidad de las llamadas anidadas entre los m+todos o de la misma clase o entre las clases &ue pertenecen a los ni-eles antecedentes del mismo camino del "rbol de la )erar&u,a. Ir"ficamente, un ni-el de llamadas anidadas se puede representar de la siguiente forma4

:as aristas del grafo (las frecuencias del uso de los respecti-os m+todos) se presentan en las matrices de KM#M y MM#M en las posiciones correspondientes con el -alor igual a J. #n caso m"s complicado puede ser presentado como sigue4

/ependiendo del ni-el de granularidad, la transaccin puede accesar el m+todo (m) o a uno de los m+todos &ue forma la parte indi-isible del grupo de los m+todos (M). stas llamadas anidadas deben ser refle)adas en MM#M. n este caso la diferencia con el algoritmo presentado anteriormente consiste en &ue antes de multiplicar las matrices KM#M y M(#M, primero se necesita multiplicar KM#M y MM#M para considerar las llamadas anidadas. Keniendo la matri* KM#M modificada se puede multiplicarla con la matri* M(#M y seguir los pasos 2 y E del primer caso.

Si se sigue aumentando la comple)idad de clases, se pueda llegar al siguiente ni-el de atributos comple)os y m+todos simples. ..+ %tributos com-lejos 2 m3todos sim-les :os ob)etos comple)os son los ob)etos los cuales tienen los atributos apuntando a otros ob)etos. n este caso, cuando el atributo comple)o es accesado, en realidad lo &ue se accesa es este atributo y algAn m+todo de la clase 'acia donde este atributo apunta. Como se sigue el principio de encapsulacin, no e;iste la situacin donde el atributo comple)o accesa el atributo de otra clase en forma directa. ('ora se tiene, no solamente la relacin entre el m+todo y el atributo (los atributos &ue un m+todo espec,fico usa presentados en M(#M), sino tambi+n una nue-a relacin entre los m+todos. sta nue-a relacin tiene &ue ser capturada en la matri* de MM#M dando el caso de atributos simples y m+todos comple)os. /e otro lado, la relacin entre el m+todo y el atributo comple)o puede ser ignorada, despu+s de refle)ar en MM#M la relacin entre los m+todos. sto ocurre por&ue el atributo comple)o puede ser -isto como un tipo de atributo ?-irtual@. :a asignacin de este atributo en algAn fragmento espec,fico, despu+s de aplicar el algoritmo de fragmentacin, no da la informacin necesaria concerniente, como particionar los atributos de la clase donde este atributo est" apuntando. n este acercamiento se propone eliminar el atributo ?-irtual@ del es&uema de particionamiento. ste atributo siempre puede ser puesto y duplicado en cual&uier fragmento donde sea necesario. liminando este atributo del algoritmo de fragmentacin, se obtiene el caso de los atributos simples y m+todos comple)os, en lugar de los atributos comple)os y m+todos simples. Para entender me)or esta situacin, se presenta un e)emplo. Supngase &ue el atributo comple)o at <i,) se usa con los siguientes m+todos4 m li,) y msi,). sto significa &ue en algAn m+todo se puede encontrar la llamada como4 at <i,).mli,) o atli,).msi,) (como se est" siguiendo el principio de encapsulacin, no se puede encontrar en la transaccin, la llamada directa de dos atributos comple)os). (s,, se puede representar la situacin en la forma gr"fica4

Si alguna transaccin < llama el m+todo &ue utili*a este atributo comple)o, se propone eliminar este atributo del grafo. sto resulta en la situacin donde los m+todos m li,) y msi,) son llamados en el m+todo mpi,) . sta relacin entre los m+todos ya se refle) anteriormente en las posiciones (p,l) y (p,s) y no se necesita 'acer modificaciones. n el caso en &ue el acceso a los atributos comple)os es m"s complicado (algAn m+todo al cual este atributo comple)o apunta, accesa otro atributo comple)o) se necesita 'acer las modificaciones para el grafo de la misma forma como en el caso anterior. Por e)emplo, si se tiene la siguiente situacin4

y adem"s, se puede presentar de forma adecuada los -alores en la matri* MM#M. Kambi+n se puede considerar diferentes ni-eles de granularidad en la forma muy similar en &ue fue 'ec'o en el caso anterior para los atributos simples y m+todos simples. Consid+rese la siguiente )erar&u,a de los ob)etos4

Si el ni-el de la granularidad es uno para las dos clases ra,ces, los m+todos m JJ,N , mNJ,N , mD2,J y mB2,N se representan en las matrices correspondientes. Para las clases Clase N, Clase=, ClaseE )unto con la clase ClaseD, y Clase>, las frecuencias de acceso de los m+todos se presentar"n como las sumas de las frecuencias de los m+todos de las clases mencionados anteriormente. .as"ndose en la e;plicacin dada para el caso de los atributos simples y m+todos simples, se tiene, adicionalmente a los m+todos especificados al principio del p"rrafo, los siguientes grupos de m+todos4 MN contiene los m+todos de la clase ClaseN M= contiene los m+todos de la clase Clase= ME contiene los m+todos de la clases ClaseE y ClaseD M> contiene los m+todos de la clase Clase> :a misma consideracin se puede aplicar a los atributos.

/espu+s de preparar KM#M, MM#M (si es necesario) y M(#M, aplicar la bAs&ueda e;'austi-a con un ni-el de granularidad espec,fico y obtener el es&uema de fragmentacin de los atributos, la pregunta &ue -iene es cmo propagar la fragmentacin. :a forma de 'acerlo es e;actamente la misma como en el primer caso de atributos simples y m+todos simples4 comen*ando desde la ra,* para cada fragmento se anali*a los atributos propios de cada clase. /espu+s se propaga esta fragmentacin 'acia las subclases. n cada subclase se refle)a primero la fragmentacin 'eredada y solo despu+s se anali*a la propia fragmentacin de esta subclase. Finalmente, se aplica la fragmentacin a estos atributos propios de la subclase en la misma manera como se 'i*o con los atributos en la ra,*. ste proceso se repite recursi-amente 'asta el ni-el i de granularidad dado. Para las clases de ni-el mayor &ue i, se aplica el concepto del grupo de atributos indi-isibles, el cual se e;plic anteriormente. /e los casos -istos anteriormente, &ueda por -er el Altimo, de atributos comple)os y m+todos comple)os. ... %tributos com-lejos 2 m3todos com-lejos Se puede -er &ue este caso ya fue incluido en los casos anteriores. Para todos los casos, el algoritmo aplicado es el mismo &ue el presentado para atributos simples y m+todos simples e;cepto el siguiente refinamiento para el caso de las llamadas anidadas de los m+todos4 Si las llamadas anidadas e;isten, se debe preparar MM#M y multiplicarla por KM#M antes de reali*ar el segundo paso. 4. !ON!(USIONES Son muc'os aspectos &ue se debe considerar en las .//$ &ue permiten me)orar el desempe%o en comparacin con un sistema relacional no distribuido. #no de estos aspectos es la adecuada forma de fragmentar los datos. :os algoritmos de la fragmentacin -ertical proponen la distribucin de atributos en diferentes nodos, lo &ue asegura el me)or desempe%o en un ambiente dado. stos algoritmos usan matrices (#M o ((M. :a matri* (#M recopila la informacin sobre la frecuencia de uso de los atributos por las transacciones y ((M se%ala la ?afinidad@ de pare)as de atributos. (un&ue se desarrollaron in-estigaciones para encontrar formas de distribuir los datos en un ambiente orientado a ob)etos, +stos no usan ninguna de estas matrices. :a ra*n principal es &ue, aun&ue se considera ./66 como el caso general de ./$, toda-,a no se 'an encontrado los correspondientes elementos generali*ados para poder ser usados en este ambiente de orientacin a ob)etos. Como la matri* (#M presenta una informacin m"s general, en este art,culo se e;puso la forma de obtenerla en ./66, bas"ndose en nue-as matrices del uso de m+todos por las transacciones (KM#M), del uso de atributos por los m+todos (M(#M) y del uso de los m+todos por m+todos (MM#M). (dem"s, se especific un algoritmo general de fragmentacin tomando en cuenta la e;istencia de cuatro tipos de ambientes4 atributos simples y m+todos simples, atributos simples y m+todos comple)os, atributos comple)os y m+todos simples y atributos comple)os y m+todos comple)os. Por falta de algoritmos 'eur,sticos de fragmentaciones, se propuso el uso de bAs&ueda e;'austi-a y aplicacin de e-aluador de particiones para la seleccin del me)or es&uema de particionamiento. /ependiendo del ni-el de ?granularidad@ (profundidad de )erar&u,a de clases &ue se desea fragmentar), se puede modificar los datos en las matrices para respetar los re&uerimientos del usuario con respecto a la distribucin de los atributos en diferentes fragmentos. Como las ./66 en general se representan en forma de las estructuras )er"r&uicas, adicionalmente a la e;istencia de las matrices y algoritmos de particionamiento, ellas necesitan resol-er el problema

de la propagacin de la fragmentacin de clases. (un&ue este aspecto se puede solucionar en teor,a, presentando las clases en forma de grafos, las implementaciones reales se%alar"n si se )ustifica incorporar las posibilidades de fragmentar en un mane)ador de bases de datos distribuidas orientadas a ob)etos y no empeorar el desempe%o del sistema. 5. &I&(IO)R%FI% C'a<ra-art'y, S., Mut'ural, R., 8aradara)an, $., y 5a-at'e, S... ?(n 6b)ecti-e Function for 8ertically Partitioning $elations in /istributed /atabases and its (nalysis@. 'istributed and $arallel 'atabases, 8ol. N , 5o. J, J11=. C'u Pai-C'eng. ?( transaction 6riented (pproac' to (ttribute Partitioning@. )nformation Systems, 8ol. JD, 5o.2, J11N. C'u, S. y !eong, !.K. ?( Kransaction .ased (pproac' to 8ertical Partitioning for $elational /atabase Systems@. )EEE !ransactions on Software Engineering, 8ol. J1, 5o. B, (gosto J11=. Cornell, /. y Fu, P. ?( 8ertical Partitioning (lgorit'm for $elational /atabases@. $roc. !hird )nternational *onference on 'ata Engineering, Febrero J1BD. *eife, C.!. y .ar<er, G. ?( Compre'ensi-e (pproac' to Cori*ontal Class Fragmentation in a /istributed 6b)ect .ased System@. !echnical +eport, (d-anced /atabase Systems :aboratory, /epartment of Computer Science, #ni-ersity of Manitoba, Canada, 6ctober J112. Iruber, 6. y (msaleg, :. ?6b)ect Irouping in 6S@ en M.K. 6*su, #./ayal y P.8aldurie* (eds.) 'istributed &bject Management. Morgan Gaufman Publis'ers, San Mateo, Ca J112. Cammer, M. y 5iammir, .. ?( Ceuristic (pproac' to (ttribute Partitioning@. $roc. #*M S)GM&' )nternational *onference on Management of 'ata. .oston, M(, J1D1. Coffer, R.(. y Se-ereance, /.I. ?K'e #se of Cluster (nalysis in P'ysical /atabase /esign@. $roc. ,irst )ntenational *onference on -ery .arge 'ata /ases. Fraging'am, M(, Setiembre J1DE. Garlapalem, G. y :i, 6. ?Partitioning Sc'emes for 6b)ect 6riented /atabases@. !echnical +eport, #ni-ersity of Science and Kec'nology, /epartment of Computer Science Clear Sater .ay, GaTloon, Con< Gong, (gosto J112. Garlapalem, G. 5a-at'e, (... y Morsi, M. ?!ssues in /istribution /esign@ en M.K. 6*su, #. /ayal y P. 8aldurie* (eds.) 'istributed &bject Management. Morgan Gaufman Publis'ers, San Mateo, Ca. J112. Gim, S. ?(rc'itecture of t'e 6$!65 5e;t-Ieneration /atabase Systems@ en M. Stone-bar<er +eadings in 'atabase Systems. Morgan Gaufman Publis'ers, J112. :in, U., 6rloTs<a, M. y V'ang, F. ?( Irap' .ased Cluster (pproac' for 8ertical Partitioning in /atabase Systems@. 'ata 0 1nowledge Engineering, 8ol. JJ, J11=. MalinoTs<i, . ?Fragmentation Kec'ni&ues for /istributed 6b)ect-6riented /atabases@. !esis de Maestr2a. #ni-ersidad de Florida en Iaines-ille, J11>.

5a-at'e, S., Ceri, I., Sieder'old y /ou, R. ?8ertical Partitioning (lgorit'm for /atabase /esign@. #*M !ransaction on 'atabase Systems, 8ol. 1, 5o.2, /iciembre J1B2. 5a-at'e, S. y $a, M. ?8ertical Partitioning for /atabase /esign4 ( Irap'ical (lgorit'm@. #*M S)GM&', Portland, Rune J1B1. Pernul, I., Garlapalem, G. y 5a-at'e, S... ?$elational /atabase 6rgani*ation .ased on 8ieTs and Fragments@. $roc. of the Second )nternational *onference on 'ata and Expert Systems #pplications, J11J.

You might also like