Análise Comparativa de Sistemas de Banco de Dados Em

Transcrição

Análise Comparativa de Sistemas de Banco de Dados Em
FACULDADE FARIAS BRITO
CIÊNCIA DA COMPUTAÇÃO
JOAO CARLOS XENOFONTE MATIAS
Análise Comparativa de Sistemas de Banco de Dados Em
Ambientes de Dispositivos Móveis
FORTALEZA, 2010
JOAO CARLOS XENOFONTE MATIAS
Análise Comparativa de Sistemas de Banco de Dados Em
Ambientes de Dispositivos Móveis
Monografia apresentada para obtenção dos
créditos da disciplina Trabalho de Conclusão do
Curso da Faculdade Farias Brito, como parte das
exigências para graduação no Curso de Ciência da
Computação.
Orientador: Ricardo Wagner Cavalcante Brito,
MSc.
FORTALEZA, 2010
3
ANÁLISE COMPARATIVA DE SISTEMAS DE BANCO DE
DADOS EM AMBIENTES DE DISPOSITIVOS MÓVEIS
João Carlos Xenofonte Matias
PARECER __________________
NOTA:
FINAL (0 – 10): _______
Data: ____/____/_________
BANCA EXAMINADORA:
___________________________________
Ricardo Wagner Cavalcante Brito, MSc.
(Orientador)
___________________________________
Nome e titulação
(Examinador)
__________________________________
Nome e titulação
(Examinador)
4
AGRADECIMENTOS
Agradeço primeiramente à Deus, que sempre esteve presente em minha vida me
dando forças pra conseguir meus planos e objetivos.
Aproveito para dedicar este trabalho a toda minha família, em especial a minha tia
Maria Matias, que contribuiu na construção desse trabalho, aos meus queridos pais que sempre
me apoiaram na minha vida e foram e sempre serão fundamentais para a minha existência.
Agradeço também a todos os professores e colegas de graduação da Faculdade
Farias Brito que contribuíram nesse trabalho, em especial ao meu orientador Ricardo Wagner
Cavalcante Brito pela sua paciência, compromisso e seriedade sempre demonstrado ao longo
do desenvolvimento desse trabalho.
Por fim, agradeço a todos que colaboraram diretamente ou indiretamente na
realização deste trabalho.
5
RESUMO
O conceito de mobilidade, no que se refere à área de computação, vem se tornando cada dia
mais utilizado em nosso cotidiano. Já são inúmeras as opções de dispositivos e de aplicativos
disponíveis para os usuários e essa quantidade só tende a crescer ainda mais. Em conjunto com
as aplicações que estão sendo desenvolvidas faz-se necessária a utilização de sistemas de
bancos de dados que sejam adequados nesse cenário. Este trabalho tem como objetivo geral
analisar algumas características de alguns dos principais Sistemas Gerenciadores de Bancos de
Dados Móveis existentes no mercado, realizando um estudo comparativo baseado em certos
critérios previamente estabelecidos. Essa análise irá contribuir com uma avaliação de
desempenho desses sistemas e um documento que pode ser utilizado como fonte de escolha do
sistema que mais se aplica em determinadas situações.
6
SUMÁRIO
INTRODUÇÃO ....................................................................................................................................................... 9
1.
COMPUTAÇÃO MÓVEL......................................................................................................................... 12
1.1 - CARACTERÍSTICAS DA COMPUTAÇÃO MÓVEL ............................................................................................ 15
1.1.1 Portabilidade....................................................................................................................................... 15
1.1.2 – Comunicação .................................................................................................................................... 16
1.1.3 – Mobilidade........................................................................................................................................ 17
1.1.4 – Adaptação......................................................................................................................................... 18
1.1.5 – Gerência de Energia......................................................................................................................... 20
1.1.6 – Conectividade Fraca ........................................................................................................................ 20
1.1.7 – Replicação de Dados ........................................................................................................................ 21
2.
AMBIENTES DE BANCO DE DADOS MÓVEIS.................................................................................. 24
2.1 - ARQUITETURA DE BANCO DE DADOS MÓVEIS ............................................................................................ 25
2.1.1– Arquitetura Cliente-Servidor ............................................................................................................. 25
2.1.2– Agentes Móveis .................................................................................................................................. 27
2.2 - PARADIGMAS DE ACESSO AOS DADOS ......................................................................................................... 27
2.2.1 – Difusão de dados (Broadcast) .......................................................................................................... 28
2.2.2
– Caching de dados...................................................................................................................... 28
2.3 - GERENCIAMENTO DE TRANSAÇÕES MÓVEIS ................................................................................................ 29
2.3.1
– Modelos de transações móveis.................................................................................................. 30
2.4 - PROCESSAMENTOS DE CONSULTAS ............................................................................................................. 31
2.5 - REPLICAÇÕES DE DADOS ............................................................................................................................. 32
2.6 - RECUPERAÇÕES DE FALHAS ........................................................................................................................ 33
3.
SISTEMAS GERENCIADORES DE BANCO DE DADOS MÓVEIS ................................................. 34
3.1 - ORACLE LITE .............................................................................................................................................. 35
3.2 - DB2 EVERYPLACE ...................................................................................................................................... 36
3.3 - MICROSOFT SQL SERVER 2005 MOBILE EDITION ...................................................................................... 39
3.4 - SYBASE SQL ANYWHERE ........................................................................................................................... 41
4.
ANÁLISE COMPARATIVA DOS SISTEMAS DE BANCO DE DADOS MÓVEIS COMERCIAIS44
4.1 RECUPERAÇÃO DE FALHAS ........................................................................................................................... 44
4.1.1
DB2 Everyplace ........................................................................................................................... 44
4.1.2
Sybase SQL Anywhere Studio ...................................................................................................... 45
4.1.3
Oracle Lite ................................................................................................................................... 46
4.1.4
SQL Server CE............................................................................................................................. 47
4.1.5
Tabela Comparativa de Recuperação de Falhas......................................................................... 48
4.2
SEGURANÇA ............................................................................................................................................ 49
4.2.1
Oracle Lite ................................................................................................................................... 49
4.2.2
DB2 Everyplace ........................................................................................................................... 49
4.2.3
SQL Server Compact Edition....................................................................................................... 50
4.2.4
SQL Anywhere Studio .................................................................................................................. 51
4.2.5
Tabela Comparativa da Segurança dos Bancos de dados Móveis .............................................. 52
4.3
PERFORMANCE ........................................................................................................................................ 53
4.3.1
DB2 Everyplace ........................................................................................................................... 54
4.3.2
Oracle Lite ................................................................................................................................... 54
4.3.3
Sybase SQL Anywhere Studio ...................................................................................................... 55
4.3.4
SQL Server Compact Edition 2000.............................................................................................. 55
4.2.5
Tabela Comparativa do Desempenho dos Bancos de dados Móveis ........................................... 56
5.
CONCLUSÃO............................................................................................................................................. 57
6.
REFERÊNCIAS BIBLIOGRÁFICAS...................................................................................................... 58
7
LISTA DE FIGURAS
Figura 1 Componentes fundamentais da computação móvel..............................................
13
Figura 2 Arquitetura da Computação Móvel..................................................................
14
Figura 3 Os estados de uma operação de desconexão....................................................
21
Figura 4 Modelo de reintegração de dados.....................................................................
22
Figura 5 Ambiente de computação móvel em uma arquitetura Cliente / Servidor
25
clássica......................................................................................................
Figura
6
Estratégias
de
transmissão
por
difusão
pull-based
e
push-
based....................................................................................................
28
Figura 7 Replicação de dados – Base Consolidada e base remota..................................
32
Figura 8 Visão geral dos componentes da Oracle Lite...................................................
36
Figura 9 Desenvolvimento e sincronização do DB2 Everyplace....................................
38
Figura 10 Arquitetura do SQL Server Mobile................................................................
40
Figura 11 Relacionamento entre o servidor e o cliente ..................................................
41
8
LISTA DE TABELAS
Tabela 1 Resumo das principais características dos produtos analisados em relação à
recuperação de falhas..................................................................................
48
Tabela 2 Resumo das principais características dos produtos analisados em relação à
segurança dos dados....................................................................................
53
Tabela 3 Resumo das principais características dos produtos analisados em relação à
56
performance dos bancos de dados móveis..................................................
9
INTRODUÇÃO
Sendo a área da computação móvel ainda relativamente recente, percebe-se um
crescimento no interesse por parte dos usuários em relação à utilização dos benefícios que essa
tecnologia pode oferecer, a qual depende diretamente de dispositivos portáteis de alta
eficiência e acesso às informações através de redes sem fio. Sendo assim, a junção de
dispositivos móveis com redes sem fio está conquistando novos espaços, beneficiando e
proporcionando importantes melhorias aos usuários que utilizam essa tecnologia (MATEUS,
2004).
Segundo PITOMBEIRA (2006), devido à crescente popularização dos dispositivos
móveis e o advento de redes de transmissão sem fio cada vez mais rápidas e mais presentes em
nosso cotidiano, a computação móvel está sendo cada vez mais utilizada por usuários que
trabalham ou necessitam dos benefícios que essa tecnologia computacional pode oferecer.
A característica que mais se destaca na computação móvel é que ela possibilita que
usuários possam estabelecer comunicação com outros usuários e gerenciar seu trabalho
enquanto se deslocam fisicamente, podendo se comunicar com outros dispositivos móveis,
independente da localização física. Sendo assim, é importante que a abrangência da
comunicação sem fio e a popularização dos dispositivos portáteis estejam cada vez mais
disponíveis para os usuários (MATEUS, 2004).
Tal característica é especialmente importante para organizações geograficamente
dispersas. Podemos tomar como exemplos o policiamento de trânsito, serviços de previsão do
tempo, serviços de táxi, comunicações sobre o mercado financeiro e aplicações sobre agências
de informação (ELMASRI; NAVATHE, 2002).
Em aplicações dessa natureza, os usuários freqüentemente precisam efetuar
processos de sincronização entre os dispositivos móveis e os sistemas desktop. Assim, todas as
10
informações presentes no dispositivo são sincronizadas com as informações da estação-base.
Essas informações estão normalmente armazenadas em arquivos de banco de dados. Com isso,
o usuário pode se deslocar fisicamente para desempenhar sua atividade enquanto todas as
novas informações recolhidas in loco são persistidas em seu dispositivo. Ao final da tarefa, o
usuário pode submeter essas novas informações para o servidor, tanto de forma remota, através
de algum canal de comunicação, ou local, através do processo tradicional de sincronização.
As informações presentes nas aplicações dos usuários dos dispositivos móveis
eram, inicialmente, armazenadas em arquivos simples, sem qualquer característica de banco de
dados. Com o passar dos anos, varias aplicações foram surgindo (PITOMBEIRA et al 2004) e
a utilização de bancos de dados relacionais para dispositivos móveis tornou-se de fundamental
importância para as aplicações.
Atualmente, várias empresas que trabalham com sistemas de banco de dados
convencionais, dentre elas a Oracle, IBM, Microsoft e Sybase, já apresentam versões
específicas de seus bancos para dispositivos móveis, respectivamente, Oracle Lite, DB2
Everyplace, Microsoft SQL Server 2005 Mobile Edition e o Sybase SQL Anywhere. Este
último, segundo uma pesquisa do Gartner Dataquest de 2002, publicada na PC Magazine,
estava sendo utilizado na época em aproximadamente 65% do mercado de banco de dados
móveis (GONÇALVES, 2005).
No entanto, para que essa tecnologia esteja plenamente ativa na sociedade, existe a
dependência de alguns fatores, tais como, a diminuição do custo dos dispositivos portáteis de
alto desempenho e uma melhoria na estrutura física e abrangência das redes sem fio. Outro
importante fator para que os usuários que acessam informações remotamente é escolha de
quais bancos de dados irá utilizar, já que eles podem afetar diretamente o desempenho do
acesso aos dados (PITOMBEIRA, 2006).
Uma importante motivação para muitos trabalhos atuais nessa área é a análise de
como a limitação de recursos computacionais dos dispositivos móveis pode ser minimizada.
Apesar dos diversos trabalhos acadêmicos e comerciais atualmente sendo desenvolvidos com
esse objetivo, essa característica dos dispositivos móveis continua sendo um fator limitante
para a maior parte das aplicações.
11
Apesar dos avanços conquistados nos últimos anos, os dispositivos móveis ainda
são menos seguros e confiáveis do que os ambientes dekstop tradicionais, já que eles podem ser
perdidos ou roubados com mais facilidade e a própria natureza da rede sem fio oferece menos
segurança de informação. Esses dispositivos ainda apresentam recursos computacionais mais
limitados, tais como restrição de energia, reduzida área de memória e baixo poder de
processamento, influenciando diretamente na decisão do usuário na utilização da computação
móvel (ITO, 2003).
Assim, o mais determinante na escolha de pesquisa e estudos relativos a tipos de
banco de dados móveis é que estes estão diretamente relacionados com as novas tecnologias de
computação móvel que estão surgindo e sendo cada vez mais aprimorados a fim de ter melhor
desempenho para seus usuários. Deste modo, novos desafios estão sendo pesquisados, tais
como: melhores transmissões de dados, maior integridade dos dados compartilhados, e
principalmente a segurança de informações sigilosas, já que dispositivos portáteis têm baixa
segurança de seus dados (GONÇALVES, 2005).
O presente trabalho justifica-se na medida em que visa analisar determinadas
características importantes dos principais Sistemas Gerenciadores de Banco de Dados Móveis e
propor um estudo comparativo entre esses sistemas conforme uma série de critérios
previamente estabelecidos, os quais são: Recuperação de Falhas, Segurança de Dados e
Performance.
12
1. COMPUTAÇÃO MÓVEL
A computação móvel surgiu motivada pela necessidade do usuário de poder
trabalhar com seu sistema computacional enquanto se locomove fisicamente. Assim, a
computação móvel se caracteriza por permitir que seus usuários abstraiam a questão da
localização física e possam continuar trabalhando com seus dispositivos computacionais
mesmo estando em trânsito.
Para que essa funcionalidade seja possível, faz-se necessário que toda uma infraestrutura computacional esteja presente. A comunicação wireless (sem-fio), por exemplo, é um
dos requisitos fundamentais dessa tecnologia, já que ela é usada em locais onde o uso das redes
estacionárias não é possível ou é economicamente inviável. Existindo esse tipo de
comunicação, o usuário pode acessar uma página web dentro de um avião ou mandar um email enquanto está dentro de um carro em um congestionamento. Obviamente, isso não seria
possível se o usuário necessitasse do cabeamento físico em seu dispositivo.
Sendo uma ampliação da computação distribuída por utilizar a comunicação sem
fio, a computação móvel compõe-se por uma arquitetura basicamente formada por
computadores fixos. Tais equipamentos, ao contrário dos dispositivos móveis, fazem parte da
rede estacionária a qual localização não pode ser alterada. Dessa maneira, as aplicações para a
computação móvel são projetadas considerando a mobilidade do usuário, limitação de energia
do dispositivo e variações de latência e largura de banda de redes sem fio (ENDLER; SILVA,
2000).
Apresentando fatores como a mobilidade e a praticidade, que fazem da computação
móvel um paradigma recente da computação, segundo Pitombeira (2006), os elementos que
compõem esse ambiente móvel são: elementos relacionados ao software como os agentes
13
móveis, aplicações e serviços que suportam a mobilidade; os elementos de hardware
compostos pelos dispositivos móveis como telefones celulares e notebooks; e os usuários que
interagem com este ambiente acessando serviços e solicitando informações.
A computação móvel, conhecida também como computação nômade, é a junção de
três importantes propriedades: computação, comunicação e mobilidade, conforme mostrado na
Figura 1. No componente computação, encontram-se os dispositivos portáteis que realizam as
operações móveis junto ao usuário. Já, na comunicação, manifesta-se a troca de mensagens através
da rede do tipo wireless entre os elementos desse ambiente. Por fim, a mobilidade está relacionada
à troca de localização feita pelo usuário móvel (LIU, MARLEVI & MAGUIRE, 1996).
Figura 1 – Componentes fundamentais da computação móvel.
Assim como a grande maioria dos aplicativos baseados em sistemas desktop, os
principais Sistemas Gerenciadores de Bancos de Dados (SGDBs) também já foram
popularizados
nos
ambientes
móveis.
Segundo
Gonçalves
(2005),
os
principais
desenvolvedores de tais sistemas já estão presentes no mercado da computação móvel, fazendo
com que esses softwares busquem uma integração dos dados destas aplicações com os
servidores de bancos de dados localizados na rede fixa.
Conforme podemos identificar na Figura 2, nota-se a presença de três elementos
constantes na arquitetura da computação móvel: os computadores fixos, os quais são
dispositivos que não alteram sua localização dinâmica; as estações base, caracterizadas como
estações que apresentam suporte à mobilidade e possuem interface wireless e, por fim, os
dispositivos móveis, os quais podem ser agrupados em sub-redes ou células que deverão estar
ligadas às estações base.
14
Os host móveis (computadores portáteis) se comunicam com as estações base e
vice-versa através de canais sem fios de largura de banda limitada. Sendo assim, cada estação
base gerencia os dispositivos móveis que estão dentro de sua célula, isto é, no interior do seu
domínio geográfico. Se o computador portátil mudar sua localização, alterando a estação base,
o processo de recuperação de dados não é afetado, já que a arquitetura é projetada de forma a
emular uma arquitetura cliente/servidor (ELMASRI, 2005; SILBERCHATZ, 1999).
Figura 2 – Arquitetura da Computação Móvel.
Fonte: (BRAZ, 2002).
É interessante ressaltarmos a existência das redes ad hoc (MANET) que pode ser
chamada também de rede móvel independente a qual oferece um ambiente dinâmico onde os
nós da rede, os quais são os servidores e clientes móveis, tem autonomia de sair e entrar na
rede. É importante destacar também que em uma rede ad hoc, segundo Holanda (2007), cada
dispositivo móvel funciona como um roteador se interligando com outros computadores
móveis, dessa maneira a comunicação entre dois hosts é possível mesmo que o host origem e o
15
destino não estejam na área de cobertura um do outro, neste caso, os pacotes de informações
são conduzidos através de outros hosts que estejam no caminho até que cheguem ao destino.
É perceptivo que a diferença e vantagem entre as redes sem fio infra-estruturada e
as redes ad hoc é que uma rede MANET de uma infra-estrutura de rede pré-estabelecida ou de
qualquer tipo de equipamento fixo (HOLANDA, 2007).
1.1 - Características da Computação Móvel
A seguir, serão descritas algumas das características da computação móvel consideradas
como problemas ou limitações e que representam importante objeto de pesquisa e
desenvolvimento nesta área.
1.1.1 Portabilidade
Segundo Trasel (2005), os computadores comuns não foram feitos para ser portáteis e
assim as montadoras desses dispositivos tiveram mais liberdade em relação ao espaço de
cabeamento e dissipação de calor para esses equipamentos. Em se tratando dos dispositivos
portáteis, devem ser levados em conta alguns fatores e propriedades como: durabilidade,
leveza, consumo de energia, dentre outros. Nesse sentido, algumas concessões podem ser feitas
para que se chegue a uma boa relação de funcionalidade/desempenho.
Amado (2002) elenca algumas dificuldades da computação móvel estabelecidas
pela portabilidade:
- Energia: relacionada ao tempo limitado de duração da bateria do dispositivo
móvel. Nos últimos anos, essa dificuldade vem sendo minimizada, já que novas
tecnologias estão sendo estudadas e implantadas, como por exemplo, alguns
dispositivos móveis sendo fabricados com telas LED;
- Segurança de dados e riscos de perda: com o aumento da praticidade de
locomoção e da portabilidade crescem os riscos de danos físicos, de perda ou roubo do
dispositivo móvel. Além disso, os dados podem ser mais fáceis de ser manipulados já
que esses computadores são menos seguros e confiáveis;
- Interface com o usuário: devido as reduzidas dimensões da tela desses
dispositivos, aplicações que precisam de abertura de várias janelas ao mesmo tempo
16
são inviáveis para alguns computadores portáteis, fazendo com que algumas
funcionalidades sejam diminuídas.
- Espaço de armazenamento: há uma sensível diferença no tamanho físico de
armazenamento entre os computadores portáteis e fixos, tendo como importante causa
o custo financeiro. Contudo, algumas estratégias tecnológicas estão sendo utilizadas
para reduzir esse problema, tais como, a compressão automática de arquivos e o
acesso a dados remotamente, dentre outros, além da utilização de outros tipos de
memória como é o caso da memória Flash.
1.1.2 – Comunicação
Considerando que a mobilidade é um principio básico da computação móvel, a
comunicação sem fio é um fator fundamental na implantação dessa tecnologia, sendo preciso
que ela esteja presente em todos os lugares, a fim de garantir a conectividade do usuário com
outros dispositivos.
Apresentando um custo de implantação maior do que de uma rede comum, faz-se
importante ainda ressaltar que essas redes sem fio se comunicam através de sinais, podendo
sofrer interferências, ruídos ou ecos. Como exemplos dessa tecnologia podem ser destacados o
Bluetooth, WiFi e a telefonia celular.
Amado (2002) apresenta algumas dificuldades para que haja uma boa comunicação
sem fio na computação móvel, dentre elas podemos destacar:
- Desconexão: nas redes sem fio são mais frequentes as desconexões do que nas
redes cabeadas, podendo assim interferir em processos e aplicações que precisam estar
conectados na rede. Segundo Pitombeira (2006), essa desconexão pode ser voluntária,
ocorrendo quando o usuário não deseja se conectar à rede, ou pode ser forçada,
quando o usuário deseja se conectar à rede, mas ela não está disponível por questão de
cobertura do sinal ou a falta do canal de comunicação;
- Variação de largura de banda: os fatores que podem conduzir a uma alta variação
na largura de banda podem também acarretar uma desconexão do dispositivo na rede,
já que esses fatores ocasionam alterações nas taxas de erro, sendo que, à medida que
essas taxas de erro aumentam mais e mais pacotes são perdidos;
17
- Riscos de segurança: é possível perceber que quanto mais uma rede se estende,
mais a segurança é comprometida. Isso se torna ainda mais complicado quando se tem
que fornecer níveis de acessibilidade a um usuário móvel.
1.1.3 – Mobilidade
Sendo essa característica marcada pela capacidade do equipamento móvel de
mudar de localização conectada a rede, alguns dados que são considerados estáticos para
dispositivos fixos podem se tornar dinâmicos a fim de atender a esses computadores móveis.
Dessa maneira, segundo Cunha (2003), um dos grandes desafios presente no ambiente móvel,
diz respeito à tentativa de obter uma diminuição de custo de comunicação formada quando se
deseja conseguir a localização de uma unidade móvel conectada a rede. Então é esperado o
surgimento de novos algoritmos e estruturas de dados que venham a minimizar este problema.
Também não podem ser desprezadas as questões relacionadas à segurança dos
dados manipulados na rede, já que as redes sem fio tendem a ser mais vulneráveis à
interceptação de mensagens e ao rastreamento de estações móveis, ficando, assim, com a
segurança dos dados mais comprometida do que uma rede fixa.
Conforme Cunha (2003), existem diversos cenários que envolvem a computação
móvel, dependendo da mobilidade de cada elemento, os quais podem ser destacados:
- Computação nômade, na qual o hardware pode se mover;
- Computação sem fio, onde o usuário móvel pode se locomover por um limite de
estações conectadas à rede;
- Código e Agente Móvel, em que a aplicação pode se mover;
- Computação Pervasiva (pervasive computing) onde o usuário móvel se move
executando aplicações com códigos e dados móveis.
Através da mobilidade, percebe-se que o usuário móvel passa a obter diferentes
taxas de transmissão de dados, dependendo assim da localidade em que ele se encontra. Para
Mateus e Loureiro (1998), essa mudança depende de vários fatores, tais como: interferências
nas transmissões de dados, segurança, energia disponível no dispositivo móvel,
heterogeneidade, disponibilidade de canais de comunicação e a determinação da localidade de
um host móvel.
18
Ainda conforme identificados nos estudos de Cunha (2003), quando o usuário pode
se mover por um conjunto fixo de estações conectado à rede (computação sem fio), a
mobilidade pode inserir alguns problemas, tais como:
- Migração de endereço: com a constante variação da localização dinâmica do
usuário, diversos pontos de acesso à rede vão ser acessados, e, assim, um sistema
distribuído deve ser capaz de guardar o endereço de um host sem afetar o desempenho
do processamento;
- Informação dependente da localidade: como o endereço de rede de um dispositivo
móvel altera constantemente, o caminho de comunicação sofre um aumento, quando o
mesmo visita um domínio (célula) vizinho, fazendo com que sua localização atual
interfira nos parâmetros de configuração, como respostas a consultas;
- Migração de localidade: como o caminho de comunicação pode crescer sem
proporções, poderá ocorrer à existência de ações que aumentem a latência e os riscos
de desconexões.
1.1.4 – Adaptação
Segundo Cunha (2003), uma das características que a computação móvel possui é a
habilidade de operar sobre um ambiente de computação sem fio, sendo que, nesse ambiente
estão presentes várias propriedades diferentes das encontradas nas redes fixas, como maior taxa
de erros e menor taxa de transmissão de dados. Sendo assim, os dispositivos móveis utilizados
na computação móvel, usualmente, apresentam limitações quanto à velocidade do
processamento dos dados e a capacidade de armazenamento.
Conforme Menkhaus (2002), para obterem serviços aceitáveis em um ambiente
móvel, os dispositivos portáteis necessitam de algum mecanismo de gerenciamento de
alterações do ambiente. Nesse sentido, esse fornecimento de serviços pode ser feito pela
adaptação, significando a capacidade de um algoritmo fornecer várias saídas apropriadas,
dependendo das características onde se encontra a unidade do cliente.
Frente a esta realidade, nota-se que essa característica da computação móvel não se
encontra muito presente nas redes fixas, já que as características desse ambiente são
praticamente estáveis, ao contrário das redes sem fio, as quais têm o seu ambiente mutável,
fazendo com que a presença da adaptação seja muito importante para garantir que as operações
sejam finalizadas com sucesso.
19
Seguem
três
planos
de
adaptação
conforme
apresentado
em
(SATYANARAYANAN, NARAYANAN,1999):
- Laissez-Faire: ocorre quando a aplicação é responsável por toda a adaptação
necessária;
- Aplicação Transparente: acontece quando o gerenciamento fixo é responsável
pela adaptação, ficando transparente para a aplicação;
- Aplicação Aware: junção dos modelos apresentados acima, pois a adaptação é
feita tanto pela aplicação móvel como pelo o sistema fixo.
Para a definição de uma arquitetura de adaptação, em um ambiente móvel, podem
ser observados alguns aspectos os quais fazem com que a aplicação possa se adaptar melhor ao
ambiente. Seguem descritos, a seguir, alguns desses aspectos (CUNHA, 2003):
- Disponibilidade de recursos: os recursos disponíveis na rede móvel precisam
reunir funcionalidades limitadas, adaptando-se às restrições de processamento e
energia, enquanto um host servidor, por exemplo, deve ser capaz de processar de
forma rápida, de modo que não seja comprometido o funcionamento dos dispositivos
móveis;
- Dados: para cada tipo de dados transmitidos há um tipo de adaptação exclusiva.
Podemos tomar como exemplo a transmissão de dados em um serviço FTP (protocolo
de transferência de arquivos), em que as variações da taxa de transmissões não afetam
a aplicação, enquanto nas transmissões de dados multimídias torna-se necessária a
realização de adaptações dependendo da largura de banda disponível;
- Desempenho: uma adaptação tem que ser planejada, de forma a não causar uma
perda geral do sistema. No surgimento de incapacidades, é importante que o usuário
móvel receba notificações. É importante também que a transferência dos dados
apresente técnicas que reduzam seu volume, adaptando-se às condições de
comunicações e diminuindo a velocidade de transmissão.
- Broadcast/Multicast: o motivo que mais se destaca em relação à utilização das
técnicas broadcast e multicast é que elas evitam que um mesmo dado seja enviado
várias vezes em um ambiente onde a largura de banda é pequena. Vale ressaltar que as
comunicações, na maior parte das redes fixas, são feitas através de transmissões
unicast.
20
1.1.5 – Gerência de Energia
Enquanto os computadores fixos foram produzidos para ficar conectados todo o
tempo a uma fonte de energia, nos equipamentos móveis isso não ocorre. Tais equipamentos
possuem uma bateria que influencia no seu peso e no seu tamanho, necessitando de recarga
frequentemente, de acordo com a utilização das funcionalidades desse equipamento móvel.
O aproveitamento ideal de energia é fundamental nos dispositivos móveis,
considerando-se que as baterias normalmente têm uma duração de carga reduzida,
comprometendo,
assim,
a
disponibilidade
do
recurso
de
hardware
(FLINN
&
SATYANARAYANAN, 1999). Esse fato torna-se um importante desafio para os projetistas
dessas unidades móveis, tornando-se fundamental que ocorra uma diminuição de consumo de
energia durante o funcionamento desse equipamento móvel.
1.1.6 – Conectividade Fraca
Para Cunha (2003), na computação móvel pode haver momentos em que os
equipamentos estejam temporariamente desconectados da unidade móvel. Tal estado pode
ocorrer em decorrência de problemas, na variação de taxas de ruído, pela energia
disponibilizada pela unidade móvel ou pela distribuição da largura de banda de rede de
comunicação, dentre outros.
Conforme Pitoura e Samaras (1998), as operações de desconexões envolvem três
estados distintos, descritas abaixo e ilustradas na Figura 3:
- Hoarding: nesse estado há um pré-carregamento de itens de dados nos dispositivo
móvel, podendo assim ter uma replicação de dados no cache local, ficando inacessível
para outros componentes da rede;
- Operações locais: nessa situação a unidade está desconectada da rede fixa, e assim
ela realiza operações sobre os dados localizados na memória local, após o
acontecimento do hoarding;
- Reconciliação: no momento da reconexão, os dados são atualizados nos
computadores fixos de acordo com os elementos decorrentes dos nós que operam
sobre esses dados, gerando uma situação de concorrência e garantindo a não
existência de inconsistências nos dados atualizados.
21
Figura 3 - Os estados de uma operação de desconexão.
Segundo Cunha (2003), quando a conexão é frequentemente perdida entre os
componentes de rede pode haver uma influência nas execuções de operações, ocasionando em
perda de desempenho. Para Mateus e Loureiro (1998), quando há uma alternância em períodos de
transferência de dados entre dispositivos móveis e fixos ou há uma falta total de conectividade
entre esses elementos, ocorre uma fraca conectividade, fazendo com que haja a interrupção da
execução de operações, sendo estes impedidos de serem finalizados com sucesso.
Assim, para a solução desses problemas, são apresentados alguns protocolos de
comunicação, os quais, sendo utilizados adequadamente, dão suporte a esses problemas
referentes à fraca conectividade, tais como os ressaltados abaixo por Cunha (2003):
- Protocolo de desconexão: garante que o dispositivo móvel continue atuando sobre
os dados mesmo durante um período de desconexão;
- Protocolo de desconexão parcial: possui a propriedade que dispõe de condições
independentes precipitadas para um possível estado de desconexão que possa ocorrer no
dispositivo móvel;
- Protocolo de handoff: possui a característica de retransmitir as informações
pertencentes ao equipamento móvel, que se desloca entre os domínios de uma área de
cobertura;
1.1.7 – Replicação de Dados
A computação móvel incide na manutenção das funcionalidades, que são
disponibilizadas pelos dispositivos portáteis enquanto se deslocam fisicamente, migrando em
diferentes localizações, fazendo-se necessária a conservação da conectividade entre os
componentes do sistema de forma transparente para o usuário móvel. Para isso, torna-se
22
adequado que exista a probabilidade do usuário manipular cópias de banco de dados sem estar
conectados na rede sem fio (Cunha, 2003).
Para Barbará (1999), a criação de réplicas de um arquivo ou conjuntos de arquivos
tem como objetivo central o crescimento da disponibilidade de dados e um melhor desempenho
das aplicações sobre essas informações, nos dispositivos móveis, fazendo com que essas
unidades móveis carreguem cópias redundantes, armazenadas no banco de dados. Essa técnica
pode ser considerada estratégica e importante, já que aperfeiçoa os recursos de rede e
hardware, aumentando a flexibilidade e escalabilidade em ambientes heterogêneos.
A base consolidada é a base de dados que contém os itens a serem replicados,
enquanto as bases remotas são aquelas que contêm um subgrupo dos dados da base consolidada
em um host. Ainda, conforme Cunha (2003), a reconciliação apresenta-se como o caminho
contrário dos dados copiados, pois, conforme a Figura 4, é possível identificar que, após serem
feitas operações de inserção, atualização ou exclusão dos dados, nas réplicas que estão na
unidade móvel, estas modificações são reintegradas na base de dados consolidada.
Figura 4 – Modelo de reintegração de dados.
Fonte: (BADRINATH & PHATAK, 1998).
Como percebido na Figura 4, é notada a presença de um quadro chamado Hoard,
manifestando um procedimento que traz o acúmulo das alterações realizadas no host móvel,
para assim serem propagadas juntamente como no instante da reintegração com o servidor. Tal
23
estrutura visa tanto diminuir a quantidade de requisições entre os componentes do sistema
como os custos envolvidos com a comunicação de rede (CUNHA, 2003).
24
2. AMBIENTES DE BANCO DE DADOS MÓVEIS
Com a expansão da computação móvel, várias características dessa tecnologia vêm
sendo aperfeiçoadas para melhor beneficiar a sociedade, pois com o grande avanço tecnológico
presente nos dispositivos portáteis, em relação ao tamanho, processamento e disco rígido do
equipamento, consequentemente há o crescimento dos usuários adeptos a essa tecnologia.
Segundo Galliano (2007), há um crescimento no número de problemas
relacionados à manutenção das propriedades ACID (Atomicidade, Consistência, Isolamento e
Durabilidade) na presença das mobilidades pessoal e terminal. Assim, as propriedades ACID
de uma transação devem ser mantidas em todas as atividades de gerenciamento de dados para
que os mecanismos de controle de concorrência e os esquemas de recuperação de banco de
dados assegurem isso. Sendo assim, faz-se necessário entender os efeitos da mobilidade na
distribuição de dados e nas propriedades ACID das transações.
Com a mobilidade dos dispositivos portáteis, a utilização de banco de dados, em
ambiente de computação móvel, tornou-se muito importante e desperta curiosidades, tendo em
vista a possibilidade de manipulação de dados tanto sob a forma conectada quanto sob a
fórmula desconectada, já que a manutenção de informações localmente admite uma ampla
independência da unidade móvel em relação à rede fixa (BRAZ, 2002).
Nesse capítulo, serão descritos alguns tópicos sobre a arquitetura dos bancos de
dados móveis, sendo também abordadas algumas características presentes nos bancos de dados
móveis, tais como: formas de acesso aos dados, gerência de transações, processamento de
consultas, replicação de dados e recuperação de falhas.
25
2.1 - Arquitetura de Banco de Dados Móveis
A arquitetura dos bancos de dados móveis constitui-se basicamente por plataformas
de aplicação, um servidor e a comunicação entre eles. Essa plataforma é formada por um
dispositivo móvel, um software para o gerenciamento do sistema e a aplicação do banco de
dados móvel. Já no servidor encontra-se o armazenamento de quase todos os dados, que
poderão ser buscados pelos usuários móveis a fim de atualizar, consultar ou inserir
informações, onde são coordenados por um sistema de gerenciamento (ITO, 2003).
A seguir serão apresentados alguns tipos de arquitetura existentes em um ambiente
móvel. Essas arquiteturas têm como base o estudo realizado por Pitoura e Samaras (1998), os
quais demonstram algumas opções de modelos da computação móvel.
2.1.1– Arquitetura Cliente-Servidor
Sendo essa uma arquitetura tradicional, segundo Braz (2002), pode-se encontrar na
unidade cliente uma aplicação que está sendo executada, a qual emite requerimentos de dados
para o servidor central. Vale ressaltar, considerando que estamos descrevendo essa arquitetura
em um ambiente móvel, que o servidor central pode estar localizado em uma rede estacionária.
Nesse caso, as informações e funcionalidades se encontram espalhadas através de vários
servidores em diferentes hosts fixos, os quais podem se comunicar para atender as necessidades
requisitadas pela unidade cliente, aumentando, assim, a disponibilidade no caso da ocorrência
de falhas na rede de comunicação. Na Figura 5, mostra-se um ambiente de computação móvel
em uma arquitetura tradicional Cliente-Servidor.
Figura 5 – Ambiente de computação móvel em uma arquitetura Cliente / Servidor clássica
26
Extensões da tradicional arquitetura Cliente-Servidor são importantes para dar
apoio a operações desconectadas ou de fraca conectividade além de prover componentes para
implementação de otimizações adequadas possibilitando assim o mínimo possível de mudanças
nos clientes e nos servidores (PITOURA E CHRYSANTHIS, 2000 APUD CÔRTES E
LIFSCHITZ, 2002).
2.1.1.1 – Arquitetura Cliente-Agente-Servidor
Essa arquitetura surge de expansões da convencional arquitetura Cliente-Servidor,
existindo a presença de um agente, o qual representa o cliente na rede estacionária, ocorrendo a
transferência de carga de processamento do equipamento móvel para o servidor de rede fixa.
Através do agente, a unidade pode emitir suas requisições que forem necessárias para o
servidor e ficar no modo de espera, pois a responsabilidade de ter sucesso, nas respostas das
requisições do cliente, fica sob responsabilidade do agente. No momento da reativação do
cliente, as informações solicitadas são entregues ao cliente através do agente. Vale observar
que essa arquitetura não suporta o trabalho desconectado, fazendo com que as requisições
solicitadas pela unidade móvel, quando ela estiver desconectada sejam enfileiradas pelo agente
e, após a reconexão, sejam enviadas as informações para o cliente (BRAZ, 2002).
2.1.1.2 – Arquitetura Cliente-Interceptador-Servidor
A principal característica que se destaca nessa arquitetura é que ela resolve a
impossibilidade do trabalho desconectado da arquitetura Cliente-Agente-Servidor. O elemento
agente foi “copiado” tanto para o lado do cliente quanto para o lado servidor, podendo assim
interceptar tanto as requisições do cliente como do servidor, trabalhando de forma associativa
no atendimento de cada solicitação (BRAZ, 2002).
Através de uso do cache no lado do cliente, surge a possibilidade de se poder
trabalhar com desconexões, já que, durante esse período, as unidades móveis têm suas
solicitações atendidas através da utilização desses caches, mantidos pelo cliente. Sendo assim,
se esses dados não estiverem disponíveis por esses caches, essas requisições serão enfileiradas
e, quando houver a reconexão, serão entregues ao cliente pela responsabilidade do agente do
lado do servidor.
27
2.1.2 – Arquitetura Par-Par
Nessa arquitetura, a principal característica diz respeito à impossibilidade de
diferenciar quem é cliente e quem é servidor. Todos que estão nessa arquitetura são clientes e
servidores, pois tanto solicitam informações como são solicitados por outros que estão nessa
rede. Sendo assim, segundo Braz (2002), a desconexão nessa arquitetura apresenta-se como
uma grande dificuldade, já que a indisponibilidade de um site, por exemplo, pode afetar uma
transação por completo. Esse problema pode ser amenizado com a inserção, nessa arquitetura,
de elementos agentes que podem representar as unidades no momento em que ocorra uma
desconexão.
2.1.2– Agentes Móveis
Segundo Trasel (2005), os agentes móveis são processos de um computador raiz
para realizar algum serviço em outro equipamento, possuindo instruções, informações e um
estado de execução, sendo processados de forma autônoma e independente de seu emitente.
Quando atingem um servidor ou um cliente, têm a capacidade de cooperação com outros
agentes a fim de realizar a tarefa a que foram designados. Nesse sentido, destacam-se dois
fatores que motivam a utilização desses agentes móveis na computação móvel: primeiro, podese observar que esses agentes oferecem um procedimento assíncrono competente localizando
dados ou funcionalidades espalhadas na rede. Sendo assim, clientes são arremessados na rede a
procura, por toda parte, por informações ou serviços desejáveis. Seguidamente, é possível notar
que esses agentes podem suportar redes lentas e equipamentos com poucos recursos, deixando
a utilização desses agentes móveis bastante atrativos na computação móvel.
No período em que ocorre a desconexão, a unidade cliente móvel envia um agente
móvel para a rede fixa, fazendo com que esse tenha a responsabilidade de buscar os dados
requisitados e, logo após, a conexão entregará essas informações ao cliente.
2.2 - Paradigmas de acesso aos dados
Como o acesso a dados, segundo Braz (2002), em ambientes móveis, apresenta
uma série de limitações, como restrições na capacidade de armazenamento de informações e a
28
possibilidade de desconexão, serão mostradas, a seguir, as principais proposições para trabalhar
com estas limitações, que são a difusão de dados (broadcast) e o caching de dados.
2.2.1 – Difusão de dados (Broadcast)
Difusão de dados, segundo Barbará (1999), significa a entrega de dados de um
conjunto de provedores para um amplo número de clientes, sem a necessidade de que os dados
estejam envolvidos em uma requisição anteriormente feita por outro cliente. Sendo assim, esse
procedimento de entrega fica caracterizado pela assimetria nas comunicações, já que a largura
de banda da rede é bem maior no sentido servidor – cliente do que no sentido inverso.
Observa-se que existem duas estratégias por disseminação de dados, o pull-based e
o push-based. O primeiro caracteriza-se pelo papel de ativo praticado pelo cliente, solicitando
dados ao servidor através do envio de mensagem. Já o push-based manifesta-se de forma
contrária do pull-based, pois as requisições partem do servidor, transportando os dados pela
rede. Vale lembrar que, nessa estratégia, o cliente se comporta somente como receptor (Figura
6).
Figura 6 - Estratégias de transmissão por difusão pull-based e push-based
2.2.2 – Caching de dados
29
Visando também aumentar a disponibilidade de informações ao cliente móvel que
se encontra numa base remota, o caching oferece benefícios de poder armazenar dados em
cache (disco local). Conforme Ito (2001) apud Amado (2002), para melhor empregar a
classificação dos dados são usadas duas regiões distintas: a região quente e a fria. Como
previsto, a região quente é aquela que apresenta as informações que, usadas frequentemente,
enquanto a região fria mostra os dados que são usados com menos frequência.
Segundo Braz (2002), o uso de memória cache para a execução de operações de
atualizações de itens de dados e consultas, coopera para a diminuição da utilização dos
recursos disponíveis nos dispositivos móveis, fazendo com que o cliente possa guardar as
informações necessárias e trabalhar sob forma desconectada. Faz-se importante ressaltar que,
quando os dados consultados não são encontrados no cache, é necessário realizar uma
requisição ao servidor, podendo esta ser total, quando o cliente solicita todos os dados para
realizar uma consulta, ou parcial, quando já existem no cache alguns dados que possam atender
a consulta.
2.3 - Gerenciamento de transações móveis
A definição formal de transação dá-se por uma unidade lógica de processamento de
banco de dados, que inclui uma ou mais operações de acesso à base. Entre essas operações
estão: inserção, exclusão, alteração e consulta as informações (Elmasri e Navathe, 2000 apud
Amado, 2002).
Com a concorrência de transações acessando a mesma base, problemas como a
perda de consistência dos dados vêm se tornando cada vez mais frequentes. Por isso, o controle
de concorrência e a recuperação de falhas possuem algumas propriedades importantes a fim de
evitar erros, as quais são chamadas de propriedades ACID (Elmasri e Navathe, 2000 apud
Amado, 2002).
As propriedades ACID podem ser descritas pelo o conjunto das seguintes
características:
- Atomicidade: faz com que cada transação seja tratada como uma unidade de
operação, ou seja, todas as ações de transação são executadas ou nenhuma delas será;
- Consistência: descreve que nenhuma operação do banco de dados de uma
transação pode ser incompleta;
- Isolamento: apresenta que outras transações não podem visualizar os resultados
de outras transações concorrentes quando elas estão em andamento;
30
- Durabilidade: garante a permanência dos resultados de uma transação efetivada
no banco de dados;
Segundo (BRAZ, 2002), com a característica da mobilidade, onde as transações
móveis acessam dados de localização diferentes e, muitas vezes, de posições imprecisas, é
permitido que a execução de uma transação móvel possa ocorrer de forma distribuída.
Portanto, uma parte é executada em um host fixo e outra parte em um host móvel. Sendo assim,
através das transações efetuadas é possível manter a consistência do banco de dados, a
atualização e a recuperação de dados.
2.3.1 – Modelos de transações móveis
Serão apresentados alguns modelos de transações móveis que demonstram
estratégias de como as transações de informações se comportam e um ambiente de computação
móvel com base em Adiba et. al (2001).
- Transação Kangaroo: propõe um modelo de transação móvel, que inclui
movimento em sua estratégia de execução. Nesse sentido, como a unidade móvel se desloca, o
gerenciamento da transação, que é desempenhado pela unidade fixa, também se locomove.
Essa mudança de localização acontece por conta da divisão durante o handoff, pois a transação
é dividida em pequenas transações, que podem ser executadas independentes do sistema de
banco de dados da rede fixa.
- Clustering: neste modelo acontece a divisão do banco de dados em cluster
(agrupamento), sendo armazenados nesses agrupamentos informações de semântica relativa ou
de localização aproximada. Sendo assim, transações podem ser consideradas: transações strict
ou weak. A execução da transação strict só acontecerá, quando os hosts estiverem fortemente
conectados, enquanto a transação weak ocorrerá quando os equipamentos móveis estiverem
desconectados.
-Semântica Baseada (Semantics Based): este modelo trabalha com a divisão
(fragmentação) de objetos a fim de obter uma melhor solução de problemas de concorrência e
de conexão nas unidades móveis. Sendo assim, é proposta a fragmentação de objetos grandes e
complexos em menores, podendo ser alocados em cache ou gerenciados independentemente.
Assim, quando solicitado, o servidor disponibiliza esses fragmentos para a unidade móvel.
- MDSTPM (Multidatabase Transaction Processing Manager): este modelo
trabalha com um ambiente que oferece suporte a submissões de transações de equipamentos
31
móveis em um ambiente de banco de dados múltiplos. O MSDTPM tem a capacidade de
coordenar a execução de transações globais, agendar e monitorar os processos de confirmação
de transações.
2.4 - Processamentos de Consultas
Como no ambiente móvel a localização da unidade móvel é estática, os resultados
de consultas executadas, nesse ambiente, podem depender tanto da localização do usuário onde
a consulta foi emitida quanto ao tráfego de dados a partir do equipamento móvel. Esses fatores
são enfatizados e detalhados, conforme descrito por Nassu e Finger (2000) apud Manganelli e
Romani (2004):
- O tempo de transmissões de dados pode ser alto, pois a baixa transmissão de
informações e a baixa confiabilidade podem gerar retransmissões frequentes, influenciando
diretamente nesse tempo.
- O tempo da execução da consulta pode ser influenciado também pela demora da
localização da unidade móvel, principalmente nas grandes metrópoles, que possuem um grande
número de avenidas e informações concentradas.
- O tempo de resposta à consulta pode ser modificado, quando a unidade móvel
cliente está desconectada da rede, por vontade própria ou não, podendo esse período de
desconectividade ser longo, aumentando assim o andamento de execução da consulta no banco
de dados.
Como já descrito, algumas consultas podem depender da localização da unidade
móvel no momento da consulta realizada. Segue abaixo, conforme Imielinski e Badrinath
(1993), alguns exemplos desse tipo de consulta:
a) “encontre o policial mais próximo da minha localização”;
b) “encontre X, Y e Z de forma que eles estejam localizados no mesmo edifício e Y
esteja entre X e Z”.
32
2.5 - Replicações de dados
Segundo Trasel (2005), a replicação é uma operação onde um arquivo ou um
conjunto de arquivos é copiado de seu lugar de origem para outras máquinas dentro de um
sistema, fazendo com que as unidades móveis possam carregar esses dados replicados,
aumentando assim a disponibilidade das informações e a performance de aplicações que atuam
sobre esses dados. Como a replicação é uma técnica que otimiza recursos, tanto de hardware
como de rede, a base de dados contém a base consolidada e a base remota. A base consolidada
demonstra os dados a serem replicados enquanto a base remota contém um subconjunto de
informações da base consolidada (Figura 7) e, geralmente, possuem localização distante
fisicamente desta.
Figura 7 – Replicação de dados – Base Consolidada e base remota.
Um dos principais benefícios de se praticar a replicação dos dados, em um
ambiente móvel, é a disponibilidade dos dados armazenados em cache local dos equipamentos
móveis, possibilitando, assim, a realização de operações mesmo essas unidades estando
desconectadas ou com conexão fraca. É possível destacar um aumento no tempo de resposta de
requisições de operações, pois não há necessidade de conexão a bases distintas. Em relação aos
principais desafios, podemos observar que os dados replicados estejam consistentes e que haja
integridade das transações em cada banco replicado.
Baseado no trabalho de Ito (2001), são descritos a seguir brevemente alguns dos
principais modelos de replicação de dados:
33
- Replicação Par-a-Par (Peer-to-Peer): neste modelo todas as cópias de um
determinado banco são idênticas, fazendo com que a comunicação entre os dispositivos móveis
aconteça sem a interferência do servidor encontrado em uma rede estacionária;
- Replicação Cliente-Servidor: neste modelo de replicação a atualização dos dados
é executada no sentido servidor->cliente, fazendo com que a comunicação entre os clientes, ao
contrário do modelo anterior, seja possível somente através da intervenção do servidor da rede
estacionária;
- Modelo WARD (Wide Area Replication Domain): conjunto de estações próximas
conectadas e pertencentes a uma mesma área geográfica, como já era esperado este modelo
pode ser considerado como uma combinação entre os modelos apresentados anteriormente
(Peer-to-Peer e cliente-servidor) já que possui características semelhantes a esses modelos em
determinadas situações (BRAZ, 2002).
2.6 - Recuperações de falhas
Conforme descrito em Ito (2001) apud Amado (2002) o processo de recuperação de
falhas pode ser conceituado como a capacidade que um sistema possui em preservar a
consistência do banco de dados após falhas no sistema, de transações ou dos meios de
comunicação.
Como descrito em Pitoura e Samaras, (1998) apud Amado,(2002), em sistemas
distribuídos existem pontos de recuperação de recuperação de falhas conhecidos como
checkpoints. Então, quando ocorrem falhas ou desconexões, a aplicação usa o último
checkpoint salvo para reiniciar sua execução, sendo esse papel desempenhado pela unidade
móvel. Portanto, é importante que o equipamento móvel sempre esteja informado em qual
célula ele se encontra, pois em momentos de mudança de células ou período de desconexões
ela gera um checkpoint.
Através do estudo observado em (TRASEL, 2005) foi possível perceber a
existência de um componente chamado checkpoint global, o qual consiste em um conjunto de
checkpoints locais. Foi possível também notar a existência dos estados globais, os quais são
usados para recuperação de falhas dos sistemas contendo o estado de cada processo que faz
parte daquela aplicação, podendo também conter algumas mensagens.
34
3. SISTEMAS GERENCIADORES DE BANCO DE DADOS
MÓVEIS
Com o desenvolvimento tecnológico mundial, principalmente na computação
móvel, os sistemas de bancos de dados móveis estão sendo cada vez mais aperfeiçoados para
seus usuários. Mas, segundo Galliano (2007), vários desafios ainda são encontrados nessa
tecnologia. Dentre estes, é possível destacar o crescimento do número de problemas
relacionados à manutenção das propriedades ACID (Atomicidade, Consistência, Isolamento e
Durabilidade), na presença das mobilidades pessoal e terminal, fazendo com que os
mecanismos de controle de concorrência e os esquemas de recuperação de banco de dados
tenham suas funções desempenhadas corretamente.
Por aumento da usabilidade da computação móvel, atualmente vários
desenvolvedores de sistemas de banco de dados comerciais estão disponibilizando produtos
para a computação móvel. Segundo Gonçalves (2005), uma característica comum entre esses
softwares é que eles agem quando há uma desconexão dos clientes, atuando como banco de
dados locais necessitando assim de uma carga antecipada dos dados a fim de ajudar as
aplicações.
Neste capítulo serão abordadas as principais características de alguns sistemas de
banco de dados relacionais, dentre eles o Oracle Lite, DB2 Everyplace, Microsoft SQL Server
2005 Mobile Edition e o Sybase SQL Anywhere.
35
3.1 - Oracle Lite
O Oracle Lite é um sistema de banco de dados produzido pela Oracle, voltado para
ambientes de dispositivos móveis. Esse SGBD pode ser executado em várias plataformas como
o Windows 98/NT/2000/XP, Palm OS e Embedded Linux e pode trabalhar com JDBC, ODBC,
ADO.NET e SODA (Simple Object Data Access) (ORACLE a, 2005).
Segundo Pitombeira (2006), além desse software permitir a integração de estruturas
de banco de dados com a rede mundial, ela ainda faz o acesso a dados independentes da
plataforma utilizada.
Esse sistema de banco de dados, por suportar todo um conjunto de
desenvolvimento de aplicações móveis, pode ser uma solução para empresas que trabalham
com uma base de dados totalmente distribuída. Assim, em companhias que trabalham com
vendas, os funcionários podem ficar in loco junto ao cliente, podendo transferir para seus
dispositivos portáteis as informações que cada profissional precisa, podendo ainda consultar,
inserir, alterar ou até mesmo sincronizar as informações guardadas em um servidor central.
Algumas características principais do Oracle Lite são:
- Suporte a múltiplas conexões simultâneas;
- Suporte para sincronização em redes sem fio;
- Suporte a Stored Procedures e Triggers;
- Replicação bidirecional de dados;
- Vasto leque de plataformas e dispositivos suportados;
- Compatibilidade com o Oracle Database Server;
- Suporte a tabelas, visões e índices;
- Suporte ao SQLJ e SQL padrão;
- Suporte para criptografia para a segurança dos dados.
- Possibilidade de utilização de múltiplas ferramentas de desenvolvimento como:
Visual C++, Visual Coffee, Oracle JDeveloper e Developer, Delphi, SatelLite Forms,
CodeWarrior;
Conforme ilustrado na Figura 8, segundo Pitombeira (2006), o sistema de banco de
dados móvel Oracle Lite é formado por três camadas: a camada do servidor, a camada
36
intermediária e a camada do cliente. Podem ser destacados ainda os principais componentes
dessas camadas:
- Oracle Lite Database: sistema de banco de dados projetado para dispositivos
portáteis;
- Mobile Server: mecanismo responsável pela sincronização dos dados entre os
dispositivos móveis e a estação base central;
- Life Cycle Management: realiza distribuição, instalação e gerenciamento das
aplicações, dados e arquivos no dispositivo móvel, promovendo ainda o gerenciamento
de usuários, dispositivos e sistema;
- Rapid Application Development: responsável pelo desenvolvimento de aplicações
para várias plataformas (PITOMBEIRA, 2006).
Figura 8 – Visão geral dos componentes da Oracle Lite (ORACLE a).
3.2 - DB2 Everyplace
O DB2 Everyplace é um banco de dados relacional, que tem como objetivo
principal fazer a sincronização bidirecional entre os dados que são acessados pelos dispositivos
móveis em um servidor central de dados (IBM).
37
Segundo Gonçalves (2005), as principais características que se destacam nesse
banco de dados são:
- Possui softwares que podem ser utilizados em várias plataformas;
- Possui sincronização em redes sem fio;
- Ocupa pouco espaço em disco no cliente;
- Suporta as funcionalidades da SQL padrão como Join, Group by e Order by;
- Oferece suporte as linguagens C/C++ e Java.
- Suporte de transações;
- Suporta criptografia de dados;
- Possui Query-By-Example (QBE) como interface de consulta.
Segundo Pitombeira (2006), esse banco de dados possui dois importantes
componentes, que são o DB2 Everyplace Sync Server, software que gerencia a sincronização
bidirecional dos dados entre os dispositivos móveis e a estação base e o Everyplace Sync
Client, programa que é colocado nos dispositivos portáteis a fim de que se possa inserir,
remover ou modificar dados e informações no servidor central.
O DB2 Everyplace Sync Server comporta-se como um software que trata a
sincronização dos dados presentes em um servidor central que estão sendo solicitados por
algum dispositivo móvel (IBM a). Na Figura 9, mostra-se o desenvolvimento de aplicativos e a
sincronização de dados compartilhados entre uma estação base e um dispositivo portátil. Faz-se
necessário estar o banco de dados DB2 Everyplace executando no dispositivo móvel, para que
ele possa acessar e editar uma cópia dos dados localmente, através das aplicações destes
dispositivos.
Para iniciar a sincronização dos dados, obtidos através de uma comunicação entre
os dispositivos móveis e um servidor central, é necessário que o componente DB2E Sync
Client presente no dispositivo realize um pedido para se comunicar com o DB2E Everyplace
Sync Server, para só assim o sistema camada intermediária (Mid-tier) realizar a comunicação
com a fonte de dados centralizada (PITOMBEIRA, 2006).
38
Figura 9 - Desenvolvimento e sincronização do DB2 Everyplace (IBM a).
Em relação à sincronização dos dados, o Sync Server observa quais as mudanças
que foram realizadas em cópias locais pelos usuários para a estação base. Mas como o Sync
Server é um servidor de sincronização bidirecional, os usuários passam a receber as
modificações que foram feitas no servidor e não em suas cópias de banco de dados locais.
Assim, dá-se a sincronização dos dados do cliente para com o servidor (IBM b).
Com a sincronização dos dados com o DB2 Everyplace Sync Server, problemas
como conflitos, compressão e criptografia de dados podem ser resolvidos. Além desses
benefícios, o Sync Server ainda utiliza uma ferramenta chamada de Mobile Devices
Administration Center que gerencia e fornece serviços de sincronização de dados, permitindo
definir subconjuntos de dados e arquivos que vão ser acessados por grupos de usuários
(PITOMBEIRA, 2006).
Segundo a IBM, uma grande variedade de tipos de banco de dados é suportada pelo
DB2 Everyplace Sync Server, dentre eles podemos destacar (IBM b):
- Oracle 9i e 10g;
- DB2 Universal Database V7.1 e V8.1 para z/OS;
- Microsoft SQL Server 2000 com Service Pack 3a (V8.00.760) (com SQL
Server Driver para JDBC);
- Sybase Adaptive Server Enterprise 11.93 (com Sybase J-Connect 5.5 para JDBC).
Como é executado nos dispositivos móveis, o Everyplace Sync Client, além de
gerenciar as operações que são feitas localmente pelos usuários, manuseia a sincronização
39
bidirecional dos dados corporativos com o DB2 Everyplace existente no dispositivo móvel
(PITOMBEIRA, 2006).
Segundo a IBM, o Sync Client pode ser voltado para várias plataformas, dentre
elas podemos destacar:
- Linux;
- Palm OS 3.5, 4.1 e 5.0 ou versões superiores;
- Windows CE 3.0, PocketPC, PocketPC2002, HandheldPC, Windows CE.Net,
e Windows Mobile 2003 para PocketPC;
- Java 2 Micro Edition Mobile Information Device Profile virtual machine.
3.3 - Microsoft SQL Server 2005 Mobile Edition
Com novas funções de sincronizar, armazenar e processar consulta de dados, o
Microsoft SQL Server Mobile Edition (SQL Server Mobile) foi lançado em 2005 com o
objetivo de tornar-se mais popular aos usuários da computação móvel. Novas características
como criptografia de dados, gerenciador de transações, garantia da ACID (atomicidade,
consistência, isolamento e durabilidade) e gerenciador de buffer foram adicionadas nessa
versão do SQL Server.
A arquitetura do SQL Server Mobile é formada pela camada de desenvolvimento,
cliente e servidor. Conforme pode ser visto na Figura 10, a camada do desenvolvimento é
composta pelos componentes Microsoft Visual Studio 2005 juntamente com o NET, podendo
assim ser formadas aplicações em Microsoft Visual Basic, Microsoft Visual C# ou Microsoft
Visual C++ para os dispositivos portáteis (MICROSOFT a).
Já a camada do cliente forma-se pelas aplicações que precisam se conectar ao SQL
Server Mobile, sendo também possível ter acesso ao SQL Server Mobile, através do Microsoft
ActiveSync (PITOMBEIRA, 2006).
40
Figura 10 - Arquitetura do SQL Server Mobile (MICROSOFT a).
Como descrito em Pitombeira (2006), a camada do servidor compõe-se pelo
Microsoft Internet Information Services (IIS) e pelo Microsoft SQL Server, sendo que o IIS é
que fica responsável pela conexão entre os dispositivos móveis e a estação base.
Conforme ilustrado na Figura 11, a camada cliente possui uma aplicação para
acessar os dados e um aplicativo, o SQL Mobile, para gerenciar a conectividade e o acesso aos
dados no servidor (MICROSOFT a).
O IIS (Internet Information Services) além de fazer a integração com servidores
web e gerenciar alguns protocolos da Internet, permite que dispositivos móveis possam
transferir dados, através do protocolo RDA (Remote Database Access - Acesso a Banco de
Dados Remotos) a fim de obter uma conectividade segura com o SQL Server Mobile. Quando
um servidor recebe solicitações de informações do cliente, ele se conecta ao servidor SQL e
retorna os dados requeridos para o cliente, através de um protocolo, que nesse caso é o HTTP.
O servidor ainda possui o SQL Server que realiza o gerenciamento relacional dos dados com
seus componentes (PITOMBEIRA, 2006).
41
Figura 11 – Relacionamento entre o servidor e o cliente (MICROSOFT a)
Já que o SQL Server pode acessar e editar dados ou informações, tanto referentes
ao cliente quanto ao servidor, seguem abaixo as principais características do Microsoft SQL
Server CE.
- Possui otimização de consultas e processamento de transações;
- Possui tamanho em torno de 1 Mb;
- Permite criação, edição e exclusão de tabelas e dados;
- O espaço em disco ocupado pelo no cliente varia entre 800 Kb-3 Mb;
- Utilização de comandos das linguagens DML e DDL;
- Suporte ao acesso remoto de dados (RDA);
- Suporte a criptografia e senha de proteção para os bancos de dados.
3.4 - Sybase SQL Anywhere
Sendo uma solução embutida no pacote de software SQL Anywhere Studio da
Sybase, que provê a gerência de dados, o Sybase UltraLite está presente nos dispositivos
móveis a fim de manipular e gerenciar dados (SYBASE a).
Podem
ser
destacadas
algumas
características
desse
banco
de
dados
(GONÇALVES, 2005):
- Podem ser utilizados em várias plataformas dentre elas o Windows 95/98/Me,
NT, 200, XP e Palm Computing Platform;
42
- Oferece criptografia dos dados;
-As funções do SQL oferecem processamento de transações, integridade e
operações de junções de tabelas;
- O tamanho máximo do banco de dados é de 2Gb.
O SQL Anywhere é composto por alguns componentes de grande importância para
este banco de dados, dentre eles podemos destacar: Adaptive Server Anywhere, UltraLite,
MobiLink e SQL Remote (SYBASE b).
O Adaptive Server Anywhere foi projetado para realizar tarefas tanto em ambientes
com vastos recursos computacionais como em ambientes com limitações de processamento e
área de memória (PITOMBEIRA, 2006).
O Adaptive Server Anywhere, além de oferecer suporte de mobilidade aos sistemas
de bancos de dados, possibilita o gerenciamento e o armazenamento dos dados e a inclusão do
banco de dados na rede. Este componente possui duas versões: a pessoal, que trabalha
diretamente com o usuário para que este tenha acesso a informações localmente e a rede, que
disponibiliza acesso do cliente através da rede trabalhando com a plataforma cliente-servidor
(SYBASE c).
Além de tratar o gerenciamento e a sincronização dos dados com um banco de
dados centralizado, o UltraLite ainda provê o armazenamento e a recuperação de dados,
permitindo trabalhar com funções SQL com intuito de laborar tabelas, restrições de integridade
e algumas operações de transações (SYBASE c).
Conforme Pitombeira (2006), se mais de uma aplicação for usada para se conectar
no mesmo banco de dados, torna-se adequado utilizar o Adaptive Server Anywhere, sendo que
o Ultra Lite é indicado para ser usado em dispositivos de pequeno porte.
Tendo uma sincronização em tempo real, o MobiLink é indicado para ser utilizado
em ambientes que fazem conexões com banco de dados UltraLite e Adaptive Server
Anywhere, sendo que essas conexões podem acontecer através de protocolos TCP/IP ou até
mesmo por ondas de rádio (SYBASE f). Conforme descrito em Pitombeira (2006), no
MobiLink existem algumas características importantes, dentre as quais pode ser destacado o
método de sincronização baseado em sessões e sincronização bidirecional.
43
O SQL Remote consiste em um banco de dados central, que armazena uma cópia
dos bancos existentes nos dispositivos móveis, tendo sua sincronização baseada em mensagens
como e-mail ou compartilhamento de arquivos (SYBASE e).
Segundo Pitombeira (2006), no SQL Remote existe um agente de mensagem,
que envia uma mensagem de replicação para o banco de dados central, quando há uma
alteração ou modificação nos dados. Ao ocorrer uma modificação nas informações em outros
bancos de dados locais, esse mesmo agente passa a receber uma mensagem desses bancos a fim
de atualizarem os dados da estação base.
Uma diferença importante entre o MobiLink e o SQL Remote é que este último
tem a sincronização baseada em mensagem e não em sessão, como é o MobiLink, e o SQL
Remote não oferece suporte ao Oracle, Microsoft e a IBM, enquanto o MobiLink suporta.
44
4. ANÁLISE COMPARATIVA DOS SISTEMAS DE BANCO
DE DADOS MÓVEIS COMERCIAIS
Neste capítulo serão abordados alguns critérios importantes para a análise
comparativa proposta neste trabalho entre os sistemas de banco de dados anteriormente
definidos.
4.1 Recuperação de Falhas
Uma das principais características de um SGBD consiste na capacidade deste se
recuperar após a ocorrência de uma falha durante algum processo de atualização dos dados.
Esse é um fator importante porque a não recuperação de uma falha pode resultar em um estado
inconsistente do banco de dados.
De forma similar, apesar de características ligeiramente distintas, os sistemas
gerenciadores de bancos de dados móveis também precisam levar em consideração esse
critério. As seções seguintes discutem e analisam de que forma os SGBDs tratados neste
trabalho oferecem recursos para o processo de recuperação de falhas.
4.1.1 DB2 Everyplace
Conforme descrito no capítulo anterior, o DB2 Everyplace é uma base de dados
relacional que realiza a extensão da troca de dados de um ambiente desktop para um
45
dispositivo portátil. Este componente se utiliza do conceito de arquivos de log circular a fim de
suportar a recuperação de falhas. Dessa maneira, os arquivos são reutilizados, fazendo com que
a recuperação ocorra somente para as falhas de sistema.
Outro formato de log que o DB2 utiliza é o arquivo log retain. Nesse caso, os
arquivos de log não são reaproveitados, tendo a possibilidade da ocorrência dos processos de
recuperação rollback e forward. Assim, com a utilização desse formato de arquivo é admitido o
gerenciamento tanto das transações confirmadas quanto das pendentes, podendo ter os registros
já realizados enviados para um arquivo secundário.
Com a possibilidade de manter os dados nos dispositivos portáteis, o DB2
Everyplace faz, através do DB2 Everyplace Sync Server, a sincronização dessas informações
atualizadas localmente com o banco de dados central. É interessante ressaltar que, caso ocorra
uma interrupção no momento em que está acontecendo a sincronização, o banco será reiniciado
a partir do ponto que ocorreu a suspensão do sincronismo.
4.1.2 Sybase SQL Anywhere Studio
Como já descrito no capítulo anterior, o Sybase SQL Anywhere Studio é formado
pelo banco de dados Sybase Adaptative Server Anywhere e Ultralite e pelas tecnologias de
sincronização de dados SQL Remote e Mobilink.
Em relação ao tratamento de recuperação de falhas, segundo Braz (2002), o Sybase
Adaptative Server Anywhere possui quatro tipos de arquivos para sua execução: arquivo de
banco de dados, log de transações, espelho de log de transações e arquivo temporário.
No arquivo de banco de dados é possível encontrar informações relativas ao banco
de dados, as tabelas e os índices do sistema, elementos indispensáveis para o funcionamento do
banco de dados. Já no arquivo de log de transações são mantidos os registros de todas as
alterações que foram processadas na base de dados, permitindo assim a recuperação de dados
após o acontecimento de uma falha. Como o próprio nome indica, o espelho de log de
transações simplesmente contém uma cópia fiel do arquivo de log de transações originais. Em
relação ao arquivo temporário, este tem apenas a função de fornecer um local de
armazenamento de dados temporário do banco de dados (BRAZ, 2002).
46
As informações armazenadas nesses arquivos são organizadas baseadas em
páginas, as quais são espaços de tamanho fixo no disco. Sendo assim, existem dois tipos de
páginas destinadas especificamente para a recuperação de falhas do banco de dados: rollback
log e checkpoint log Pages (BRAZ, 2002).
O rollback log é encontrado a cada conexão feita com o banco de dados, sendo que
nesse log encontra-se guardado um registro de todas as modificações enviadas para o banco de
dados por uma determinada conexão após o último registro de commit ou rollback. Caso seja
enviado um comando rollback ou aconteça alguma falha, o registro dá a possibilidade de que
as alterações que não foram confirmadas possam ser canceladas. Uma vez que a transação
tenha sido confirmada, o rollback log será apagado e as páginas disponibilizadas poderão ser
ofertadas para o uso do banco de dados.
Já quando ocorre um registro de checkpoint, as informações armazenadas no
arquivo de banco de dados ficam idênticas às informações mantidas no log de transações e,
assim, havendo a ocorrência de uma falha, é provável que o servidor não consiga obter um
registro de checkpoint antes de um procedimento de shutdown (encerramento). Uma solução
para este problema seria a utilização do checkpoint log. Nesse caso, o servidor de banco de
dados conserva cópias de todas as páginas que foram modificadas a partir do último
checkpoint. Essas páginas são chamadas de páginas de rollback, que, em conjunto, formam o
checkpoint log. Em relação ao processo de recuperação, após o servidor voltar ao seu último
estado consistente, através da utilização das páginas rollback sobre as páginas do arquivo de
banco de dados, realiza-se a aplicação das modificações. Estas são executadas a partir do
último checkpoint pela releitura do log de transações, fazendo com que todas as transações não
confirmadas sejam revertidas usando os rollback logs (BRAZ, 2002).
4.1.3 Oracle Lite
No momento em que uma aplicação se conecta em um banco de dados Oracle Lite
é iniciada uma transação com esse banco. Observa-se que o conceito de transação forma-se
pelas seguintes propriedades: atomicidade, consistência, independência e durabilidade.
Quando tratamos da propriedade da atomicidade, sabe-se que ela é marcada pela
não atualização do arquivo até que o banco de dados confirme a transação, pois durante a
47
operação de confirmação (commit), o log undo temporário (relacionado à operação de desfazer)
é criado e, assim, o banco de dados atualiza-se. Esse log apresenta-se de fundamental
importância, pois caso ocorra uma falha durante esse processo de confirmação, o banco de
dados poderá ser restaurado a partir do log undo criado durante a próxima conexão.
A propriedade de consistência está relacionada garantia que o estado correto do
banco de dados seja mantido. Dessa forma, operações de commit que ocorram em transações só
serão realizadas caso não infrinjam alguma restrição de integridade da base de informações.
O isolamento das transações é adquirido através de alguns níveis de bloqueios
aceitos pelo mecanismo de banco de dados. A idéia central é tratar cada transação de modo
independente, como se nenhuma outra transação estivesse sendo executada naquele mesmo
instante.
Por último, temos a durabilidade, que é garantida após o commit dos efeitos da
transação, pois, ocorrendo uma falha logo após a esta confirmação, no banco de dados, os
efeitos da transação serão inalteráveis. Caso ocorra uma falha durante o processo de commit ou
rollback de uma transação, será utilizado o log undo a fim de levar o banco de dados a um
estado consistente. De uma forma geral, caso a transação termine com sucesso, a propriedade
garante que o estado correto dos dados não seja alterado.
4.1.4
SQL Server CE
Segundo Braz (2002), o Microsoft SQL SERVER 2000 possui pelo menos um
arquivo para registro dos dados e outro para o registro das transações, conhecido como log de
transação. Sendo assim, os dados que modificam o estado do banco de dados são armazenados
de forma sequencial nesse log de transação, permitindo as execuções das operações de redo ou
undo das transações, ficando também registrados nesse log de transações os estados das
informações antes e depois das alterações.
Através de pontos de verificações, chamados de checkpoints, o SQL SERVER 2000
irá garantir que os registros do log sejam inseridos no disco. Sendo assim, durante o processo
de recuperação no banco de dados, uma transação precisa ser duplicada somente quando não
existir a aprovação de que todas as alterações de informações não foram escritas no disco.
Como o ponto de verificação faz com que todas as informações modificadas sejam inseridas no
48
disco, é possível considerar esse ponto o ponto inicial para o processo de recuperação para as
transações.
A fim de garantir a integridade dos dados, caso ocorra alguma falha na
comunicação entre cliente e servidor, por exemplo, estando a transação no estado ativa, o
banco de dados irá regressar à transação no instante anterior ao momento em que for
identificado a falha no sistema. Já no momento em que o mecanismo de banco de dados é
interrompido, podem existir transações incompletas que deverão ser revertidas pelo mecanismo
no momento da volta a atividade.
Segundo Braz (2002), o SQL SERVER 2000 proporciona suporte às transações
distribuídas envolvendo recursos de duas ou mais origens. Dessa maneira, para atender essas
transações, esse banco de dados se utiliza de um gerenciador de recursos e um gerenciador de
transações, sendo todo esse processo construído com base no protocolo 2PC que tem o papel de
controlar a execução das operações distribuídas.
4.1.5
Tabela Comparativa de Recuperação de Falhas
Conforme previsto, a seguir é apresentada uma tabela comparativa resumindo as
principais diferenças entre os bancos de dados analisados.
Tabela 1 - Resumo das principais características dos produtos analisados em relação à
recuperação de falhas.
49
4.2
Segurança
Devido a características inerentes aos dispositivos móveis, um critério que tem
recebido bastante atenção de desenvolvedores e pesquisadores dessa área é a segurança das
informações. Tal fator pode ser determinante na escolha do SGBD mais adequado para cada
situação.
Baseado nisso, este trabalho apresenta nas seções seguintes um estudo comparativo
entre os SGBDs pertinentes a este trabalho no que se refere ao critério de segurança dos dados.
4.2.1 Oracle Lite
Segundo Alves (2007), o Oracle Lite possui o recurso de encriptação do banco de
dados, fazendo com que as informações contidas no banco não possam ser interpretadas pelo
por algum mecanismo tradicional. O Oracle Lite utiliza a encriptação AES (Advanced
Encryption Standard ou Padrão de Criptografia Avançada).
Neste tipo de algoritmo, é preciso criar uma senha para gerar a chave de
encriptação de 128 bits. Com essa encriptação, a cada momento que o usuário tentar constituir
uma conexão com o banco, deve existir uma senha de acesso válida. Caso essa senha não seja
encontrada no sistema, retorna-se a um erro. Faz-se importante ressaltar que o banco de dados
Oracle Lite não pode ser encriptado ou decriptado no momento em que uma conexão com o
banco estiver aberta.
Para fornecer mais segurança, esse banco de dados utiliza-se de determinadas
ferramentas a fim de não permitir a intervenção de usuários não autorizados, mesmo os dados
estando encriptados. Podemos destacar a ferramenta Secure Sockets Layer (SSL) que é um
padrão global em tecnologia de segurança e que protege a integridade dos dados e previne
qualquer interceptação de usuários não autorizados.
4.2.2 DB2 Everyplace
Como o DB2 Everyplace provê uma solução para que uma aplicação possa
implementar uma política de segurança corporativa, sua principal meta consiste na criptografia
50
secreta dos dados guardados no DB2. Para isso, esse sistema se utiliza de métodos tradicionais
de criptografia de dados, tais como o DES (Data Encryption Standard ou Padrão de
Criptografia de Dados), o qual é uma cifra bastante utilizada. Seu objetivo é codificar um
determinado texto recebido como entrada, através de uma série de operações, em um texto
codificado de mesmo tamanho.
Outra meta do DB2 Everyplace é fornecer um framework específico de segurança
com a finalidade de gerenciar as chaves que são usadas para encriptar as informações. Dessa
maneira, no momento em que o usuário tentar se conectar ao banco é preciso conter um
identificador e uma senha. Feito isso, caso o usuário tente acessar ou criar tabelas
criptografadas, deve fornecer ao DB2 Everyplace um ID e senha que não estejam em branco.
Caso a autenticação não seja válida, o usuário só poderá ter acesso aos dados que não estejam
criptografados (ALVES, 2007).
Faz-se importante ressaltar, segundo Alves (2007), que a tabela criptografada é
restringida àquele SGBD, não podendo ser alterada para outro DB2 Everyplace existente em
outro dispositivo portátil, pois os diferentes bancos de dados possuem diferentes chaves de
encriptação e decriptação. Com isso, é possível perceber que se um usuário tem acesso a
algumas tabelas criptografadas em um banco, certamente esse usuário não possuirá permissão
de acessar um banco utilizando-se do mesmo ID e senha.
Além de oferecer mecanismos de verificação da integridade após a sincronização e
reparação de problemas ocorridos, o DB2 apresenta uma semelhança com o Oracle Lite, ou
seja, o DB2 também se utiliza do SSL para a conexão do servidor.
4.2.3 SQL Server Compact Edition
O SQL Server CE, segundo Alves (2007), baseia-se na junção de alguns modelos
de segurança, tais como: Microsoft Internet Information Services 5.0 (IIS) ou IIS 4.0, SQL
Server 2000 (Service Pack 1 ou mais novos) ou SQL Server versão 7.0 (Service Pack 4 ou mais
novos), Microsoft Windows 2000, Microsoft Windows XP Professional, Microsoft Windows
NT® 4.0, Microsoft Internet Security e o Acceleration Server 2000 (ISA) [MICROSOFT,
2006].
51
É possível perceber que o modelo de segurança IIS tanto oferece apoio a
criptografia SSL de 128 bits no banco de dados, como dá suporte a três protocolos de
autenticação: Anônima, Básica e Integrada. (ALVES, 2007).
Na autenticação anônima, como o próprio nome evidencia, ocorre um acesso aos
recursos do servidor IIS com o anonimato do cliente, podendo ser usado tanto em ocasiões
onde o servidor não precisa armazenar os caminhos percorridos pelos visitantes como, quando
as informações disponíveis não precisam ser protegidas. Portanto, este acesso não é indicado
para a utilização do banco SQL Server CE, já que não é seguro.
Em se tratando do acesso básico, além de confiar em parte do protocolo HTTP 1.0,
é indicado que os usuários têm que possuir um login e uma senha válida. Feito isso, o ISS
desempenha o login do sistema utilizando-se da conta que proporcionou o acesso. Caso o login
seja inválido, a conexão é fechada e um erro é mostrado para o cliente. Basicamente esta
autenticação não é segura, já que os logins e senhas são transmitidos na codificação de 64 bits,
a qual é relativamente fácil de ser descoberta. Tendo suporte em todos os equipamentos que
utilizam o Windows CE, é preferível que a autenticação básica tenha o uso do SSL.
Por último, temos a autenticação do Windows, que admite que o usuário faça o
login em um site Web, utilizando uma conta de domínio Windows. Por esse motivo, essa
autenticação solicita uma conta de usuário, sendo apenas empregada em uma Intranet. Esse
protocolo de autenticação usa o algoritmo hashing para proteger os dados do login e senha de
transferência.
Segundo Alves (2007), por trabalhar com apenas uma senha de segurança, o SQL
Server CE dá apoio às senhas de arquivos do banco de dados presentes nos dispositivos,
utilizando-se de uma encriptação RSA de 128 bits.
4.2.4 SQL Anywhere Studio
Como apresentado no capítulo anterior, sendo uma solução do SQL Anywhere
Studio, o SGBD Ultralite pode escolher dois tipos de segurança para seu banco de dados:
ofuscação ou encriptação. Vale ressaltar que, segundo Alves (2007), uma vez que escolhido o
tipo de segurança que vai ser utilizado, este não poderá mais ser alterado, exceto no caso do
banco ser removido e carregado novamente.
52
No caso da encriptação, faz-se necessária a escolha de uma chave que pode ser
alterada se preciso. Sendo assim, após a encriptação do banco de dados só é possível acessar os
dados com o uso da chave específica, caso contrário, as informações presentes no banco não
podem ser acessadas.
Já no momento da ofuscação acontece uma “camuflagem” das informações, a fim
de se precaver que utilitários revelem esses dados armazenados no banco, ficando transparente
apenas para usuários e aplicações.
Em relação à autenticação, o Ultralite suporta até quatro ID e suas senhas
respectivas, sendo esses IDs criado pelo DBA para garantir acesso aos usuários ao banco de
dados, sendo que esse ID uma vez criado não pode ser alterado.
Os padrões e protocolos de encriptação usados por SQL Anywhere são baseados
nos usados na indústria, como o AES (Padrão de Criptografia Avançada), RSA, ECC
(Criptografia curva elíptica) e SSL (Camada de Sockets Protegida), garantindo a segurança do
sistema.
4.2.5 Tabela Comparativa da Segurança dos Bancos de dados Móveis
Conforme as características relacionadas à segurança dos dados que foram
anteriormente descritas, este trabalho apresenta um breve resumo baseado em alguns critérios
importantes para os Sistemas Gerenciadores de Bancos de Dados objetos de estudo desse
trabalho.
A Tabela 2 reúne essas informações, especificando para cada Sistema Gerenciador
de Banco de Dados, os componentes responsáveis pelo processo de segurança. Nessa tabela
também vai ser possível descrever algumas características de cada banco de dado móvel
relacionadas ao espaço de disco ocupado, apresenta também quais as ferramentas que o banco
possui e demonstra algumas tecnologias de desenvolvimento e gerenciamento específicos de
cada SGBD móvel.
53
Produto
Espaço em disco
Mecanismos de
Segurança
Sybase SQL
Anywhere Studio 10
150Kb
Encriptação AES, RSA;
Ofuscação;
IBM DB2
Everyplace
150Kb
Encriptação DES
framework específico de segurança
Microsoft SQL
Server 2005 Windows CE
1Mb
Encriptação RSA e SSL de 128 bits
Modelo de Segurança IIS
Oracle 10g
Lite
350kb
Encriptação AES
Ferramenta SSL
Tabela 2 - Resumo das principais características dos produtos analisados em relação à
segurança dos dados.
4.3
Performance
Como em qualquer outro sistema computacional, o grau de desempenho alcançado
é um fator determinante para os Sistemas Gerenciadores de Banco de Dados. Um SGBD de
alto nível deve prover aos seus usuários um ambiente adequado e eficiente de gerenciamento
de dados. Dessa forma, qualquer análise comparativa realizada a partir de sistemas dessa
natureza deve levar em consideração o critério de desempenho.
Esta exigência tornou-se ainda mais significativa com o grande aumento de volume
de dados das aplicações. Isto fez com que os bancos de dados móveis aprimorassem uma série
de recursos de apoio para prover alta velocidade ao acesso aos dados. É importante observar
que a organização física dos dados e os índices de apoio a diferentes métodos são fundamentais
para um bom desempenho no banco de dados.
Os Sistemas Gerenciadores de Banco de Dados Móveis analisados neste trabalho se
utilizam de duas técnicas importantes para prover um incremento de desempenho através do
paralelismo de consultas. Essas duas técnicas são conhecidas como paralelismo inter-consulta e
paralelismo intra-consulta.
Enquanto o paralelismo inter-consulta consiste em uma técnica que tem como
objetivo processar diversas consultas simultaneamente, fazendo assim o uso de diferentes nós
de cluster, o paralelismo intra-consulta realiza uma "quebra" de uma consulta em várias sub-
54
consultas, fazendo com que sejam distribuídas entre os nós com o objetivo de que os recursos
do cluster sejam consumidos de forma homogênea (BELLO, 2009).
4.3.1 DB2 Everyplace
Segundo Trasel (2005), como os dispositivos portáteis foram projetados a fim de
realizar operações específicas, diferentemente dos computadores pessoais, o banco de dados
DB2 Everyplace foi constituído com os recursos mais importantes para a base de dados
móveis. Sendo assim, operações tradicionais da linguagem SQL como Join, Group By e Order
By foram inseridas, diferentemente de operações como Create views, triggers e stored
procedures que não foram incluídas nesse banco.
Em relação aos bancos de dados móveis pode-se observar que o DB2 Everyplace
fornece uma arquitetura bastante eficiente para aplicações de alta performance, já que possui
múltiplos processadores com paralelismos inter-consultas, fazendo com que haja um melhor
desempenho nas consultas realizadas nesse banco (IBM c).
Outra característica importante do DB2 Everyplace consiste no suporte à
indexação. Esse fator é tratado como um importante influenciador do desempenho e as últimas
versões desse produto deram forte prioridade às técnicas avançadas de indexação fornecendo
um impulso considerável ao desempenho do DB2 Everyplace (TRASEL, 2005).
4.3.2 Oracle Lite
Semelhante ao DB2, o Oracle Lite também oferece suporte a paralelismo interconsultas, mas uma diferença observada em relação ao DB2 é que o Oracle Lite tem uma
melhor consulta paralela com os dados particionados (ORACLE c).
A Oracle priorizou o fator de sincronização das informações a fim de melhorar a
performance do Oracle Lite, possibilitando que os dados possam ser replicados de um servidor
central para uma base local permitindo aos usuários trabalharem desconectados. Sendo assim, o
Oracle Lite Database possui um mecanismo de sincronização assíncrona a fim de permitir que
vários usuários possam sincronizar com o servidor ao mesmo tempo, ao contrário da
55
sincronização síncrona que um limite de usuários por causa da limitação da conexão
simultânea.
Segundo (ORACLE b), como é possível que ocorram alguns conflitos e erros
durante a sincronização dos dados nesse banco, para que a sincronização seja eficiente, pois
caso não seja o desempenho pode ser afetado, o Oracle Lite pode detectar esses conflitos e
fornecer vários mecanismos para resolvê-los. Já em relação aos erros, estes podem ser movidos
para uma fila de erros desse banco podendo mais tarde ser eliminados por administradores
desse banco.
4.3.3 Sybase SQL Anywhere Studio
Em contraste com o DB2 Everyplace e o Oracle Lite, o Sybase SQL Anywhere
apresenta um paralelismo de intra-consulta. É importante destacar que nas últimas versões mais
aprimoramentos para um bom desempenho foram criados, tais como backups paralelos, alguns
métodos adicionais de indexação e vários aperfeiçoamentos internos (SYBASE g, 2006).
A Sybase enfatizou a construção de um produto baseado em um bom projeto de
banco de dados, já que um bom modelo e seu ambiente podem ser usados para identificar
problemas de desempenho em cada camada. Este sistema utiliza ainda um otimizador de
consulta, o qual fornece uma análise da consulta e a utilização da indexação mais apropriada
para casa caso.
É interessante ressaltar que a Sybase disponibiliza um processo chamado
‘sp_sysmon’, o qual fornece informações para se realizar o monitoramento sobre o
desempenho interno do Adaptive Server, assim o usuário tem a possibilidade de analisar a saída
que é fornecida por esse processo (SYBASE h).
4.3.4 SQL Server Compact Edition 2000
O uso adequado da indexação é fundamental para um melhor desempenho do SQL
Server CE, mas também é possível encontrar uma grande preocupação com as consultas que
são realizadas nesse banco. Dessa maneira, o SQL Server CE utiliza um otimizador de
consultas que tem o objetivo de empregar algumas combinações de transformações heurísticas
56
para reescrever as consultas de uma forma semanticamente equivalente, mas com um melhor
plano de execução, melhorando assim o desempenho do banco nas consultas realizadas.
Outro ponto bastante observado pela Microsoft em relação ao seu sistema de banco
dados móvel é a questão de como suas informações estão sendo armazenadas, pois esse fator
pode influenciar diretamente a performance desse sistema. Deste modo, com o objetivo de
obter ganhos significativos no desempenho torna-se interessante a utilização de um cache de
dados no cliente. Dessa forma, não haveria sentido fazer uma ida e volta completa ao servidor
do banco de dados cada vez que o cliente necessitar de informações de pesquisas com atributos
como cidade, estado, CEP e assim por diante. É interessante ainda ressaltar que as últimas
versões apresentadas desse produto têm incluído e aprimorado vários novos recursos como
melhores opções de sincronizações, maior segurança dos dados, aumento da confiabilidade dos
dados e o maior desempenho dessa base de dados (MICROSOFT b).
4.2.5 Tabela Comparativa do Desempenho dos Bancos de dados Móveis
A tabela 3 tem o objetivo de mostrar resumidamente as principais informações que se
destacam em relação aos mecanismos de desempenho e ao tipo de paralelismo tratada por cada
banco de dados móvel.
Produto
Sistemas operacionais
suportados
Paralelismo
Mecanismos de Desempenho
Sybase SQL
Anywhere
Studio
Windows 2000, NT, 98,
CE, XP.
Intra - Consulta
Bom projeto de banco de dados e
Otimizador de Consulta;
IBM DB2
Everyplace
Windows 2000, NT, 98,
CE, XP. Palm,Symbian.
Inter - Consulta
Múltiplos Processadores e Suporte a
Indexação
SQL Server
Compact
Edition 2000
Windows 2000, NT, 98,
CE, XP. Palm,Symbian,
EPOC, Linux
Intra - Consulta
Armazenamento dos dados e
Otimizador de Consulta;
Oracle 10g
Lite
Windows 2000, NT,98, CE
e XP.Novell, Solaris,
Linux, HP-UX, IBM.
Inter - Consulta
Sincronização das Informações;
Tabela 3 - Resumo das principais características dos produtos analisados em relação à
performance dos bancos de dados móveis.
57
5. CONCLUSÃO
Com o crescimento cada vez maior do número de aplicações, dispositivos e
equipamentos voltados para a computação móvel, mais e mais trabalhos tem sido escritos e
implementados visando esse cenário.
Este trabalho apresentou um levantamento dos principais Sistemas Gerenciadores
de Bancos de Dados (SGBDs) Móveis existentes e realizou um estudo comparativo entre esses
sistemas conforma alguns critérios importantes previamente definidos, a saber: Recuperação de
Falhas, Segurança de Dados e Performance.
A partir do estudo comparativo proposto, um usuário pode se valer dessas
informações para identificar, com um maior grau de conhecimento, qual o SGBD que mais se
aplica a determinados cenários.
Dessa forma, a principal contribuição deste trabalho consiste em apresentar esse
estudo analítico e comparativo entre importantes SGBDs utilizados no mercado de forma que
tais informações sirvam como material útil de pesquisa para futuros trabalhos relacionados ao
tema em questão.
58
6. REFERÊNCIAS BIBLIOGRÁFICAS
ADIBA, M.; SERRANO-ALVARADO, P.; RONCACIO, C. L. Mobile Transaction
Supports for DBMS: An Overview. LSR-IMAG Laboratory,2001.
AMADO, Paulo G. F.; 2002. Bancos de Dados Móveis: visão geral, desafios e soluções
atuais. Recife. Trabalho de Graduação em Banco de Dados (Graduação em Ciência da
Computação – Centro de Informática). Universidade Federal de Pernambuco.
ALVES, René Araújo. Um estudo sobre segurança em banco de dados móveis.
Universidade Federal de Pernambuco, Recife, março de 2007
BADRINATH, B. R.; PHATAK, Shirish. H. An Architecture for Mobile Databases.
Research Work DCS-TR-351 , 1998.
BARBARÁ, D. Mobile Computing and Database: A Survey. IEEE Transactions on
Knowledge and Data Engineering, p.1-14, 1999.
BELLO, Allan Roger; TAMAGI, Willian. Bancos de Dados Paralelos. Graduação curso de
Bacharelado em Informática. Universidade Estadual do Oeste do Paraná - Campus de Cascavel.
Cascavel, Setembro de 2009. Disponível em: < http://www.inf.unioeste.br/~olguin/4458-semin/G6monografia.pdf >. Acesso em: 12 de maio de 2010.
BRAZ, Fernando José. Análise de Mecanismos Para Recuperação de Falhas em Bancos de
Dados Móveis. Universidade Federal de Santa Catarina, Florianópolis, outubro de 2002.
CÔRTEZ, Sérgio. Um Modelo de Transações para a Integração de SGBD a um Ambiente
de Computação Móvel. Tese de Doutorado. Pontifícia Universidade Católica do Rio de
Janeiro, Rio de Janeiro, 2004.
CÔRTES, Sérgio da Costa; LIFSCHITZ, Sérgio. Sistema de gerência de banco de dados
baseados em agentes para um ambiente de computação móvel. Pontifícia Universidade
Católica de São Paulo, Junho de 2002. Disponível em: <ftp://ftp.inf.pucrio.br/pub/docs/techreports/02_11_cortes.pdf>. Acesso em: 12 de março de 2009.
CUNHA, Daniel Pezzi da. Um Estudo das Estratégias de Replicação e Reconciliação de
Banco de Dados Móveis em um Ambiente Wireless. Universidade Federal de Santa Catarina,
Florianópolis-SC, Novembro de 2003.
ELMASRI, Ramez; NAVATHE, Shamkant. Sistemas de Bancos de Dados – Fundamentos e
Aplicações. 3 ed. Rio de Janeiro. LTC, 2002.
ELMASRI, RAMEZ; NAVATHE, SHAMKANT B. Sistemas de Banco de Dados. Pearson,
Addison Ewsley, 4ª Edição. 2005.
ELMASRI, Ramez e NAVATHE, Shamkant B.; 2000. Fundamentals of Database Systems.
Addison-Wesley.
59
FLINN, J.; SATYANARAYANAN, M. Energy-aware adaptation for mobile applications. 17th
ACM Symposium on Operating Systems Principles, p.48-63, 1999.
GALLIANO, Eduardo. Banco de dados móvel. Londrina, 2007. Disponível em:
<http://www2.dc.uel.br/nourau/document/?view=459>. Acesso em: 12 de feverreiro de 2009.
GONÇALVES, Juliano Lucas. Estudo de Gestão De Dados Não Convencionais Baseada em
Metadados Para o Ambiente de Dispositivos Móveis. Universidade Federal do Paraná,
Curitiba, 2005.
HOLANDA, Maristela Terto de. EIT: Escalonador Inteligente de Transações. Universidade
Federal do Rio Grande do Norte, Natal, 2007.
IBM a Corporation. DB2 Everyplace Database. Disponível em http://www01.ibm.com/software/data/db2/everyplace/everyplacedb.html. Último acesso em 10 de março
de 2009.
IBM b Corporation. DB2 Everyplace Database. Disponível em http://www306.ibm.com/software/data/db2/everyplace/everyplacedb.html. Último acesso em 10 de março
de 2009.
IBM
c
Corporation.
DB2
Everyplace
Database.
Disponível
em
http://www.ibm.com/software/data/db2/everyplace/about.html. Último acesso em 10 de maio
de 2010.
IMIELINSKI, Tomasz;BADRINATH, B. R. Data management for mobile computing. New
York, USA, Março de 1993. Páginas34-39, vol. 22.Disponível em: <
http://portal.acm.org/citation.cfm?id=156883.156888&dl=GUIDE&dl=ACM&idx=J689&part
=periodical&WantType=periodical&title=ACM%20SIGMOD%20Record>.Acesso em: 13 de
fevereiro de 2009.
ITO, Giani C.; 2001. Bancos de dados móveis: uma análise de soluções propostas para
gerenciamento de dados. Florianópolis. Dissertação (Mestrado em Ciência da Computação).
Universidade Federal de Santa Catarina.
LIU, G.; MARLEVI, A.; MAGUIRE, G. A Mobile Virtual-distributed System Architecture for
Supporting Wireless Mobile Computing and Communications. 1st International Conference on
Mobile Computing and Networking Communications, p.111-118, 1996.
MANGANELLI, Elenice C. e ROMANI, Juliano; 2004. Protocolos De Sincronização De
Dados Em Ambientes Wireless: Um Estudo De Caso. Florianópolis. Trabalho de Conclusão
de Curso (Ciência da Computação). Universidade Federal de Santa Catarina.
MATEUS, G. R.; LOUREIRO, A. A. F. Introdução à computação móvel. Material didático
do Departamento de ciências da computação da UFMG. 1998. p.115. Disponível em:
<http://www.di.inf.puc-rio.br>. Acesso em: 10/03/2010.
60
MATEUS, G. R.; LOUREIRO, A. A. F. Introdução à computação móvel. Material didático
do Departamento de ciências da computação da UFMG. 2004. 120f. Disponível em:
<http://www2.dcc.ufmg.br/~loureiro/cm/docs/cm_livro_2e.pdf>. Acesso em: 09/03/2010.
MENKHAUS, G. Adaptive User Interface Generation in a Mobile Computing
Environment. PhD Thesis, Universität Salzburg, 2002
MICROSOFT a Corporation. SQL Server 2005 Mobile Edition Books Online. 2005.
Disponível em http://www.microsoft.com/downloads/. Último acesso em 10/04/2009.
MICROSOFT b Corporation. Arquitetura de armazenamento de dados com o SQL Server 2005
Compact
Edition.
2007
.
Disponível
em
http://msdn.microsoft.com/ptbr/library/bb380177%28SQL.90%29.aspx. Último acesso em 12 de maio de 2010.
NASSU, Eugenio A. e FINGER, Marcelo; 2000. O Significado de “Aqui”em Sistemas
Transacionais Móveis. I Workshop SIDAM (Sistemas de Informação Distribuída de Agentes
Móveis), Outubro, p. 55-63. Disponível em http://www.ime.usp.br/~sidam/worksidam/
artigos/. Acesso em 01 maio de 2010.
ORACLE a Corporation. Oracle Database Lite10g: Technical White Paper. 2005.Disponível
em http://www.oracle.com/technology/products/lite/index.html.Acesso em 25/03/2009.
ORACLE b Database Lite 10gR3 Technical White Paper. Agosto de 2008. Disponível em : <
http://www.oracle.com/technology/products/lite/TWP_Lite_10gR3.pdf >.Acessado em 12 de
maio 2010.
ORACLE c, Database Lite Developer's Guide 10g (10.2.0). Disponível em : <
http://download.oracle.com/docs/cd/B19188_01/doc/B15920/performance.htm>. Acessado em
12 de maio de 2010.
PITOMBEIRA, Dorotéa Karine Dias; BRITO, Ricardo Wagner Cavalcante; SILVA, Wendel
B.,; AMORIM, Danielle Christina Costa ; SOARES, Marília Mendes ; ALMEIDA FILHO,
Magno Prudêncio de; CARVALHO, Thiago Leite e ; OLIVEIRA, Wandré Araújo de;
BRAYNER, Ângelo; MENDONÇA, Nabor das Chagas . PDM - Palm Database Manager.
In: I Sessão de Demos do XIX Simpósio Brasileiro de Banco de Dados, 2004, Brasília. I
Sessão de Demos do XIX Simpósio Brasileiro de Banco de Dados (SBBD), 2004. p. 43-48.
PITOMBEIRA,
Dorotéa
Karine
Dias.
Uma
arquitetura
eficiente
para
armazenamento,gerenciamento e acesso a dados em dispositivos móveis com recursos
computacionais limitados. 2006. 137f. Dissertação (Mestrado em Ciência da Computação) Curso de Mestrado em Ciência da Computação, Universidade de Fortaleza, Fortaleza, 2006.
PITOURA, E.; CHRYSANTHIS, P. Scalable Processing of Read-Only Transactions in
Broadcast Push. 19th IEEE Int'l Conference on Distributed Computing Systems, 2000.
PITOURA, E.; SAMARAS, G. Data Management for Mobile Computing. Kluwer Academic
Publishers, 1998.
61
SATYANARAYANAN, M.; NARAYANAN, D. Multi-fidelity Algorithms for Interactive
Mobile Applications. 3rd International Workshop on Discrete Algorithms and Methods for
Mobile Computing and Communications, p.1-6, 1999
SILBERCHATZ, Abraham; KORTH, Henry F. e SUDARSHAN, S.; 1999. Sistema de Banco
de Dados. Makron Books.
SILVA, F.; ENDLER, M. Requisitos e Arquiteturas de Software para Computação Móvel.
I Workshop SIDAM - Sistemas de Informação Distribuída de Agentes Móveis, 2000
SYBASE a, Inc. What’s New in SQL Anywhere Studio. 2004. Disponível em
<http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.help.adaptive_server
_anywhere_9.0.2/title.htm>. Último acesso em 16 de maio de 2009.
SYBASE b, Inc. Introducing SQL Anywhere Studio. 2004. Disponível em
http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.help.adaptive_server_anywhere
_9.0.2/title.htm. Último acesso em 16 de maio de 2009.
SYBASE c, Inc. Adaptive Server Anywhere Database Administration Guide. 2004. Disponível
em
http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.
help.daptive_server_anywhere_9.0.2/title.htm. Último acesso em 16 de maio de 2009.
SYBASE d, Inc. UltraLite Database User’s Guide. 2004. Disponível em
http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.help.adaptive_server_anywhere
_9.0.2/title.htm. Último acesso em 16 de maio de 2009.
SYBASE e, Inc. Synchronization Technologies for Mobile and Embedded Computing.
Disponível em http://www.ianywhere.com/downloads/whitepapers/mobilink_sql.pdf. Último
acesso em 12 de maio de 2009.
SYBASE
f,
Inc.
MobiLink
Tutorial.
Disponível
em
http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.help.adaptive_server_anywhere
_9.0.2/title.htm. Último acesso em 16 de maio de 2009.
SYBASE g, Inc. New SQL Anywhere facilitates data management in mobile environments,
2006 .Disponível em http://www.sybase.com/detail?id=1060733. Último acesso em 12 de maio
de 2010.
SYBASE h, Inc. Supporting Thousands of Users - Adaptive Server Enterprise on Windows
NT. Disponível em: http://www.sybase.com.br/detail?id=20237. Último acesso em 12 de maio
de 2010.
TRASEL, Anete Terezinha; VERONEZ, Denise. Banco de Dados Móveis. Universidade
Estadual do Oeste do Paraná - Campus de Cascavel, Cascavel, 2005.