Beruflich Dokumente
Kultur Dokumente
1 INTRODUO
O sistema de informao mvel surgiu para atender as necessidades de informao acessvel independente da localizao. Esses novos sistemas esto ganhando destaque no mercado popular, com suas ferramentas de comunicao e entretenimento.
As aplicaes mveis esto associadas com a capacidade de locomoo do
hardware, dados e software em aplicaes computacionais. Ela tornou-se
possvel graas integrao das comunicaes mveis e das tecnologias
que envolvem microcomputadores. (Corts; Lifschitz,2003)
Para que as aplicaes funcionem de forma a atender as exigncias do ambiente mvel foi necessrio encontrar alternativas para fazer a aplicao funcionar
adequadamente. Essas alternativas servem para que as aplicaes mveis consigam executar suas funes remotamente. Os chamados Agentes Mveis tm essa
funo principal, de levar as instrues, dados e um estudo de execuo. Para que a
informao seja acessada remotamente precisa existir em volta da computao uma
arquitetura montada, a qual ir dar suporte a toda estrutura para a aplicao.
Agentes mveis so programas enviados de uma mquina para executar uma
tarefa remotamente. As caractersticas que esto por volta desse programa tm como funo a cooperao, autonomia, representatividade com a finalidade de suprir
as necessidades para o bom funcionamento de modelos que utilizam esse paradigma. Dois fatores principais motivam a utilizao dos agentes mveis em Banco de
Dados Mveis. Primeiramente, os agentes mveis dispem de um mtodo gil e eficiente para obter informaes ou servios. Clientes mveis so lanados na rede e
procuram em toda parte pela informao ou servio desejado. Outra caracterstica
2
dos agentes mveis que eles suportam as interrupes das conexes, as redes
lentas e os equipamentos com poucos recursos. Este fator torna a utilizao dos
agentes mveis imprescindvel para a computao mvel (Galliano, 2007).
Os bancos de dados mveis utilizam parte da arquitetura mvel para trafegar
a informao, de modo que os seus dados no sejam perdidos por qualquer interveno do espao geogrfico. Um Host Mvel acessa um banco de dados em um
Host fixo (no caso do banco ser embutido na aplicao) ou em um Host Mvel. O
Host Mvel pode ser o Cliente ou o servidor de uma requisio, dependendo da aplicao a qual se deseja persistir as informaes.
Figura 1
Arquitetura Genrica de um Ambiente de Computao Mvel
Um sistema de banco de dados mvel definido pelo acesso base de dados atravs de uma ligao sem fio. Um Sistema de Banco de Dados constitudo
pelos bancos de dados, pelo Sistema Gerenciamento Banco de Dados, assim como
pelas aplicaes para atualizao e consulta aos dados. Para a efetiva execuo e
3
persistncia dos dados de todo o cenrio citado anteriormente, tornam-se necessrias mudanas na poltica tradicional dos bancos de dados. O banco de dados mveis uma adaptao dos Sistemas de banco de dados distribudos, com o novo
conceito da mobilidade na qual existem restries impostas pelos ambientes de comunicao mvel: a limitada largura de rede de comunicao sem fio, a mobilidade
e as frequentes desconexes dos dispositivos mveis, assim como a mobilidade dos
dados (Conceio, 2005).
Com isso, segundo Elmasri e Navathe (2005), muitas das funes de gerenciamento de dados distribudos tambm se aplicam aos bancos de dados mveis,
desde que os seguintes pontos sejam levados em considerao:
Distribuio de dados e replicao Os dados como j visto, tem a opo
de no estar totalmente distribudos entre as estaes base e as unidades mveis.
Devido a esse fator, as restries de consistncia aumentam a questo em volta do
problema de gerenciar os dados em cache. Dessa forma, esta precisa adequar
unidade mvel o acesso queles dados mais repetidamente acessados e atualizados;
Modelos de transao No ambiente mvel a questo em relao as tolerncia a falhas e a ocorrncia das transaes so mais difceis de serem manipuladas. A transao mvel concretizada atravs de diversas estaes base e possivelmente e um agrupamento de dados, dependendo da localizao e da locomoo
da unidade mvel. A composio principal da implantao de uma transao fica
escassa, por exemplo, quando se tema base dividida pelos componentes com e sem
fio. Com isso, as propriedades ACID (atomicidade, consistncia, isolamento e durabilidade) das transaes podem precisar de ajustes e novos modelos de transao
devem ser redefinidos de modo que atende as exigncias da mobilidade.
3.2.3 Segurana
Os riscos de segurana de sistemas e de redes de computadores so agravados quando inseridos no ambiente mvel, muito mais propenso a ataques e falhas. Na computao mvel, a portabilidade dos dispositivos usados pode levar
perda das unidades, o que caracteriza perda de dados e de confidencialidade. A
nica forma de prevenir a falta de confiabilidade o uso de encriptao (encryption,
fase da criptografia) e de mecanismos que assegurem identificao, autenticao e
controle de acesso. Estas no so caractersticas particulares de segurana em ambiente mvel, a no ser pelo fato de que a proteo de um dispositivo mvel deve
ser simplificada, devido escassez de recursos e pouco poder de processamento
destes computadores (Camargo, 2003).
Algumas categorias de bancos de dados mveis esto disponveis no mercado, a seguir sero listadas as categorias que definem os trs bancos analisados
nesse artigo.
Nessa seo sero apresentados os principais Bancos de dados mveis gratuitos utilizados no desenvolvimento de aplicaes mveis, segundo o critrio de
usabilidade pelo mercado. A escolha destes bancos de dados foi feita de acordo
com o nmero de sistemas mveis que os utilizam, j que no levantamento de dados
para a realizao desse artigo foi constatado um maior volume de material disponvel para pesquisa, tais como: artigos e dissertaes publicadas, assim como fruns
de discusses em volta de banco de dados mveis.
4.1 SQLITE
O SQLite um Banco de Dados Open Source e relacional, sendo uma influente biblioteca de banco de dados baseado em SQL (Structured Query Language)
que tem como funo ser parecido com um gerenciamento de banco de dados, no
qual alguma das suas funes manter o controle de diversos bancos de dados e
7
4.2 DB4OBJECTS
O DB4Objects um banco de dados orientado a objetos criado a princpio para a plataforma Java, podemos encontrar no mercado uma verso disponvel tambm para .NET. No existe necessidade de instalar e configurar um servidor de banco de dados para esse banco. O tamanho de utilizao de memria desse banco
de 400kb, com isso o DB4Objects diminui consideravelmente o uso de recurso computacional.Com a utilizao de um banco de dados orientado a objetos exclui o uso
de ferramenta e cdigos para mapear o objeto relacional, os quais levam ao aumento da complexidade da manuteno do cdigo.
As formas possveis de obter uma conexo entre a aplicao e o Db4Objects
so:
- Conexo Direta, no caso de aplicaes embarcadas;
- Cliente / Servidor: A forma padro de conexo com um SGBD;
- Cliente / Servidor Embutido: No h necessidade de um servidor externo,
bastando instanciar um servidor na maquina de aplicao.
Essa interface fornece mtodos para armazenar, consultar e excluir objetos e
representa uma conexo com um servidor ou um banco de dados local (Santana,
2010).
4.3 NEODATIS
SQLite 3.4
Neodatis 1.9
DB4Objects 8.0
forma Eclipse, na linguagem Java. O objetivo essa aplicao era realizar o procedimento de matrcula de um aluno a um curso disponvel num sistema para cursos
tcnicos. Segue a estrutura de tabela dos bancos de dados implantados nesse artigo, de modo que todos os bancos mveis analisados apresentam a mesma estrutura, conforme figura 2:
Figura 2
Modelo Lgico dos Dados
Fonte: Do autor
Os recursos analisados sero transcritos nas prximas sees, com um quadro comparativo entre os bancos analisados.
So procedimentos nos quais vrios comandos so criados, ou seja, subrotinas, de forma a ser reutilizado em momentos necessrios. So guardados no
servidor a fim de serem reutilizadas (Caserta, 2002).
SBD
Tabela 1
Stored Procedures
Suporta
SQLite
No
Neodatis
No
DB4Objects
No
Comentrios
Banco embarcado, no h
necessidade de reutilizao de procedimentos.
Banco embarcado e orientado a objeto.
Banco embarcado e orientado a objeto.
10
5.2 Triggers
Uma trigger uma ao na qual alguma instruo (delete, insert, update) do
banco for disparada. Evita a inconsistncia dos dados (Colares; Martins, 2007).
SBD
Tabela 2
Triggers
Suporta
SQLite
Sim
Neodatis
Sim
DB4Objects
Sim
Comentrios
suportada para cada
gatilho de linha, no para
cada gatilho de instruo.
Utiliza triggerem seus mtodos.
Utiliza triggerem seus mtodos.
De acordo com a tabela 2, pode-se concluir que em todos os bancos de dados mveis analisados podem utilizar triggers como funcionalidades. No caso do
SQLite a trigger no tem a mesma funo que os demais bancos, seu funcionamento de acordo com uma clusula (When), que implica que as instrues que esto
na trigger pode ser executada para cada linha do banco de dados que est sendo
inserido, atualizado ou excludo.
5.3 Cursor
criar um Objeto para ser utilizada na aplicao, isto no caso de aplicaes Orientada
a objeto, como o caso analisado. De acordo com a tabela 3, todos os bancos analisados suportam essa funcionalidade.
SBD
Tabela 3
Cursor
Suporta
SQLite
Sim
Neodatis
Sim
DB4Objects
Sim
Comentrios
Objeto do cursor utilizado na aplicao.
Objeto do cursor utilizado na aplicao.
Objeto do cursor utilizado na aplicao.
Em algumas aplicaes, existe a necessidade de exportar os dados armazenados no banco de dados para arquivos XML, de forma a trocar as informaes dinamicamente.
SBD
Tabela 4
Exportao XML
Suporta
SQLite
Sim
Neodatis
Sim
DB4Objects
No
Comentrios
mo, por exemplo, um centavo em mil pedidos de compra ou dez centavos em cem
transferncias bancrias.
SBD
Tabela 5
Tipos de dados de moeda
Suporta
Comentrios
SQLite
Sim
Neodatis
Sim
DB4Objects
Sim
Real, armazenado em 8
bytes
Float, 32 bites e Double 4
bits
Float, 32 bites e Double 4
bits
5.6 Domains
Um domnio criado a partir de um conjunto de restries, ou seja, ao criar
uma tabela, ou um campo de uma tabela em um domnio todas as caractersticas do
domnio so atribudas para a tabela. Domnios so utilizados para sistemas muito
grandes (Colares, 2007).
SBD
Tabela 6
Domains
Suporta
Comentrios
SQLite
No
Tamanho Pequeno.
Neodatis
No
Tamanho Pequeno.
DB4Objects
No
Tamanho Pequeno.
13
5.7 Views
Views funcionam como tabelas virtuais, na qual formada uma tabela com
um conjunto de resultados de uma ou mais tabelas (Jaruzo, 2010).
SBD
Tabela 7
Views
Suporta
Comentrios
SQLite
Sim
Somente Leitura.
Neodatis
No
DB4Objects
No
No SQLite pode ser includas views, porm, elas servem apenas para leitura,
ou seja, no h como inserirmos, atualizarmos ou excluirmos dados direto na view.
Nos outros dois bancos as views no so suportadas, conforme tabela 7, j que a
finalidade do banco orientado a objeto apenas para a persistncia de dados, no
havendo necessidade de tabelas virtuais.
5.8 Transao
Uma transao um conjunto de aes que devem ser realizadas com sucesso em tabelas, antes que essa ao seja feita permanentemente. Serve para
manter a integridade do banco de dados.
SBD
Tabela 8
Transao
Suporta
Comentrios
SQLite
Sim
Instruo executa.
Neodatis
Sim
DB4Objects
Sim
As transaes em bancos orientados so abertas quando se instancia o objeto para o banco de dados. No SQLite, a transao aberta quando um conjunto de
instrues executada, de acordo com a tabela 8.
14
O bloqueio em banco de dados tem como funo: impedir que duas transaes simultneas acessem a mesmo dado ou recurso ao mesmo tempo. Nos bancos
citados na tabela 9, existem funes ou mtodos que bloqueiam a informao at
que o comando tenha sido executado com sucesso, evitando assim, que outros comandos interfiram na ao desejada.
SBD
Tabela 9
Tipos de Bloqueio
Suporta
Comentrios
SQLite
Sim
Funes.
Neodatis
Sim
Mtodos.
DB4Objects
Sim
Mtodos.
SBD
Tabela 10
Ferramenta
Suporta
Comentrios
SQLite
Sim
Neodatis
No
DB4Objects
No
Nopossuiferramenta.
O SQLite Express Personale o SQLite Plus so ferramentas na qual h possibilidade de visualizar todos os bancos de dados existentes assim como gerenciar os
campos, ndices, views e triigers. Sua interface de simples e intuitiva. Nos outros
dois bancos de dados no h ferramenta especfica de manuteno e administrao
dos dados, de acordo com a tabela 10, j que a manuteno e a administrao so
feitas pelos mtodos.
15
5.11 Portabilidade
SBD
SQLite
Tabela 11
Portabilidade
Plataformas
Neodatis
Blackberry
OS;Windows
8;IOS;Android
Android
10
Phone
DB4Objects
Windows Mobile;Android
O SQLite suportado em mais plataformas devido a sua facilidade de implementao e materiais de suporte para a implantao, conforme tabela 11. Nos bancos orientados a objeto so suportadas em menos plataformas j que suas funcionalidades ainda so um pouco mais escassas.
No Android existem Benchmarks que medem o desempenho do sistema operacional, alguns exemplos so: AnTuTU Benckmark, Vellamo Benckmark, Quadrant
Benchmark entre outros, disponveis no site oficial da Google Play(Google,2014).
O SQLite disponibilizou uma verso do seu Benchmark no Google Play. Esse aplicativo gera uma comparao do desempenho do seu aparelho e verso Android, com os outros modelos e verses disponveis no mercado. A aplicao dos
testes a seguir foi baseada nos padres dos testes do Benckmark, no qual dividida
por mdulos, que podem ser executados em conjunto ou separadamente, no caso
desse artigo iremos a adotar a execuo dos testes individualmente. Os mdulos
16
Fonte: Do autor
5.12.1 Carga e Estrutura:
Criao de Tabelas
Carga Tabelas
Tabela 12
Carga e Estrutura
SQLite
Neodatis
0,13s
0,30s
0,47s
0,50s
DB4Objects
0,34s
0,61s
17
5.12.2 Selees:
Selees de dados
SQLite
0,3s
Tabela 13
Selees
Neodatis
0,5s
DB4Objects
0,3s
Nesse teste verifica a eficincia das consultas na juno de duas, trs ou quatro tabelas. Em termos de Projees, os testes baseiam-se no operador SQL Distinct. Neste caso as linhas que so duplicadas, viram apenas uma linha.
Junes Tabelas
Projees dados
Tabela 14
Junes e Projees
SQLite
Neodatis
0,4s
0,8s
0,3s
0,5s
DB4Objects
0,7s
0,6s
Agregaes dados
Delete
Insert
Update
Tabela 15
Agregaes e Atualizaes
SQLite
Neodatis
0,2s
0,4s
0,2s
0,4s
0,1s
0,2s
0,2s
0,3s
DB4Objects
0,6s
0,5s
0,1s
0,3s
18
6 CONCLUSO
No cenrio analisado, foi concludo que devido o SQLite ter comandos e funes herdados de uma linguagem de banco de dados muito utilizada, o SQL, assim
como sua fcil implementao e gerenciamentos dos dados, desencadeou uma
maior aceitao nos ambientes mveis, e principalmente na plataforma Android, a
qual foi utilizada nesse artigo. H uma API na qual a prpria aplicao se encarrega
de criar e controlar a verso do banco de dados. A variedade de documentos encontrados sobre esse banco de dados consideravelmente maior do que para os demais citados nesse artigo. Nos testes apresentados nesse estudo, foi verificado o
maior desempenho do SQLite na maioria dos casos analisados, de acordo com a
tabela 16, assim como h um maior suporte as principais funcionalidades que um
desenvolvedor mvel precisa ter acesso, conforme tabela 17, de forma a facilitar o
implementao do banco na aplicao.
Tabela 16
Quadro comparativo Desempenho
Desempenho
BD
Atualizaes
(Soma: Insert
Selees Junes Projees Agregaes
+ Delete +
Update)
Criao
tabelas
Carga
Tabelas
SQLite
0,13s
0,47s
0,3s
0,4s
0,3s
0,2s
0,5s
DB4Objects
0,30s
0,5s
0,5s
0,8s
0,5s
0,4s
0,9s
Neodatis
0,34s
0,61s
0,3s
0,7s
0,6s
0,6s
0,9s
Tabela 17
Quadro Comparativo Funcionalidades
Funcionalidades
Stored Procedures e
Domains
Exportao
XML
No suporta
Suporta
Tipos de
Dados de
moeda, Triggers e Cursor
Suporta
DB4Objects No suporta
No suporta
Neodatis
Suporta
Suporta
No suporta
Suporta
No suporta
1 Plataforma
No suporta
Suporta
No suporta
Suporta
No suporta
2 Plataformas
BD
SQLite
Views
Tipos de
Bloqueio e
Transao
Ferramenta
Portabilidade
Suporta
Suporta
Suporta
4 Plataformas
Na programao para Android, o SQLite j vem embutido no pacote de desenvolvimento, fazendo assim com que a nica preocupao do programador seja
herdar as classes do SQLite.
19
REFERNCIAS
CAMARGO, Murilo Silva. Um estudo dos principais modelos de transaes em Banco de Dados Mveis e uma proposta diferenciada do modelo Pro-motion. Dissertao Publicada: Universidade Federal de Santa Catarina. Florianpolis, Outubro.2003.
COLARES, Flvio Martins. Anlise Comparativa de Bancos de Dados Gratuitos. Publicao Monografia: Faculdade Loureno Filho, Fortaleza. 2007.
GALLIANO, Eduardo. Bancos de Dados Mveis. Publicao artigo: Centro de Informtica da Universidade Federal de Pernambuco, Londrina. 2007.
GONALVES, Luciana Siqueira. Banco de Dados Mveis Um estudo introdutrio.
Defesa Mestrado: Centro de Ensino Superior CES. Juiz de Fora. 2006.
GOOGLE. Google Play. Disponvel em: <https://play.google.com>. Acesso em 15 de
Maio de 2014.
HOUASSIS, Antnio. Mini Websters Dicionrio Ingls/Portugus. Editora Record,
Rio de Janeiro. 2003.
ITO, Giani C. Bancos de dados mveis: uma anlise de solues propostas para
gerenciamento de dados. Dissertao Mestrado: Universidade Federal de Santa
Catarina, Florianpolis. 2001
21
JACK, Eti. Informao e Contedo sobre Ti: Conhea o NeoDatis ODB. Disponvel
em:<http://www.jack.eti.br/conheca-o-neodatis-odb/>. Acesso em: 22 de Maio de
2014.
PIRES, Carlos Eduardo Santos; NASCIMENTO, Oscar Rilson; SALGADO, Ana Carolina. Comparativo de Desempenho entre Bancos de Dados de Cdigo Aberto. Publicao Artigo: Universidade Federal de Pernambuco, 2007.Recife.
22