19
Banco de Dados Não-Relacionais vs Banco de Dados Relacionais Luanda, Outubro de 2013 Eng. José Alexandre

Banco de Dados Não Relacionais vs Banco de Dados Relacionais

Embed Size (px)

DESCRIPTION

Uma breve abordagem sobre o conceito de banco de dados não relacionais, tendo como ponto de origem os bancos relacionais atuais. Apresento de forma sucinta as vantagens e desvantagens dos dois. Foi apresentado no Campus Universitário da UAN do Camama.

Citation preview

Page 1: Banco de Dados Não Relacionais vs Banco de Dados Relacionais

Banco de Dados Não-Relacionais vs Banco de Dados Relacionais

Luanda, Outubro de 2013

Eng. José Alexandre

Page 2: Banco de Dados Não Relacionais vs Banco de Dados Relacionais

Banco de Dados Relacionais• O conceito foi criado por 

Edgar Frank Codd em 1970, sendo descrito no artigo "Relational Model of Data for Large Shared Data Banks“.

• O modelo relacional é um modelo de dados, adequado a ser o modelo subjacente de um Sistema Gerenciador de Banco de Dados (SGBD), que se baseia no princípio em que todos os dados estão guardados em tabelas 

• Historicamente ele é o sucessor do modelo hierárquico e do modelo em rede. Estas arquiteturas antigas são até hoje utilizadas em alguns data centers com alto volume de dados, onde a migração é inviabilizada pelo custo que ela demandaria;

conceito de entidade e relação

Page 3: Banco de Dados Não Relacionais vs Banco de Dados Relacionais

Banco de Dados Relacionais

Pontos Fortes• Os SGBDs relacionais oferecem

aos usuários processos de

• validação, verificação e garantias de integridade dos dados,

• controle de concorrência, recuperação de falhas, segurança,

• controle de transações, otimização de consultas, dentre outros

Pontos Fracos

• dificuldade em se conciliar tal modelo com a demanda por

escalabilidade cada vez mais frequente.

• dificuldade em se organizar os dados em um sistema distribuído trabalhando com particionamento de dados

Page 4: Banco de Dados Não Relacionais vs Banco de Dados Relacionais
Page 5: Banco de Dados Não Relacionais vs Banco de Dados Relacionais

Banco de Dados Não-Relacionais

• O termo NoSQL surgiu em 1998, a partir de uma solução de banco de dados que não oferecia uma interface SQL, mas esse sistema ainda era baseado na arquitetura relacional.

• Performance !!!!!!!

• Posteriormente, o termo passou a representar soluções que promoviam uma alternativa ao Modelo Relacional, tornando se uma abreviação de Not Only SQL (não apenas SQL)

Escalabilidade Horizontal

Page 6: Banco de Dados Não Relacionais vs Banco de Dados Relacionais
Page 7: Banco de Dados Não Relacionais vs Banco de Dados Relacionais

Banco de Dados Não-Relacionais

características em comum

• tais como serem

• livres de esquema,

promoverem alta disponibilidade e maior escalabilidade

características em Singulares

• certos sistemas promovem

• o particionamento e a replicação dos dados

• sistemas baseados em armazenamento chave-valor

• sistemas orientados a documentos

• sistemas orientados a coluna

• sistemas baseados em grafos

Page 8: Banco de Dados Não Relacionais vs Banco de Dados Relacionais

Esclabilidade vertical vs Horizontal

Page 9: Banco de Dados Não Relacionais vs Banco de Dados Relacionais

Esclabilidade vertical vs Horizontal

Page 10: Banco de Dados Não Relacionais vs Banco de Dados Relacionais

Esclabilidade vertical e Horizontal

Page 11: Banco de Dados Não Relacionais vs Banco de Dados Relacionais

Consistência

Modelo Relacional

Ponto mais forte do

modelo relacional. As

regras de consistência

presentes propiciam uma

maior grau de rigor

quanto à consistência das

informações.

NOSQL

Realizada de modo eventual no modelo: só

garante que, se nenhuma atualização for realizada sobre o item de dados, todos os acessos a esse item devolverão o último valor atualizado.

Page 12: Banco de Dados Não Relacionais vs Banco de Dados Relacionais

Diponibilidade

Modelo Relacional

Dada a dificuldade de se

conseguir trabalhar de

forma eficiente com a

distribuição dos dados,

esse modelo pode não

suportar a demanda muito

grande de informações do

banco.

NOSQL

O alto grau de

distribuição dos dados

propicia que um maior

número de solicitações

aos dados seja atendida

por parte do sistema e que

o sistema fique menos

tempo não-disponível..

Page 13: Banco de Dados Não Relacionais vs Banco de Dados Relacionais
Page 14: Banco de Dados Não Relacionais vs Banco de Dados Relacionais

Segurança Modelo Relacional

SQL Injection

NOSQL

Pode ocorrer SQL Injection

NO Mongodb

Access Control

Autenticação: disabilitada por default

Autenticação Inter-Process: disabilitado

VPNs usa SSL em vez de IPSEC VPNs

devido a performance.

Page 15: Banco de Dados Não Relacionais vs Banco de Dados Relacionais

SegurançaNunca fornecer a ninguém (exceto aos usuários administrativos) acesso a tabela da ACL;

Conceder apenas os privilégios necessários para cada usuário, nunca mais do que isso;

Não manter senhas em texto puro no banco de dados, em vez disso, utilizar alguma função de criptografia de via única, com SHA1 ou MD5;

Não escolher senhas que contenham palavras existentes em dicionários;

.

Page 16: Banco de Dados Não Relacionais vs Banco de Dados Relacionais

Segurança Utilizar um firewall;

Não confiar em nenhum dado inserido pelos usuários, muitos deles podem tentar atacar o sistema inserindo caracteres especiais nas entradas dos formulários contendo algum.

Page 17: Banco de Dados Não Relacionais vs Banco de Dados Relacionais

● Referencias – Silberschatz, Abraham. Sistemas de Banco de Dados, Rio de Janeiro:Elsevier, 2006

– Ricardo W. Brito, Bancos de Dados NoSQL x SGBDs relacionais:Análise Comparativa, 2013

http://analisedesistemasunopar.blogspot.com/2013/04/banco-de-dados-modelo-relacional.html

 http://www.culturamix.com/tecnologia/banco-de-dados-relacionais

http://www.mongodb.com/

http://couchdb.apache.org/

http://www.cisco.com/en/US/tech/tk583/tk372/technologies_tech_note09186a0080094203.shtml

http://www.neo4j.org/