Banco de Dados Não-Relacionais vs Banco de Dados Relacionais
Luanda, Outubro de 2013
Eng. José Alexandre
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
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
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
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
Esclabilidade vertical vs Horizontal
Esclabilidade vertical vs Horizontal
Esclabilidade vertical e Horizontal
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.
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..
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.
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;
.
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.
● 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/
[email protected]@gmail.com