Upload
orlando-vitali
View
499
Download
2
Embed Size (px)
Citation preview
RDMS, NOSQL E NEWSQLVisão geral entre os principais modelos de bancos de dados atuais
OBJETIVOS Dar uma visão geral sobre as caracteristicas e diferenças
entre os bancos relacionais e bancos NoSQL; Compartilhar conhecimento;
O QUE SÃO BANCOS DE DADOS?• Um banco de dados é um sistema para armazenamento de
qualquer tipo de dados eletrônicos;• E um SGBD (Sistema Gerenciador de banco de dados)?
É um sistema que facilita o acesso e o gerenciamento do banco de dados, além de fornecer diversos outros recursos;
BANCOS RELACIONAIS (RDBMS)• Estruturado;• SQL;• ACID (Atomicidade, Consistência,
Disponibilidade, Durabilidade);
•TABELASnúmero_conta nome_agência saldo
A-101 Downtown 500A-102 Perryridge 400A-201 Brighton 900A-215 Mianus 700A-217 Brighton 750A-222 Redwood 700A-305 Round Hill 350
PRÓS E CONTRASPrós Padronizado; Linguagem de consulta robusta
e eficiente (SQL); Seguro (ACID); Modelo fácil de entender; Triggers; Joins; Chaves compostas; Estruturado; ...
Contras Escalamento vertical; Difícil e caro de particionar e
escalar horizontalmente, quando possível;
Modelagem não atende a todos os casos; Não gerencia com muita eficiência dados não estruturados/mídias;
Estruturado; ...
BANCOS NOSQL Não estruturados;
Consistência eventual, Teorema CAP (Consistency, Availability, Partitions tolerance);
Bancos distribuídos e de alto desempenho;
Rodam em memoria principal;
Dados armanezados em forma de Grafos, Search-Engines, Chave-Valor, Documentos, Wide Colunms....
MAS COMO ASSIM??
Wide Column
Documentos Search-Engine
Grafos
Chave-Valor
PRÓS E CONTRASPrós Alto desempenho; Facilmente escaláveis
horizontalmente; Diversidades de modelos; APIs Simplificadas; Commodities Hardware; Schema flexível; Alta disponibilidade; Gerenciam bem dados não
estruturados/mídias e em grande quantidade;
...
Contras
Schema flexível; Não é tão seguro; Consistência eventual; Ferramentas precárias; Não há uma linguagem
de consulta padronizada; ...
E BANCOS NEWSQL? NewSQL é um conceito de banco de dados relacional distribuído;
Utilizam pontos fortes dos modelos relacional e NoSQL;• Mais TABELAS, mas pelo menos
é distribuído..número_conta nome_agência saldo
A-101 Downtown 500A-102 Perryridge 400A-201 Brighton 900A-215 Mianus 700A-217 Brighton 750A-222 Redwood 700A-305 Round Hill 350
PRÓS E CONTRASPrós Padronizado; Linguagem de consulta robusta e eficiente (SQL); Seguro (ACID); Modelo fácil de entender; Triggers; Joins; Chaves compostas; Estruturado;
Alto desempenho; Facilmente escaláveis horizontalmente; Commodities Hardware; Alta disponibilidade;
Contras Modelagem não atende a todos os
casos; Não gerencia com muita eficiência dados não estruturados/mídias;
Estruturado;
Ferramentas precárias; Conceito bastante novo (2011); Imaturos e instáveis; Não possuem ainda tantos recursos
como os modelos relacionais e NoSQL;
...
RESUMINDO....Bancos relacionais Padrões SQL Durabilidade Triggers Chaves estrangeiras Chaves compostas Transações Relacional Segurança
NoSQL Flexibilidade Grafos Armazenamento em chave-
valor Documentos Escalabilidade Commodity hardware RAM Distribuído Desempenho
NEWSQL Padrões SQL Durabilidade Triggers Chaves estrangeiras Chaves compostas Transações Relacional Segurança
Escalabilidade Commodity hardware RAM Distribuído Desempenho
BANCOS RELACIONAIS
Bancos NoSQL
Bancos NewSQL
ENTÃO... QUAL BANCO DEVO UTILIZAR? Como sempre a resposta é depende do pra que vai ser
utilizado; Bancos relacionais costumam ser mais seguros; Bancos NoSQL costumam ser mais rápidos;
Ninguém falou que não pode ser utilizado mais de um modelo em um mesmo sistema
NA MINHA OPINIÃO...
RDMS RDMS
Garantir a persistência e segurança dos
dados
Search-Engine CV ou WC Grafo Documentos
Pesquisar nos dados do sistema
Log, inserções e leituras em massa
Usuários, social, rotas...
Anexos, mídias, ...
Aplicação
OBRIGADO!