Você está na página 1de 25

WBA0479_v1.

Banco de Dados para


Dispositivos Mobile
Gerenciadores de banco de
dados para aplicações mobile
Bloco 1
Ariel da Silva Dias
Gerenciadores de banco de dados para aplicações mobile
• SGBD (Sistema de Gerenciamento de
Banco de Dados).
• Organização dos dados antes dos
SGBDs.
• Nome, Sobrenome, Idade,
Salário | André, Alves, 24, R$
2310 | Bia, Bello, 28, R$ 2440 |
Cadu, Calvin, 26, R$ 2192 |
Daniel, Donizetti, 27, R$ 2248.
Gerenciadores de banco de dados para aplicações mobile

• SGBD (Sistema de Gerenciamento de Banco de Dados).


• Gerencia:
• Dados.
• Mecanismos de banco de dados.
• Esquema do banco de dados.
Gerenciadores de banco de dados para aplicações mobile
Figura 1 – Arquitetura de uma aplicação mobile com banco de dados

Base de
dados

SGBD

APP APP APP

Fonte: elaborada pelo autor.


Gerenciadores de banco de dados para aplicações mobile

• Modelos de banco de dados:


• SGBD relacional.
• SGBD não-relacional.
• SGBD na memória.
• SGBD colunar.
Gerenciadores de banco de dados para aplicações mobile

• Sistema de Gerenciamento de
Banco de Dados Relacional:
• Adaptável à maioria dos
casos.
• Exemplos: MySQL e
PostgreSQL.
Gerenciadores de banco de dados para aplicações mobile

• Sistema de Gerenciamento de
Banco de Dados Não-Relacional:
• Velocidade e
escalabilidade.
• Exemplos: MongoDB e
Couchbase Lite.
Gerenciadores de banco de dados para aplicações mobile

• Sistema de Gerenciamento de Banco


de Dados na Memória.
• Tempo de resposta mais rápido
e melhor desempenho.
• Exemplos: SAP Hanna e Mongo
In-Memory Storage.
Gerenciadores de banco de dados para aplicações mobile

• Sistema de Gerenciamento de Banco de Dados Colunar:


• Adequado para data-warehouse.
• Exemplos: Redshift e BigQuery.

Figura 2 – Banco de dados linear versus Banco de dados colunar

Fonte: elaborada pelo autor.


Gerenciadores de banco de
dados para aplicações mobile
Bloco 2
Ariel da Silva Dias
Gerenciadores de banco de dados para aplicações mobile

• Muitos SGBDs disponíveis


no mercado:
• Qual o melhor?
Gerenciadores de banco de dados para aplicações mobile

• Critérios para escolha de um SGBD:

Figura 3 – Critérios para escolha de um SGBD

Fonte: elaborada pelo autor.


Gerenciadores de banco de
dados para aplicações mobile
Bloco 3
Ariel da Silva Dias
Gerenciadores de banco de dados para aplicações mobile

• Boas práticas de trabalho com SGBDs.


Gerenciadores de banco de dados para aplicações mobile

• Cache preditivo:
• Aplicado para melhorar o
desempenho do
aplicativo.
• Serve dados
armazenados em cache.
• Exemplo: MongoDB.
Gerenciadores de banco de dados para aplicações mobile

• Método MVCC (Multiversion


Concurrency Control):
• Considere bancos com
MVCC.
• Permite visualizar os dados
antes das alterações.
• Exemplos: Firebird e
MongoDB.
Gerenciadores de banco de dados para aplicações mobile

• Baixa latência:
• Quanto tempo você espera por
receber um dado?
• Replicar dados é uma solução.
• Exemplos: MongoDB e PostgreSQL.
Teoria em Prática
Bloco 4
Ariel da Silva Dias
Reflita sobre a seguinte situação
Você está desenvolvendo uma aplicação de prestação de serviço
eletrônico na área de transportes nos mesmos moldes da Uber. Vocês
sabem que o volume de dados aumentará rapidamente devido ao
crescimento do número de viagens. Além disso, toda pesquisa em
banco de dados precisa ser muito rápida, afinal, são milhares de
requisições (leitura e escrita) ocorrendo ao mesmo tempo. Logo, o
tempo de pesquisa e a latência devem ser o menor possível. Então,
você possui três questões sensíveis: aumento significativo do volume
de dados em um curto prazo de tempo, agilidade na leitura e escrita no
banco, além da baixa latência. Como você e sua equipe poderiam criar
uma lista de possíveis bancos de dados para utilizar neste projeto? Dos
bancos de dados disponíveis e do seu conhecimento, quais deles são
candidatos fortes para atender com sucesso os requisitos do seu
aplicativo?
Norte para a resolução...
• A primeira etapa no desenvolvimento do aplicativo é definir o banco de dados. Para
isso, deve-se seguir alguns critérios como a análise do volume de dados que será
produzido, a escalabilidade e a velocidade que este volume de dados aumentará
com o tempo, a segurança dos dados, como serão modelados e também
estruturados os dados no banco.

• Aplicativos como este, podem requerer gerenciadores de banco de dados para fins
diferentes. Alguns dados, podem ser armazenados localmente, como os dados do
usuário, métodos de pagamento e contatos. Deste modo, um banco de dados como
SQLite pode atender as necessidades por ser rápido e fornecer recursos localmente.
Por outro lado, informações como endereço e motoristas (ou seja, o conteúdo), por
exemplo, por se tratar de uma base de dados muito maior e complexa, deve ser
acessada em um servidor web. Um SGBD forte candidato é MongoDB,
principalmente pela facilidade de armazenar grandes volumes de dados de entrada
e também pela agilidade no processo de leitura e escrita.
Dica da Professora
Bloco 5
Ariel da Silva Dias
Série

• Black Mirror.
• A tecnologia melhora nossas vidas, mas e se
ela for longe demais?
• A série aborda os lados sombrios do uso da
tecnologia.
• O nome Black Mirror faz uma referência à tela
preta de celulares e computadores.
Referências
COUCHBASE. Couchbase for Mobile/Edge. Disponível em:
https://docs.couchbase.com/home/mobile.html. Acesso em: 20 ago. 2020.

ELMASRI, Ramez E.; NAVATHE, Shamkant B. Sistemas de Banco de Dados. 6.


São Paulo: Pearson, 2011.

MONGODB. MongoDB. Disponível em: https://www.mongodb.com/. Acesso


em: 20 ago. 2020.

REALM. What is Realm Platform?. Disponível em:


https://docs.realm.io/sync/what-is-realm-platform. Acesso em: 20 ago. 2020.
Bons estudos!

Você também pode gostar