RDBMS x NoSQL x NewSQL

22
RDMS, NOSQL E NEWSQL Visão geral entre os principais modelos de bancos de dados atuais

Transcript of RDBMS x NoSQL x NewSQL

Page 1: RDBMS x NoSQL x NewSQL

RDMS, NOSQL E NEWSQLVisão geral entre os principais modelos de bancos de dados atuais

Page 2: RDBMS x NoSQL x NewSQL

OBJETIVOS Dar uma visão geral sobre as caracteristicas e diferenças

entre os bancos relacionais e bancos NoSQL; Compartilhar conhecimento;

Page 3: RDBMS x NoSQL x NewSQL
Page 4: RDBMS x NoSQL x NewSQL

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;

Page 5: RDBMS x NoSQL x NewSQL

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

Page 6: RDBMS x NoSQL x NewSQL
Page 7: RDBMS x NoSQL x NewSQL

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

Page 8: RDBMS x NoSQL x NewSQL
Page 9: RDBMS x NoSQL x NewSQL

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

Page 10: RDBMS x NoSQL x NewSQL

MAS COMO ASSIM??

Page 11: RDBMS x NoSQL x NewSQL

Wide Column

Documentos Search-Engine

Grafos

Chave-Valor

Page 12: RDBMS x NoSQL x NewSQL

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

Page 13: RDBMS x NoSQL x NewSQL

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

Page 14: RDBMS x NoSQL x NewSQL
Page 15: RDBMS x NoSQL x NewSQL

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;

...

Page 16: RDBMS x NoSQL x NewSQL

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

Page 17: RDBMS x NoSQL x NewSQL

NEWSQL Padrões SQL Durabilidade Triggers Chaves estrangeiras Chaves compostas Transações Relacional Segurança

Escalabilidade Commodity hardware RAM Distribuído Desempenho

Page 18: RDBMS x NoSQL x NewSQL
Page 19: RDBMS x NoSQL x NewSQL

BANCOS RELACIONAIS

Bancos NoSQL

Bancos NewSQL

Page 20: RDBMS x NoSQL x 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

Page 21: RDBMS x NoSQL x NewSQL

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

Page 22: RDBMS x NoSQL x NewSQL

OBRIGADO!