SlideShare a Scribd company logo
1 of 19
Banco de Dados Não-Relacionais 
vs 
Banco de Dados Relacionais 
Eng. José Alexandre 
Luanda, Outubro de 2013
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 escalabilidadecada 
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ça 
Nunca 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/
jose.alexandre@dei-feuan.net 
alexandreomedio@gmail.com
alexandreomedio@gmail.com

More Related Content

What's hot

Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidosGleydson Sousa
 
Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareCloves da Rocha
 
Modelo Relacional
Modelo RelacionalModelo Relacional
Modelo RelacionalJoel Santos
 
Introdução ao Front-end no Desenvolvimento Web
Introdução ao Front-end no Desenvolvimento WebIntrodução ao Front-end no Desenvolvimento Web
Introdução ao Front-end no Desenvolvimento WebAnderson Luís Furlan
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Daniel Brandão
 
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Leinylson Fontinele
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Softwareelliando dias
 
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosBanco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosLeinylson Fontinele
 
Banco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQLBanco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQLDaniel Brandão
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetosCleyton Ferrari
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento WebSérgio Souza Costa
 

What's hot (20)

Introdução ao SQL
Introdução ao SQLIntrodução ao SQL
Introdução ao SQL
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidos
 
Aula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de SoftwareAula - Introdução a Engenharia de Software
Aula - Introdução a Engenharia de Software
 
Modelo Relacional
Modelo RelacionalModelo Relacional
Modelo Relacional
 
Computação nas nuvens
Computação nas nuvensComputação nas nuvens
Computação nas nuvens
 
Introdução ao Front-end no Desenvolvimento Web
Introdução ao Front-end no Desenvolvimento WebIntrodução ao Front-end no Desenvolvimento Web
Introdução ao Front-end no Desenvolvimento Web
 
Linguagem SQL
Linguagem SQLLinguagem SQL
Linguagem SQL
 
Arquitetura de Software EXPLICADA
Arquitetura de Software EXPLICADAArquitetura de Software EXPLICADA
Arquitetura de Software EXPLICADA
 
Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)Aula 02 - Principios da Orientação a Objetos (POO)
Aula 02 - Principios da Orientação a Objetos (POO)
 
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
Banco de Dados I - Aula 05 - Banco de Dados Relacional (Modelo Conceitual)
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Padrões de Projeto
Padrões de ProjetoPadrões de Projeto
Padrões de Projeto
 
Aula 6 - Cardinalidade
Aula 6 - CardinalidadeAula 6 - Cardinalidade
Aula 6 - Cardinalidade
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
 
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de DadosBanco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
Banco de Dados I - Aula 03 - Conceitos de Sistemas de Banco de Dados
 
Modelos de base de dados
Modelos de base de dadosModelos de base de dados
Modelos de base de dados
 
Aula03 - JavaScript
Aula03 - JavaScriptAula03 - JavaScript
Aula03 - JavaScript
 
Banco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQLBanco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQL
 
Programação orientada a objetos
Programação orientada a objetosProgramação orientada a objetos
Programação orientada a objetos
 
Introdução ao desenvolvimento Web
Introdução ao desenvolvimento WebIntrodução ao desenvolvimento Web
Introdução ao desenvolvimento Web
 

Similar to Banco Dados Rel vs Não-Relacionais

Apresentação Modelo de Gestão de dados para sistemas Colaborativos
Apresentação Modelo de Gestão de dados para sistemas ColaborativosApresentação Modelo de Gestão de dados para sistemas Colaborativos
Apresentação Modelo de Gestão de dados para sistemas ColaborativosMozart Dornelles Claret
 
Módulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoMódulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoLuis Ferreira
 
Algumas das principais características do NoSQL
Algumas das principais características do NoSQLAlgumas das principais características do NoSQL
Algumas das principais características do NoSQLEric Silva
 
Apostila NoSql.pdf
Apostila NoSql.pdfApostila NoSql.pdf
Apostila NoSql.pdfEizo Edson
 
No sql no desenvolvimento de aplicações web colaborativas
No sql no desenvolvimento de aplicações web colaborativasNo sql no desenvolvimento de aplicações web colaborativas
No sql no desenvolvimento de aplicações web colaborativasJoão Gabriel Lima
 
Banco de Dados NoSql - JornalJava
Banco de Dados NoSql - JornalJavaBanco de Dados NoSql - JornalJava
Banco de Dados NoSql - JornalJavajornaljava
 
Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadosInteroperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadospichiliani
 
Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadosInteroperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadospichiliani
 
I nd t_bigdata(1)
I nd t_bigdata(1)I nd t_bigdata(1)
I nd t_bigdata(1)wchevreuil
 
RDBMS x NoSQL x NewSQL
RDBMS x NoSQL x NewSQLRDBMS x NoSQL x NewSQL
RDBMS x NoSQL x NewSQLOrlando Vitali
 

Similar to Banco Dados Rel vs Não-Relacionais (20)

Apresentação Modelo de Gestão de dados para sistemas Colaborativos
Apresentação Modelo de Gestão de dados para sistemas ColaborativosApresentação Modelo de Gestão de dados para sistemas Colaborativos
Apresentação Modelo de Gestão de dados para sistemas Colaborativos
 
Web Scale Data Management
Web Scale Data ManagementWeb Scale Data Management
Web Scale Data Management
 
Artigo couchdb
Artigo couchdbArtigo couchdb
Artigo couchdb
 
Módulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informaçãoMódulo 12 - Introdução aos sistemas de informação
Módulo 12 - Introdução aos sistemas de informação
 
Algumas das principais características do NoSQL
Algumas das principais características do NoSQLAlgumas das principais características do NoSQL
Algumas das principais características do NoSQL
 
Artigo Nosql
Artigo NosqlArtigo Nosql
Artigo Nosql
 
Banco de dados
Banco de dadosBanco de dados
Banco de dados
 
Apostila NoSql.pdf
Apostila NoSql.pdfApostila NoSql.pdf
Apostila NoSql.pdf
 
No sql no desenvolvimento de aplicações web colaborativas
No sql no desenvolvimento de aplicações web colaborativasNo sql no desenvolvimento de aplicações web colaborativas
No sql no desenvolvimento de aplicações web colaborativas
 
Banco de dados parte 01
Banco de dados parte 01Banco de dados parte 01
Banco de dados parte 01
 
Banco de Dados NoSql - JornalJava
Banco de Dados NoSql - JornalJavaBanco de Dados NoSql - JornalJava
Banco de Dados NoSql - JornalJava
 
Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadosInteroperabilidade entre bancos de dados
Interoperabilidade entre bancos de dados
 
Interoperabilidade entre bancos de dados
Interoperabilidade entre bancos de dadosInteroperabilidade entre bancos de dados
Interoperabilidade entre bancos de dados
 
NoSQL
NoSQLNoSQL
NoSQL
 
Banco de dados nas nuvens - aula 2
Banco de dados nas nuvens - aula 2Banco de dados nas nuvens - aula 2
Banco de dados nas nuvens - aula 2
 
No sql o_que_e_isso.key
No sql o_que_e_isso.keyNo sql o_que_e_isso.key
No sql o_que_e_isso.key
 
Pesquisa sobre no sql
Pesquisa sobre no sqlPesquisa sobre no sql
Pesquisa sobre no sql
 
NOSQL - Uma real alternativa
NOSQL - Uma real alternativaNOSQL - Uma real alternativa
NOSQL - Uma real alternativa
 
I nd t_bigdata(1)
I nd t_bigdata(1)I nd t_bigdata(1)
I nd t_bigdata(1)
 
RDBMS x NoSQL x NewSQL
RDBMS x NoSQL x NewSQLRDBMS x NoSQL x NewSQL
RDBMS x NoSQL x NewSQL
 

Banco Dados Rel vs Não-Relacionais

  • 1. Banco de Dados Não-Relacionais vs Banco de Dados Relacionais Eng. José Alexandre Luanda, Outubro de 2013
  • 2. 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
  • 3. 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 escalabilidadecada vez mais frequente. • dificuldade em se organizar os dados em um sistema distribuído trabalhando com particionamento de dados
  • 4.
  • 5. 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
  • 6.
  • 7. 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
  • 11. 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.
  • 12. 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..
  • 13.
  • 14. 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.
  • 15. Segurança Nunca 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; .
  • 16. 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.
  • 17. ● 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/