Banco de DadosIntrodução Em outros tempos, os bancos de dados eram locais, acessados apenas por um...
Transcript of Banco de DadosIntrodução Em outros tempos, os bancos de dados eram locais, acessados apenas por um...
Banco de Dados
MSc. MARCELO AIRES
▸ Criação de nova Activity▸ Evento de toque em botão/widget▸ Mudança de Activity sem informação▸ Mudança de Activity com informação
Relembrando
2
▸ Introdução▸ Tipos de Bancos de Dados
▹ OldSQL (Relacionais)▹ NoSQL (Not Only SQL)▹ New SQL
Agenda
3
Introdução▸ Em outros tempos, os bancos de dados eram locais, acessados apenas
por um computador e seus próprios recursos.▸ Com a Internet, as conexões foram ampliadas e os bancos de dados
passaram a fornecer dados a uma rede mundial.▸ A questão é como gerenciar, monitorar e armazenar essa quantidade
de dados?▹ Problemas como segurança, espaço, controle de acesso, etc, devem ser
levados em consideração.
4
Introdução▸ Conceito
▹ Banco de Dados (BD ou DB - Database) é um conjunto de dados com certa organização característica, com o objetivo de armazenar os dados persistentemente e dotado de mecanismos de manipulação para obtenção de informações e recuperação posterior, dentro de um sistema de informação (Medeiros, 2013).
5
Introdução▸ Para que um banco de dados seja eficiente, pelo menos 3
características devem ser consideradas (Medeiros, 2013):▹ Evitar redudância (duplicidade)▹ Evitar inconsistências (informações incorretas e despadronizadas)▹ Buscar integração (relacionamento entre bases)
▸ Para usar bancos de dados, a maioria dos sistemas de utilizando de um Sistema de Gerenciamento de Banco de Dados (SGBD).
6
Tipos de Banco de Dados
7
Tipos de Banco de Dados (SGBDs)▸ Basicamente, são 3 tipos mais difundidos:
▹ OldSQL (Relacionais tradicionais)▹ NoSQL (Not Only SQL)▹ NewSQL (Novos relacionais)
8
OldSQL -Relacionais Tradicionais
9
Modelo
OldSQL (Relacionais)▸ Vantagens
▹ integridade dos dados (ACID), “padronizado”, mais utilizado e consolidado
▸ Aplicações▹ bolsa de valores, bancos, e-commerce, criptomoedas…
▸ Desvantagens▹ Esquema rígido e “Não escalável”
11
NoSQL -Não relacionais e escaláveis
13
...com variadas estruturas
16
NoSQL (Not Only SQL)▸ Vantagens
▹ distribuído, alto desempenho e esquema flexível▸ Aplicações
▹ redes sociais, big data, cache, listas diversas, etc▸ Desvantagens
▹ consistência eventual, sem padrão e “não SQL”
17
Chave-Valor
Modelo
20
Chave-Valor▸ Vantagens
▹ baixa latência, simplicidade, escalabilidade, fácil programação▸ Aplicações
▹ cache, fila de processos, timeline (redes sociais)▸ Desvantagens
▹ pesquisa apenas pela chave, criação de chaves, falta de padronização
21
Grafo
Modelo
24
Grafo▸ Vantagens
▹ flexibilidade, uso semântico, interligação▸ Aplicações
▹ redes sociais▸ Desvantagens
▹ escalabilidade, busca direta por um nó, falta de padronização
25
Coluna
Modelo
28
Grafo▸ Vantagens
▹ flexível, escalabilidade, mais próximo do modelo relacional, alguns utilizam linguagem próximo ao SQL
▸ Aplicações▹ aplicações OldSQL flexíveis com menos consistência e consultas
com filtros▸ Desvantagens
▹ pesquisa e configuração mais complexa
29
Documento
Modelo
32
Documento▸ Vantagens
▹ flexibilidade, fácil programação, escalabilidade▸ Aplicações
▹ lista de produtos, geolocalização, sistemas simples▸ Desvantagens
▹ falta de padronização e consistência eventual
33
NoSQL é melhor que OldSQL?
Concorrência por Custo
NewSQL -Novos Relacionais
38
NewSQL
40
padrõesrelacionalACID
OldSQL
escalabilidadedistribuído
RAM
NoSQL
NewSQL▸ Características:
▹ SQL como interação entre o SGBD e aplicação▹ Suporte para ACID▹ Controle de concorrência (para conflitos de I/O)▹ Arquitetura escalável (funciona com um grande número de nós)▹ Memória distribuída
41
NewSQL▸ Vantagens
▹ SQL, escalabilidade, ACID, velocidade, particionamento▸ Aplicações
▹ todos os sistemas que necessitam de escalabilidade (Big Data com integridade)
▸ Desvantagens▹ Não atende todos os casos, esquema pouco flexível
42
43
Atenção na escolha44
Aplicativo <- SGBD
45