Você está na página 1de 22

ANLISE COMPARATIVAPARA AVALIAODE TECNOLOGIAS DE BANCO DE

DADOSPARA DISPOSITIVOS MVEIS

Centro de Ensino Superior de Juiz de Fora, Juiz de Fora, MG


Taiany COELHO
Giuliano PRADO
Resumo: Com o aumento do desenvolvimento de aplicativos mveis houve a necessidade de adequar s ferramentas de armazenamento da informao. Com isso
os Sistemas de Banco de Dados foram adaptados de forma a atender a requisitos
impostos pela mobilidade, atravs da evoluo dos Bancos de Dados Distribudos
para atender a plataforma mvel e suas aplicaes diversas. Trs dos principais
bancos de dados mveis disponveis no mercado sero analisados nesse projeto,
para que funcionalidades e desempenho dos mesmos possam ser testados, de forma que uma anlise comparativa possa ser realizada, a fim de indicar possveis solues na persistncia de dados mveis e desafios futuros para a evoluo dos bancos de dados para esse fim.
Palavras-chave: tecnologia, sistema, desenvolvimento mobile, aplicativos

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)

Com o surgimento da possibilidade dos sistemas serem mveis, criou-se a


responsabilidade de fazer com que essas aplicaes estejam contextualizadas com
a sua dinmica. Novos sistemas operacionais surgiram com interfaces voltadas
praticidade, novas redes de comunicao e os sistemas de bancos de dados tiveram
suas caractersticas reformuladas ou adaptadas, os quais so objetos desse trabalho. Grande variedade de componentes utilizada no desenvolvimento das aplicaes que, ao se mesclarem, concedem programas que se interligam. Cada dispositivo mvel possui uma plataforma, ou seja, as aplicaes precisam ser desenvolvidas
para uma plataforma especfica, seja ela Android, Windows Phone, dentre outras.
1

Com toda a estrutura da aplicao mvel funcionando, houve a necessidade


da informao ser armazenada, para que a mesma possa ser acessada a qualquer
momento. Desta forma, se fez necessrio um sistema de gerenciamento de dados,
os SGDB Mveis, que uma adaptao dos SGBD (Sistemas Gerenciadores de
Bases de Dados) tradicionais para uma nova funo: serem executados em um dispositivo mvel agindo com um papel de servidor de dados local e global.
Os Sistemas de Banco de Dados (SBD) e seus componentes bsicos oferecem todas as ferramentas para confiana, segurana, disponibilidade, acesso eficiente aos dados e integridade. Com isso os SBDs, podem se localizar em redes fixas,
desempenhando uma funo tradicional dos servidores de dados para todos os seus
projetos, como tambm funcionar com um novo papel de servidores de dados locais,
porm, agindo em um dispositivo mvel (Rainone, 2007).
Portanto o primeiro objetivo deste trabalho realizar um levantamento de
pesquisa sobre banco de dados mveis, assim como mostrar os novos recursos oferecidos e as adaptaes realizadas no mesmo. Pretende-se, tambm, fazer um estudo comparativo de desempenho e funcionalidades dentre os trs principais bancos
de dados mveis disponveis no mercado.

2 ESTRUTURA DA ARQUITETURA PARA APLICAES COM BD MVEIS

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

Fonte: Crtes; Lifschitz (2003)


3 FUNDAMENTOS DE SISTEMAS DE BANCO DE DADOS MVEIS

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).

3.1 BANCOS DE DADOS MVEIS

Para possibilitar a existncia dos bancos de dados mveis, as caractersticas


dos bancos de dados centralizados e distribudos foram integradas e adaptadas ao
ambiente mvel. Adaptadas, pois eles possuem caractersticas em comum que precisam ser levadas em considerao. Devido influncia das caractersticas de um
ambiente mvel tais como acesso remoto sem fio, limitao de processamento, largura de banda mvel, dentre outros, o gerenciamento de dados e o controle de concorrncia em ambientes de computao mvel tem sido objeto de pesquisas (Gonalves, 2006).
A seguir so definidas as semelhanas entre os bancos de dados mveis e os
bancos de dados distribudos.

3.2 O GERENCIAMENTO DE DADOS DISTRIBUDOS POR BANCO DE DADOS


MVEIS

Bancos de dados mveis podem ser baseados em gerenciamentos de dados


distribudos em duas possveis situaes:
1. As informaes dos dados esto organizadas principalmente entre os componentes com fio. Uma estao base faz seu prprio gerenciamento de dados, tendo
um SGBD com funcionalidades adicionais para procurar unidades mveis e para
gerenciar consultas e transaes do ambiente mvel.
2. A base de informaes distribuda pelos componentes com e sem fio. A
responsabilidade da gesto dos dados dividida entre as unidades mveis e as estaes base.

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.1 Replicao de Dados e Sincronizao

Replicao a maneira no qual um arquivo ou vrios arquivos so copiado de


seu local de origem para outros locais inclusos em um sistema distribudo. Para garantir a disponibilidade da informao e o desempenho das aplicaes sobre as unidades mveis, os dispositivos levam seus dados replicados, isto , cpias das informaes contidas no banco de dados distribudo. Aps os dados serem distribudos,
os dados so mantidos atualizados de forma que o usurio tenha certeza que est
disponvel para ele verso mais recente da aplicao, esse processo chamado
de Sincronizao. Todos os outros locais que acessam os dados recebem a informao atualizada (Trasel; Veronez, 2005).

3.2.2 Recuperao de Falhas

O mtodo de recuperao a falhas menciona competncia que um sistema


tem de reservar a consistncia do banco de dados devido a falhas que a aplicao
5

pode ter, de operao ou dos meios de comunicao. Por estar em um ambiente


mvel a aplicao est sujeita a falhas tanto do software como do hardware. Uma
parte essencial do sistema de banco de dados um esquema de recuperao responsvel pela deteco de falhas e pela restaurao do banco de dados para um
estado consistente que existia antes da ocorrncia da falha. Para que o sistema no
seja prejudicado devido s falhas em seus componentes, erros devem ser detectados o mais rpido possvel, atravs de um diagnstico apropriado. Para recuperar os
dados, informaes relevantes so armazenadas em um local fixo durante o processamento de transaes. Em sistemas distribudos, a recuperao de falhas baseada em pontos de recuperao, conhecidos como checkpoints. No caso de falhas e
desconexes, a aplicao usa o ltimo checkpoint salvo para reiniciar sua execuo
(Ito, 2001).

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).

3.3 CATEGORIAS BANCOS DE DADOS MVEIS

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.

3.3.1 Banco de Dados Mveis Relacional

Em um banco de dados relacional, todos os dados so guardados em tabelas.


Estas tm uma estrutura que se repete a cada linha. So os relacionamentos entre
as tabelas que as tornam relacionais (Praciano, 2013).

3.3.2 Banco de Dados Mveis Orientado a Objetos

Um banco de dados orientado a objeto um banco em que cada informao


armazenada na forma de objetos, e s pode ser manipuladas atravs de mtodos
definidos pela classe que esteja o objeto. Existem pelo menos dois fatores que levam a adoo desse modelo, a primeira que banco de dados relacional se torna
difcil trabalhar com dados complexos. A segunda que aplicaes so construdas
em linguagens orientadas a objetos (Java, C++, C#) e o cdigo precisa ser traduzido
para uma linguagem que o modelo de banco de dados relacional entenda, tornando
essa tarefa muito tediosa (Galante; Moreira; Brando, 1999).

4 BANCOS DE DADOS MVEIS UTILIZADOS PARA A AVALIO COMPARATIVA

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

simultaneamente suas tabelas. O desenvolvedor cria o banco de dados e as tabelas,


assim como manipula seus dados atravs dos comandos DLL (Data Definition Language) e DML (Data Manipulation Language), que so comando do SQL Padro.
Toda o servio de persistncia de dados fornecido pelo SQLite. Toda a estrutura
do banco de dados fica armazenado junto com a aplicao em um nico arquivo, no
qual possui extenso .db. A base de dados pode ter tamanho superior a 2 terabytes. um gerenciador de banco de dados auto-suficiente, ou seja, independente
de uma estrutura cliente-servidor. Neste caso ele necessita de um apoio mnimo de
bibliotecas externas ou at mesmo do Sistema Operacional, se tornando muito fcil
para ser adaptado para o uso de dispositivos embarcados. Isto o torna flexvel para
muitas plataformas (Lecheta, 2013).

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

O Neodatis um banco de dados mvel orientado objeto, o armazenamento e


a recuperao dos dados so realizados apenas com uma nica linha de cdigo
sem a necessidade de mapear seus objetos para alguma tabela. NeoDatis suporta
transaes ACID para garantir a integridade do banco de dados de dados. suportada na Plataforma Java e esta sendo implantado para .Net, uma ferramenta Open
Source. Seu funcionamento pode ser como um banco de dados embutido no aplicativo ou em um modo tradicional Client Server (Jack, 2007).

5ANLISE COMPARATIVA ENTRE OS BANCOS DE DADOS MVEIS

A proposta deste artigo fazer um estudo avaliativo atravs da comparao


dos bancos de dados citados, visando uma anlise de desempenho e funcionalidades dos mesmos. Objetiva-se, portanto, com esse estudo ajudar aos engenheiros e
desenvolvedores de aplicaes mveis na tomada de deciso em problemas diversos dentro de um projeto, tais como agilidade nos processos, estrutura, facilidade de
implementao, menor custo de ferramentas, etc. Para esta comparao, foram utilizadas as ltimas verses dos bancos de dados mveis:

SQLite 3.4

Neodatis 1.9

DB4Objects 8.0

Tendo como base Pires;Nascimento;Salgado (2007) e Colares (2007) foram


definidos os critrios de comparao presentes nesse artigo. Primeiramente foi utilizada uma ferramenta para testar o desempenho dos bancos analisados, o Benchmark. Um benchmark definido, segundo o dicionrio Webster (Houassis, 2003),
como sendo um padro para medida ou avaliao. As mtricas analisadas medem
agilidade (em qual velocidade uma determina ao foi executada) ou vazo (quantidade de execuo por tempo). Tambm ser feita uma anlise das funcionalidades
que o desenvolvedor se depara diariamente, que podem ou no ajudar na concretizao da aplicao com mais facilidade. Com isso, as abordagens dos critrios vo
ser estabelecidas de caractersticas que envolvem: suporte a stored procedures; suporte a triggers; suporte a Domains; suporte a Cursor; Exportao XML; Tipo de dados para moeda; Views; Transao; Tipos de bloqueio; Ferramentas; Portabilidade.
Para dar suporte a realizao deste estudo, foi criado um projeto Android, na plata9

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.

5.1 Stored Procedures

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

Como todos os bancos utilizados so embarcados, ou seja, no h conexo


com o Servidor, faz com que, a implementao de Stored Procedures no seu cdigo,
no seja necessria, conforme tabela 1. E tambm, o DB4Objects e o Neodatis so
bancos de dados orientados a objeto, os procedimentos so armazenados no objeto
da classe, fazendo com que stored procedures seja desnecessria.

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

Em vez de executar uma consulta inteira de uma s vez, possvel configurar


um cursor que encapsula consulta e permite, ento, ler o resultado em poucas linhas
por vez (Vieira, 2009).
O Cursor armazena o retorno de uma consulta em todos os bancos analisados, com isso se faz necessrio criar uma funo para pegar os dados do Cursor e
11

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.

5.4 Exportao XML

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

Exportao realizada por


funo.
Exportao realizada por
mtodos.
No h exportao XML.

No DB4Objects, conforme tabela 4, no foi implantada uma biblioteca para a


exportao de arquivo XML, todos os outros bancos mveis suportam essa exportao.

5.5 Tipos de dados para moeda

O tipo de moeda determina o tamanho do armazenamento da informao,


com isso os tipos podem ser arredondados seguindo regras aritmticas do mesmo.
Esse arredondamento, que pode acontecer ou no, acarreta problemas srios. Co12

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

Ao fazer a declarao do tipo de uma varivel no SQLite, o tipo da moeda


pode ser Float ou Double porm, durante a execuo do comando o SQLite converte
esses tipos para sua classe de armazenamento. Essa classe de armazenamento s
aceita Real para valores de moeda. No Neodatis e no DB4Objects, por serem bancos orientados a objetos o tipo de dados dos atributos das classes sero implementados no objeto do banco, conforme tabela 5.

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.

Os bancos analisados, de acordo com a tabela 6, por no serem bancos de


dados com um tamanho muito elevado, no tem suporte da estrutura de domnios.

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

Utiliza os mtodos para


formar o objeto.
Utiliza os mtodos para
formar o objeto.

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

Instncia o objeto para a


persistncia.
Instncia o objeto para a
persistncia.

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

5.9 Tipos de Bloqueio

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.

5.10 Ferramentas de Administrao e Gerncia


Bancos de dados mveis possuem uma ampla coleo de ferramentas. Para
a comparao neste documento, iremos tomar como base, as ferramentas de manuteno e administrao dos bancos, as quais so as mais citadas em listas de discusses sobre aplicaes mveis.

SBD

Tabela 10
Ferramenta
Suporta

Comentrios

SQLite

Sim

Neodatis

No

SQLite Express Personal e


SQLite Plus
Nopossuiferramenta.

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

Para o desenvolvimento de aplicativos mveis a empresa precisa saber qual o


plataforma que o mesmo ir funcionar. Portanto, os bancos de dados mveis precisam suportar essa plataforma. A empresa que desenvolve aplicaes mveis cria
toda sua estrutura para o desenvolvimento e com isso os bancos de dados precisa se adaptar a essas condies. Por isso a portabilidade dos bancos mveis um assunto de extrema importncia.

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.

5.12 Anlise de Desempenho (Benchmark)

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

que utilizaremos so: Carga e Estrutura, Selees, Junes, Projees, Agregaes,


Atualizaes. Para cada mdulo h vrios setores, os quais no iro ser citados
aqui, de forma a testarmos o desempenho especfico. Para a medio das mtricas
foi criada em cada implementao dos bancos um contador, no qual antes de executar o comando inicializado e aps a execuo com sucesso retorna a varivel em
tempo, conforme o exemplo da figura 3:
Figura 3
Varivel para medir o tempo do comando

Fonte: Do autor
5.12.1 Carga e Estrutura:

Verifica o tempo de criao da estrutura dos bancos de dados, assim como a


insero dos dados.

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:

Esse mdulo verifica o poder dos bancos de dados de utilizarem ndices em


consultas. Os bancos de dados mveis precisam escolher corretamente se iro utilizar ndices ou fazer a leitura completa da tabela. Baseia-se no operador SQL Select.

Selees de dados

SQLite
0,3s

Tabela 13
Selees
Neodatis
0,5s

DB4Objects
0,3s

5.12.3 Junes e Projees:

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

5.12.4 Agregaes e Atualizaes:

O mdulo de Agregaes usa como base o operador SQL Group By para


agregaes, no qual agrupa os dados de acordo com uma coluna. Os teste para
Atualizaes verificam a integridade do banco e o desempenho das operaes insert,update,delete.

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

Nos demais Sistemas de Banco de Dados estudados, h a necessidade de


importao das extenses para o seu projeto. Por serem Orientado a Objetos, conseguem captar a informao na forma de objetos e com isso, a manipulao feita
apenas por mtodos definidos pela classe que define o objeto. Com isso o conceito
de gerenciamento de banco de dados acaba se perdendo gradativamente, j que a
gerncia dos bancos feita pelos mtodos. Dessa forma, algumas funes bsicas
do conceito de Banco de Dados acabam se perdendo nos conceitos dos bancos
Orientado a objetos, tais como: views, ferramenta de administrao, ferramentas de
relatrio e padres de recuperao. SGBDOO ainda esto sendo muito analisados e
testados no mercado atual, com vrios testes e funcionalidades novas sendo criadas, de forma a atender todo o cenrio mvel.
Para a melhor adequao dos bancos de dados mveis nas aplicaes, se
faz necessria a implantao de melhores funcionalidades e ferramentas disponveis
em bancos de dados tradicionais (tais como o SQL Server, MySQL, Oracle, dentre
outros). Exemplos de funcionalidades que precisam ser adicionadas aos BD mveis
seriam implementao de Stored Procedures, criao de chaves estrangeiras para
manter a consistncia dos dados, servios de relatrio, criao de tabelas temporrias, varivel temporria, ferramentas de criao de diagramas das tabelas.
Em pesquisas futuras, pode-se verificar quais desses pontos levantados anteriormente foram adequados aos bancos de dados mveis, permitindo assim que o
cenrio mvel de persistncia dos dados se torne mais amplo e com uma carga de
recursos maiores.

REFERNCIAS

BASTOS, Bruno Pinheiro; JERNIMO,Eduardo Bonfim. Sistemas Mveis Parte


04.Publicao Artigo: DevMedia Mobile Magazine, Maio.2009.

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.

CASERTA, Thiago. Dominando Stored Procedures. Publicao Artigo: DevMedia


Mobile Magazine, 2012.
20

COLARES, Flvio Martins. Anlise Comparativa de Bancos de Dados Gratuitos. Publicao Monografia: Faculdade Loureno Filho, Fortaleza. 2007.

CONCEIO, Marcos Flvio Rocha. Banco de Dados Mveis. Publicao Artigo:


Universidade Presidente Antnio Carlos, Barbacena. 2005.
CORTS, Srgio da C.;LIFSCHITZ, Srgio. Banco de dados para um ambiente de
computao mvel. XXIII Congresso da Sociedade Brasileira de Computao
SBC. 2003.

ELMASRI, Ramez; NAVATHE, Shamkant B. Fundamentals ofDatabase Systems


Traduo de Marlia Guimares Pinheiro. Reviso Tcnica de Luis Ricardo de Figueiredo, So Paulo. 2005.
FIGUEIREDO, Carlos Maurcio Serdio. Introduo Computao Mvel. Disponvel
em: <http://www.ufpi.br/subsiteFiles/ercemapi/arquivos/files/palestras/palestra3.pdf >.
Acesso em: 24 de Fevereiro de 2014.

GALANTE, Alan Carvalho; MOREIRA, Elvis Leonardo Rangel; BRANDO, Flvio


Camilo. Banco de Dados Orientado a Objetos: Uma Realidade. Publicao Artigo:
Faculdade Salesiana Maria Auxiliadora, Maca. 1999.

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.

JARUZO, Regis. View (Viso). Disponvel em:


<http://fortium.edu.br/blog/regis_jaruzo/files/2010/11/View.pdf>. Acesso em: 13 de
Maio de 2014.

LECHETA, Ricardo R. Google Android: Aprenda a criar aplicaes para dispositivos


mveis com Android SDK. Editora Novatec. Ed: 3. So Paulo, Maro. 2013.

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.

PRACIANO, Elias. O que um banco de dados Relacional? Disponvel em:


<http://elias.praciano.com/2013/09/o-que-e-um-banco-de-dados-relacional/>. Acesso
em: 18 de Junho de 2014.

RAINONE, Flvia. Banco de Dados Mveis. Disponvel em:


<grenoble.ime.usp.br/movel/bancos_moveis.ppt>. Acesso em: 20 de Maro de 2014.

SANTANA, Magno. Artigo webMobile 28 - Mobilidade com DB4Objects. Publicao


Artigo: DevMedia webMobile 28, 2010.
VIEIRA, Sidney. Tecnologia de Banco de Dados Cursores. Disponvel em:
<http://www.sidneyvieira.kinghost.net/abas/disciplinas/download/ES_Tecnologia_BD
_Cursores.pdf>. Acesso em 24 de Maio de 2014.

22