11.04.2013 Views

gestão de dados partilhados em ambientes de computação móvel

gestão de dados partilhados em ambientes de computação móvel

gestão de dados partilhados em ambientes de computação móvel

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

18 CAPÍTULO 2. PRINCÍPIOS GERAIS<br />

Nas bases <strong>de</strong> <strong>dados</strong> orientadas para os objectos (BDOO), os objectos são a unida<strong>de</strong> <strong>de</strong> manipulação<br />

dos <strong>dados</strong>. No entanto, os objectos são geralmente agrupados <strong>em</strong> páginas aquando da sua criação e,<br />

<strong>em</strong> alguns sist<strong>em</strong>as, reagrupados usando algoritmos <strong>de</strong> agrupamento (clustering) [165, 27, 55]. Para<br />

melhorar o <strong>de</strong>s<strong>em</strong>penho, as BDOO inclu<strong>em</strong> um subsist<strong>em</strong>a <strong>de</strong> replicação secundária (caching), no qual<br />

os clientes ou os servidores mantêm <strong>em</strong> m<strong>em</strong>ória cópias <strong>de</strong> um conjunto <strong>de</strong> objectos ou páginas <strong>de</strong><br />

objectos [23, 109].<br />

Para permitir a operação durante períodos <strong>de</strong> <strong>de</strong>sconexão é necessário obter cópias <strong>de</strong> todos os ob-<br />

jectos que vão ser acedidos. No entanto, como os objectos são geralmente <strong>de</strong> pequena dimensão (por<br />

ex<strong>em</strong>plo, na base <strong>de</strong> <strong>dados</strong> dos testes <strong>de</strong> referência OO7 [22], a dimensão média dos objectos é 51 bytes<br />

no sist<strong>em</strong>a Thor [100]) e <strong>em</strong> muito elevado número, <strong>de</strong>terminar os objectos que <strong>de</strong>v<strong>em</strong> ser replicados é<br />

extr<strong>em</strong>amente complexo. Note-se que o agrupamento dos objectos <strong>em</strong> páginas não simplifica o processo<br />

<strong>de</strong> análise porque os objectos e as suas ligações têm <strong>de</strong> ser tratados individualmente.<br />

Apesar <strong>de</strong> os objectos ser<strong>em</strong> a unida<strong>de</strong> <strong>de</strong> manipulação, as aplicações ten<strong>de</strong>m a manipular objectos<br />

complexos compostos por um grafo <strong>de</strong> objectos simples. O sist<strong>em</strong>a DOORS, apresentado no capítulo 3<br />

<strong>de</strong>sta dissertação, adopta uma solução <strong>de</strong> replicação secundária parcial <strong>em</strong> que se explora esta obser-<br />

vação. Assim, a unida<strong>de</strong> <strong>de</strong> replicação secundária é o grupo <strong>de</strong> objectos fort<strong>em</strong>ente interligados que<br />

<strong>de</strong>fin<strong>em</strong> um objecto complexo — por ex<strong>em</strong>plo, num documento estruturado, uma secção representa uma<br />

unida<strong>de</strong> <strong>de</strong> replicação secundária (caching), <strong>em</strong>bora seja composta por múltiplos objectos. Como cada<br />

objecto complexo <strong>de</strong>fine uma caixa negra (i.e., apenas po<strong>de</strong> ser acedido através da sua interface), o<br />

sist<strong>em</strong>a <strong>de</strong> replicação apenas lida com objectos complexos. Os programadores, ao <strong>de</strong>senhar<strong>em</strong> os ob-<br />

jectos manipulados pelas aplicações são responsáveis por i<strong>de</strong>ntificar os objectos complexos. Assim, a<br />

granularida<strong>de</strong> da replicação secundária é <strong>de</strong>finida tendo <strong>em</strong> conta a s<strong>em</strong>ântica dos <strong>dados</strong>.<br />

Nos sist<strong>em</strong>as <strong>de</strong> bases <strong>de</strong> <strong>dados</strong> relacionais que suportam <strong>computação</strong> <strong>móvel</strong> [115, 142] é usual<br />

manter cópias <strong>de</strong> subconjuntos dos <strong>dados</strong>, os quais são seleccionados através <strong>de</strong> interrogações à base <strong>de</strong><br />

<strong>dados</strong> (usando variantes do comando select). Desta forma, po<strong>de</strong> adaptar-se a granularida<strong>de</strong> das cópias<br />

locais às necessida<strong>de</strong>s específicas <strong>de</strong> cada utilizador. A s<strong>em</strong>ântica dos <strong>dados</strong> e suas interligações <strong>de</strong>v<strong>em</strong><br />

ser exploradas nas interrogações para obter subconjuntos coesos <strong>de</strong> <strong>dados</strong> (i.e., mantendo s<strong>em</strong>pre que<br />

possível a integrida<strong>de</strong> referencial). No sist<strong>em</strong>a Mobisnap, apresentado no capítulo 7 <strong>de</strong>sta dissertação,<br />

usa-se uma solução s<strong>em</strong>elhante.<br />

Nas soluções apresentadas nesta dissertação apenas se fornec<strong>em</strong> os mecanismos que permit<strong>em</strong> <strong>de</strong>fi-<br />

nir, obter e manter cópias parciais locais dos <strong>dados</strong>. O probl<strong>em</strong>a <strong>de</strong> <strong>de</strong>terminar <strong>de</strong> forma eficiente quais<br />

os <strong>dados</strong> que <strong>de</strong>v<strong>em</strong> ser obtidos para suportar a operação <strong>de</strong>sconectada está fora do âmbito <strong>de</strong>ste trabalho.<br />

Algumas soluções são apresentadas <strong>em</strong> [87, 91].

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!