SlideShare ist ein Scribd-Unternehmen logo
1 von 25
Downloaden Sie, um offline zu lesen
Modelo de gestão de
dados para sistemas
colaborativos

Vanessa Martins
Mozart Claret
Os SGBDs

 Surgiram no início da década de 70 com o objetivo de facilitar a
programação de aplicações de banco de dados (BD).
 Nessa mesma época, houve um investimento considerável de pesquisa
na área de banco de dados. Esse investimento resultou em um tipo de
SGBD, o SGBD relacional.
 A partir da década de 80 e devido ao barateamento das plataformas de
hardware/software para executar SGBD relacional, este tipo de SGBD
passou a dominar o mercado, tendo se convertido em padrão internacional.
Os SGBDs

 Após o surgimento das linguagens de programação orientadas a objeto,
surgiram bancos de dados que usavam este conceito.
 Estes bancos de dados passaram a ser referenciados como ODBMS
(Object Data Base Management Systems) ou OODBMS (Oriented Object
Data Base Management Systems).
Os SGBDs

 Com a explosão da WEB 2.0, onde reinam as Redes Sociais virtuais, o
volume de informação armazenada nos sistemas colaborativos chegou a um
volume tão grande que os SGBDs relacionais começaram a ser
questionados quanto ao seu desempenho e escalabilidade.
 Surgiu então uma proposta por um modelo que não estava focado na
estruturação dos dados.
 Estes sistemas que se pareciam mais como os antigos sistemas de arquivos são
conhecidos como bancos de dados NoSQL (Not Only SQL).
Os Bancos de Dados Orientados a Objetos

 O paradigma da orientação a objetos começou a aparecer ainda nos anos
60 mas foi a partir dos anos 80 que este conceito realmente ganhou força e
passou a estar presente em quase todas as linguagens de programação.
Existem diversas linguagens de programação orientada a objeto: Objective-C,
C++, CLOS (Common Lisp Object System), Object Pascal, Eiffel, Java, Python,
JavaScript, Ruby, C# entre outras.
Para um modelo ser considerado orientado a objeto ele deve conter alguns
conceitos básicos: abstração, encapsulamento, herança, e polimorfismo.
Os Bancos de Dados Orientados a Objetos

 Com todas estas características nativas das linguagens, surgiu a
demanda pelo desenvolvimento de um sistema gerenciador de banco de
dados que seguisse a mesma abordagem.
Em meados dos anos 80, eles começaram a se tornar produtos
comercialmente viáveis. Hoje, eles são mais de 25 produtos no mercado.
Eles tiveram pouco impacto nas principais aplicações comerciais de
processamento de dados, embora sejam utilizados em algumas áreas
especializadas em serviços financeiros.
Os Bancos de Dados Orientados a Objetos

O desenvolvimento dos Sistemas de Gerenciamento de Banco de Dados
Orientado a Objetos (SGBDOO) teve origem na combinação de idéias dos
modelos de dados tradicionais e de linguagens de programação orientada a
objetos.
No SGBDOO, a noção de objeto é usada no nível lógico e possui
características não encontradas nas linguagens de programação
tradicionais, como operadores de manipulação de estruturas, gerenciamento
de armazenamento, tratamento de integridade e persistência dos dados.
Os Bancos de Dados Orientados a Objetos

 Se quase todas as linguagens usadas atualmente usam o conceito de
orientação a objetos, porque o modelo de SGBDs relacionais ainda
prevalece no mercado?
 Um bom OODBMS é muito mais caro que um produto relacional “Top” de
linha.
 O modelo relacional é mais simples e possui mais recursos de
escalabilidade.
 O modelo OO possui dependência de linguagem: Um banco de dados OO
deve ser acessado através de uma API específica, normalmente através de
uma linguagem específica.
Os Bancos de Dados Orientados a Objetos

Resumo comparativo das características de cada modelo
SGBDs Relacionais

O modelo relacional se baseia no princípio de que todos os dados estão
guardados em tabelas.
Seus elementos básicos são as relações (ou tabelas), as quais são
compostas de linhas (ou tuplas) e colunas(ou atributos).
 Utiliza restrições de integridade para garantir que a integridade dos dados
seja mantida. As restrições de integridade mais comuns são as chaves
primárias e as chaves estrangeiras. A chave primária assegura a
identificação única das tuplas das tabelas. A chave estrangeira tem como
objetivo garantir a integridade dos dados referenciais, torna os valores de
determinado atributo dependentes dos valores existentes em outro atributo,
normalmente de outra tabela.
SGBDs Relacionais

 A chave primária assegura a identificação única das tuplas das tabelas. A
chave estrangeira tem como objetivo garantir a integridade dos dados
referenciais, torna os valores de determinado atributo dependentes dos
valores existentes em outro atributo, normalmente de outra tabela.
 A normalização consiste na separação dos dados referentes a elementos
distintos em tabelas distintas, associadas através da utilização das chaves.
 Adotou como linguagem de definição, manipulação e consulta de dados a
SQL (Structured Query Language) que é uma linguagem declarativa para
banco de dados relacionais inspirada na álgebra relacional.
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.

Diagrama Modelo Relacional
Banco de Dados NoSQL

 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.
 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), sendo utilizado principalmente em casos em que o Modelo
Relacional não apresentava performance adequada.
O propósito não é substituir o Modelo Relacional como um todo, mas
apenas em casos nos quais seja necessária uma maior flexibilidade da
estruturação do banco.
Banco de Dados NoSQL

 O maior objetivo do NoSQL é resolver o problema de escalabilidade dos
bancos de dados tradicionais.
 Busca atender a demanda de crescimento e alta performance do mercado
WEB 2.0.
 O movimento NOSQL ganhou muita força com a publicação de dois
papers sobre implementações proprietárias: o Amazon Dynamo e o Google
Bigtable.
Banco de Dados NoSQL

 O Bigtable é um sistema distribuído de armazenamento de dados em
larga escala usado por muitos projetos da Google.
Não suporta um modelo relacional e provê ao usuário um modelo simples
que suporta controle dinâmico sobre o formato dos dados.
É fácilmente escalável.
Banco de Dados NoSQL

 O Dynamo é totalmente gerenciável focado em aplicações que requerem
uma alta demanda de requisições ao banco de dados, fornecendo uma rede
de bancos de dados distribuidos oferecidos de forma transparente ao cliente
de forma que não é necessário se preocupar com hardware, instalação e
configuração do banco de dados.
 É o próprio sistema quem replica os dados em diversos bancos e distribui
o tráfego, provendo um número suficiente de servidores para tratar qualquer
quantidade de requisições, em várias zonas de disponibilidade.
Banco de Dados NoSQL

 Em 2008, o Cassandra foi projetado pelo Facebook para ser um sistema
de banco de dados distribuído e de alta disponibilidade, desenvolvido para
lidar com grandes volumes de dados.
No início de 2010, o Cassandra desbancou o MySQL como banco de
dados do Twitter, demonstrando sua importância cada vez mais crescente .
O Cassandra é um banco de dados orientado à coluna, ou seja, para
qualquer linha pode possuir uma ou mais colunas, mas cada linha não
precisa possuir as mesmas colunas de outra linha.
Banco de Dados NoSQL

Banco de Dados Orientado a Colunas - Cassandra
Banco de Dados NoSQL x SGBDs Relacionais

A principal diferença entre SGDBs Relacionais e o NoSQL está na
estrutura. Enquanto o NoSQL perde para a estrutura do SGDB Relacional, o
mesmo ganha em performance, flexibilizando os sistemas de banco de
dados para as características particulares de cada organização.
Devido a sua natureza estruturada, os desenvolvedores começaram a
perceber a dificuldade em se organizar os dados do Modelo Relacional em
um sistema distribuído trabalhando com particionamento de dados. É
justamente nesse ponto em que o foco das soluções não-relacionais estão
concentradas.
Banco de Dados NoSQL x SGBDs Relacionais

Ao analisar a possibilidade de se optar por uma estratégia NoSQL no lugar
de um SGBD tradicional, devemos levar em conta algumas questões
básicas, por exemplo:
 Escalonamento - Nos SGBDs Relacionais é possível, mas é muito
complexa.
 Disponibilidade - Dada a dificuldade em trabalhar de forma
eficiente com a distribuição dos dados, o modelo relacional pode não
suportar a grande demanda de informações do banco.

 Consistência - Este é ponto mais forte do modelo relacional.
Banco de Dados NoSQL x SGBDs Relacionais

Diferenças básicas dos comandos utilizadas com NoSQL
usando como referência o Banco de Dados MongoDB
Conclusões

 A consistência de dados continua sendo um fator a ser considerado com
atenção e as transações dos SGBDs relacionais ainda são a melhor forma
de se trabalhar com esse problema.
 Antes de optar entre Banco de Dados Orientados a Objetos, NoSQL e
SGBDs Relacionais deve-se realizar essa analise comparativa levando em
conta os três aspectos que citamos: os critérios de escalonamento,
consistência de dados e disponibilidade.
 Não existe, em qualquer abordagem NoSQL, nada que se aproxime da
simplicidade e expressividade oferecida pelo SQL.
Conclusões

 Na abordagem NoSQL deixa-se de utilizar a mais simples restrição de
integridade sobre o banco, o que pode tornar a aplicação mais pesada.
 Utilizar uma solução NoSQL para bancos de dados nos quais a
disponibilidade não seja um fator imprescindível ainda é uma abordagem
discutível.
 No caso de sistemas com bases de dados gigantescas como as do
Facebook e Google, que precisem apresentar uma alta performance a
opção pelo modelo NoSQL é a mais indicada.
Referências

 DANIEL DA SILVA NAITO E EDER VINÍCIUS ROSA; Utilização de Banco
de Dados em computação em nuvens

 RICARDO W. BRITO; Bancos
Relacionais:Análise Comparativa

de

Dados

NoSQL

x

SGBDs

 FAY CHANG, JEFFREY DEAN, SANJAY GHEMAWAT, WILSON C. HSIEH,
DEBORAH A. WALLACH, MIKE BURROWS, TUSHAR CHANDRA, ANDREW
FIKES, ROBERT E. GRUBER, GOOGLE INC.; Bigtable: A Distributed Storage
System for Structured Data
 TIM O’REILLY; O que é Web 2.0 - Padrões de design e modelos de
negócios para a nova geração de software
Modelo de gestão de dados para sistemas colaborativos

Weitere ähnliche Inhalte

Was ist angesagt?

Modelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e HierárquicoModelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e Hierárquicorosimaracorsino
 
Modelo orientado a objetos
Modelo orientado a objetosModelo orientado a objetos
Modelo orientado a objetosDaiana de Ávila
 
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
 
Oracle EXPLICAÇÕES EM PDF
Oracle EXPLICAÇÕES EM PDFOracle EXPLICAÇÕES EM PDF
Oracle EXPLICAÇÕES EM PDFSergioSouza
 
Bancos de dados e usuários de banco de dados
Bancos de dados e usuários de banco de dadosBancos de dados e usuários de banco de dados
Bancos de dados e usuários de banco de dadosElaine Cecília Gatto
 
Banco de dados orientado a objetos
Banco de dados orientado a objetosBanco de dados orientado a objetos
Banco de dados orientado a objetosStefan Horochovec
 
BD Orientado a Objetos Versant
BD Orientado a Objetos VersantBD Orientado a Objetos Versant
BD Orientado a Objetos VersantAdail Viana Neto
 
Herança em Banco de Dados Objeto-Relacional (BDOR)
Herança em Banco de Dados Objeto-Relacional (BDOR)Herança em Banco de Dados Objeto-Relacional (BDOR)
Herança em Banco de Dados Objeto-Relacional (BDOR)Rafael Barbolo
 
Palestra na FEA USP - Pentaho: Fazendo mais com menos - Evento ComTycho Day 2012
Palestra na FEA USP - Pentaho: Fazendo mais com menos - Evento ComTycho Day 2012Palestra na FEA USP - Pentaho: Fazendo mais com menos - Evento ComTycho Day 2012
Palestra na FEA USP - Pentaho: Fazendo mais com menos - Evento ComTycho Day 2012Caio Moreno
 
Bancos de Dados para Bibliotecarios
Bancos de Dados para BibliotecariosBancos de Dados para Bibliotecarios
Bancos de Dados para BibliotecariosLuciano Ramalho
 
Conceitos e arquitetura do sistema de banco de dados
Conceitos e arquitetura do sistema de banco de dadosConceitos e arquitetura do sistema de banco de dados
Conceitos e arquitetura do sistema de banco de dadosElaine Cecília Gatto
 

Was ist angesagt? (20)

Banco de dados
Banco de dadosBanco de dados
Banco de dados
 
Modelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e HierárquicoModelo Relacional, Rede e Hierárquico
Modelo Relacional, Rede e Hierárquico
 
Aula 4 banco de dados
Aula 4   banco de dados Aula 4   banco de dados
Aula 4 banco de dados
 
Modelo orientado a objetos
Modelo orientado a objetosModelo orientado a objetos
Modelo orientado a objetos
 
C apítulo 1 livro navathe
C apítulo 1   livro navatheC apítulo 1   livro navathe
C apítulo 1 livro navathe
 
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
 
Oracle EXPLICAÇÕES EM PDF
Oracle EXPLICAÇÕES EM PDFOracle EXPLICAÇÕES EM PDF
Oracle EXPLICAÇÕES EM PDF
 
Big Data
Big DataBig Data
Big Data
 
Modelos de base de dados
Modelos de base de dadosModelos de base de dados
Modelos de base de dados
 
Bancos de dados e usuários de banco de dados
Bancos de dados e usuários de banco de dadosBancos de dados e usuários de banco de dados
Bancos de dados e usuários de banco de dados
 
Banco de dados orientado a objetos
Banco de dados orientado a objetosBanco de dados orientado a objetos
Banco de dados orientado a objetos
 
BD Orientado a Objetos Versant
BD Orientado a Objetos VersantBD Orientado a Objetos Versant
BD Orientado a Objetos Versant
 
Herança em Banco de Dados Objeto-Relacional (BDOR)
Herança em Banco de Dados Objeto-Relacional (BDOR)Herança em Banco de Dados Objeto-Relacional (BDOR)
Herança em Banco de Dados Objeto-Relacional (BDOR)
 
Aula 2 banco de dados
Aula 2   banco de dadosAula 2   banco de dados
Aula 2 banco de dados
 
Pesquisa sobre no sql
Pesquisa sobre no sqlPesquisa sobre no sql
Pesquisa sobre no sql
 
Modelos de Banco de dados e SGBDS
Modelos de Banco de dados e SGBDSModelos de Banco de dados e SGBDS
Modelos de Banco de dados e SGBDS
 
Banco de Dados - NoSQL
Banco de Dados - NoSQLBanco de Dados - NoSQL
Banco de Dados - NoSQL
 
Palestra na FEA USP - Pentaho: Fazendo mais com menos - Evento ComTycho Day 2012
Palestra na FEA USP - Pentaho: Fazendo mais com menos - Evento ComTycho Day 2012Palestra na FEA USP - Pentaho: Fazendo mais com menos - Evento ComTycho Day 2012
Palestra na FEA USP - Pentaho: Fazendo mais com menos - Evento ComTycho Day 2012
 
Bancos de Dados para Bibliotecarios
Bancos de Dados para BibliotecariosBancos de Dados para Bibliotecarios
Bancos de Dados para Bibliotecarios
 
Conceitos e arquitetura do sistema de banco de dados
Conceitos e arquitetura do sistema de banco de dadosConceitos e arquitetura do sistema de banco de dados
Conceitos e arquitetura do sistema de banco de dados
 

Ähnlich wie Modelo de gestão de dados para sistemas colaborativos

NoSQL x SQL: Bancos de Dados em Nuvens Computacionais
NoSQL x SQL: Bancos de Dados em Nuvens ComputacionaisNoSQL x SQL: Bancos de Dados em Nuvens Computacionais
NoSQL x SQL: Bancos de Dados em Nuvens ComputacionaisCarlo Pires
 
NoSQL Familia de Colunas Monografia
NoSQL Familia de Colunas MonografiaNoSQL Familia de Colunas Monografia
NoSQL Familia de Colunas MonografiaAugusto Giles
 
Bancos de dados no sql – uma nova abordagem
Bancos de dados no sql – uma nova abordagemBancos de dados no sql – uma nova abordagem
Bancos de dados no sql – uma nova abordagemJoão Gabriel Lima
 
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
 
4 semestre trabalho individual analise e desenvolvimento de sistemas 2014
4 semestre trabalho individual analise e desenvolvimento de sistemas 20144 semestre trabalho individual analise e desenvolvimento de sistemas 2014
4 semestre trabalho individual analise e desenvolvimento de sistemas 2014WANDERSON JONER
 
Ver
VerVer
Vercsmp
 
Modeloestruturaçaoads
ModeloestruturaçaoadsModeloestruturaçaoads
Modeloestruturaçaoadscsmp
 
Projeto de Banco de Dados - Capítulo 1
Projeto de Banco de Dados - Capítulo 1Projeto de Banco de Dados - Capítulo 1
Projeto de Banco de Dados - Capítulo 1Januário Neto
 
Arquitetura e sgbd de um banco de dados
Arquitetura e sgbd de um banco de dadosArquitetura e sgbd de um banco de dados
Arquitetura e sgbd de um banco de dadosdiogocbj
 

Ähnlich wie Modelo de gestão de dados para sistemas colaborativos (20)

Artigo couchdb
Artigo couchdbArtigo couchdb
Artigo couchdb
 
NoSQL x SQL: Bancos de Dados em Nuvens Computacionais
NoSQL x SQL: Bancos de Dados em Nuvens ComputacionaisNoSQL x SQL: Bancos de Dados em Nuvens Computacionais
NoSQL x SQL: Bancos de Dados em Nuvens Computacionais
 
NoSQL Familia de Colunas Monografia
NoSQL Familia de Colunas MonografiaNoSQL Familia de Colunas Monografia
NoSQL Familia de Colunas Monografia
 
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
 
bd.ppt
bd.pptbd.ppt
bd.ppt
 
NoSQL
NoSQLNoSQL
NoSQL
 
Artigo Nosql
Artigo NosqlArtigo Nosql
Artigo Nosql
 
Artigo oo em bd
Artigo   oo em bdArtigo   oo em bd
Artigo oo em bd
 
Introdução ao NoSQL
Introdução ao NoSQLIntrodução ao NoSQL
Introdução ao NoSQL
 
Nosql
NosqlNosql
Nosql
 
BANCO DE DADOS.pptx
BANCO DE DADOS.pptxBANCO DE DADOS.pptx
BANCO DE DADOS.pptx
 
Bancos de dados no sql – uma nova abordagem
Bancos de dados no sql – uma nova abordagemBancos de dados no sql – uma nova abordagem
Bancos de dados no sql – uma nova abordagem
 
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
 
4 semestre trabalho individual analise e desenvolvimento de sistemas 2014
4 semestre trabalho individual analise e desenvolvimento de sistemas 20144 semestre trabalho individual analise e desenvolvimento de sistemas 2014
4 semestre trabalho individual analise e desenvolvimento de sistemas 2014
 
Ver
VerVer
Ver
 
Modeloestruturaçaoads
ModeloestruturaçaoadsModeloestruturaçaoads
Modeloestruturaçaoads
 
Banco de dados_orientado_a_objetos
Banco de dados_orientado_a_objetosBanco de dados_orientado_a_objetos
Banco de dados_orientado_a_objetos
 
Projeto de Banco de Dados - Capítulo 1
Projeto de Banco de Dados - Capítulo 1Projeto de Banco de Dados - Capítulo 1
Projeto de Banco de Dados - Capítulo 1
 
Arquitetura e sgbd de um banco de dados
Arquitetura e sgbd de um banco de dadosArquitetura e sgbd de um banco de dados
Arquitetura e sgbd de um banco de dados
 
Banco de dados aula 2
Banco de dados  aula 2Banco de dados  aula 2
Banco de dados aula 2
 

Mehr von Mozart Dornelles Claret

Apresentação colaboração em processo de negócio
Apresentação   colaboração em processo de negócioApresentação   colaboração em processo de negócio
Apresentação colaboração em processo de negócioMozart Dornelles Claret
 
Apresentação cibercultura e os processos de gerenciamento de negocios bpm
Apresentação cibercultura e os processos de gerenciamento de negocios   bpmApresentação cibercultura e os processos de gerenciamento de negocios   bpm
Apresentação cibercultura e os processos de gerenciamento de negocios bpmMozart Dornelles Claret
 
Apresentação metodologia de pesquisa científica em sistemas colaborativos
Apresentação metodologia de pesquisa científica em sistemas colaborativosApresentação metodologia de pesquisa científica em sistemas colaborativos
Apresentação metodologia de pesquisa científica em sistemas colaborativosMozart Dornelles Claret
 
Apresentação o uso das redes sociais no ambiente corporativo
Apresentação o uso das redes sociais no ambiente corporativoApresentação o uso das redes sociais no ambiente corporativo
Apresentação o uso das redes sociais no ambiente corporativoMozart Dornelles Claret
 
Apresentação ontologia da colaboração
Apresentação ontologia da colaboraçãoApresentação ontologia da colaboração
Apresentação ontologia da colaboraçãoMozart Dornelles Claret
 
Apresentação planejamento estratégico para Sistemas de Informação
Apresentação planejamento estratégico para Sistemas de InformaçãoApresentação planejamento estratégico para Sistemas de Informação
Apresentação planejamento estratégico para Sistemas de InformaçãoMozart Dornelles Claret
 

Mehr von Mozart Dornelles Claret (12)

Apresentação colaboração em processo de negócio
Apresentação   colaboração em processo de negócioApresentação   colaboração em processo de negócio
Apresentação colaboração em processo de negócio
 
Apresentação bpms
Apresentação bpmsApresentação bpms
Apresentação bpms
 
Apresentação cibercultura e os processos de gerenciamento de negocios bpm
Apresentação cibercultura e os processos de gerenciamento de negocios   bpmApresentação cibercultura e os processos de gerenciamento de negocios   bpm
Apresentação cibercultura e os processos de gerenciamento de negocios bpm
 
Apresentação cidades inteligentes
Apresentação cidades inteligentesApresentação cidades inteligentes
Apresentação cidades inteligentes
 
Apresentação democracia digital
Apresentação democracia digitalApresentação democracia digital
Apresentação democracia digital
 
Apresentação economia e ciberespaço
Apresentação economia e ciberespaçoApresentação economia e ciberespaço
Apresentação economia e ciberespaço
 
Apresentação metodologia de pesquisa científica em sistemas colaborativos
Apresentação metodologia de pesquisa científica em sistemas colaborativosApresentação metodologia de pesquisa científica em sistemas colaborativos
Apresentação metodologia de pesquisa científica em sistemas colaborativos
 
Apresentação o uso das redes sociais no ambiente corporativo
Apresentação o uso das redes sociais no ambiente corporativoApresentação o uso das redes sociais no ambiente corporativo
Apresentação o uso das redes sociais no ambiente corporativo
 
Apresentação ontologia da colaboração
Apresentação ontologia da colaboraçãoApresentação ontologia da colaboração
Apresentação ontologia da colaboração
 
Apresentação patrimônio cultural
Apresentação patrimônio culturalApresentação patrimônio cultural
Apresentação patrimônio cultural
 
Apresentação planejamento estratégico para Sistemas de Informação
Apresentação planejamento estratégico para Sistemas de InformaçãoApresentação planejamento estratégico para Sistemas de Informação
Apresentação planejamento estratégico para Sistemas de Informação
 
Apresentação cultura no ciberespaço
Apresentação cultura no ciberespaçoApresentação cultura no ciberespaço
Apresentação cultura no ciberespaço
 

Modelo de gestão de dados para sistemas colaborativos

  • 1. Modelo de gestão de dados para sistemas colaborativos Vanessa Martins Mozart Claret
  • 2. Os SGBDs  Surgiram no início da década de 70 com o objetivo de facilitar a programação de aplicações de banco de dados (BD).  Nessa mesma época, houve um investimento considerável de pesquisa na área de banco de dados. Esse investimento resultou em um tipo de SGBD, o SGBD relacional.  A partir da década de 80 e devido ao barateamento das plataformas de hardware/software para executar SGBD relacional, este tipo de SGBD passou a dominar o mercado, tendo se convertido em padrão internacional.
  • 3. Os SGBDs  Após o surgimento das linguagens de programação orientadas a objeto, surgiram bancos de dados que usavam este conceito.  Estes bancos de dados passaram a ser referenciados como ODBMS (Object Data Base Management Systems) ou OODBMS (Oriented Object Data Base Management Systems).
  • 4. Os SGBDs  Com a explosão da WEB 2.0, onde reinam as Redes Sociais virtuais, o volume de informação armazenada nos sistemas colaborativos chegou a um volume tão grande que os SGBDs relacionais começaram a ser questionados quanto ao seu desempenho e escalabilidade.  Surgiu então uma proposta por um modelo que não estava focado na estruturação dos dados.  Estes sistemas que se pareciam mais como os antigos sistemas de arquivos são conhecidos como bancos de dados NoSQL (Not Only SQL).
  • 5. Os Bancos de Dados Orientados a Objetos  O paradigma da orientação a objetos começou a aparecer ainda nos anos 60 mas foi a partir dos anos 80 que este conceito realmente ganhou força e passou a estar presente em quase todas as linguagens de programação. Existem diversas linguagens de programação orientada a objeto: Objective-C, C++, CLOS (Common Lisp Object System), Object Pascal, Eiffel, Java, Python, JavaScript, Ruby, C# entre outras. Para um modelo ser considerado orientado a objeto ele deve conter alguns conceitos básicos: abstração, encapsulamento, herança, e polimorfismo.
  • 6. Os Bancos de Dados Orientados a Objetos  Com todas estas características nativas das linguagens, surgiu a demanda pelo desenvolvimento de um sistema gerenciador de banco de dados que seguisse a mesma abordagem. Em meados dos anos 80, eles começaram a se tornar produtos comercialmente viáveis. Hoje, eles são mais de 25 produtos no mercado. Eles tiveram pouco impacto nas principais aplicações comerciais de processamento de dados, embora sejam utilizados em algumas áreas especializadas em serviços financeiros.
  • 7. Os Bancos de Dados Orientados a Objetos O desenvolvimento dos Sistemas de Gerenciamento de Banco de Dados Orientado a Objetos (SGBDOO) teve origem na combinação de idéias dos modelos de dados tradicionais e de linguagens de programação orientada a objetos. No SGBDOO, a noção de objeto é usada no nível lógico e possui características não encontradas nas linguagens de programação tradicionais, como operadores de manipulação de estruturas, gerenciamento de armazenamento, tratamento de integridade e persistência dos dados.
  • 8. Os Bancos de Dados Orientados a Objetos  Se quase todas as linguagens usadas atualmente usam o conceito de orientação a objetos, porque o modelo de SGBDs relacionais ainda prevalece no mercado?  Um bom OODBMS é muito mais caro que um produto relacional “Top” de linha.  O modelo relacional é mais simples e possui mais recursos de escalabilidade.  O modelo OO possui dependência de linguagem: Um banco de dados OO deve ser acessado através de uma API específica, normalmente através de uma linguagem específica.
  • 9. Os Bancos de Dados Orientados a Objetos Resumo comparativo das características de cada modelo
  • 10. SGBDs Relacionais O modelo relacional se baseia no princípio de que todos os dados estão guardados em tabelas. Seus elementos básicos são as relações (ou tabelas), as quais são compostas de linhas (ou tuplas) e colunas(ou atributos).  Utiliza restrições de integridade para garantir que a integridade dos dados seja mantida. As restrições de integridade mais comuns são as chaves primárias e as chaves estrangeiras. A chave primária assegura a identificação única das tuplas das tabelas. A chave estrangeira tem como objetivo garantir a integridade dos dados referenciais, torna os valores de determinado atributo dependentes dos valores existentes em outro atributo, normalmente de outra tabela.
  • 11. SGBDs Relacionais  A chave primária assegura a identificação única das tuplas das tabelas. A chave estrangeira tem como objetivo garantir a integridade dos dados referenciais, torna os valores de determinado atributo dependentes dos valores existentes em outro atributo, normalmente de outra tabela.  A normalização consiste na separação dos dados referentes a elementos distintos em tabelas distintas, associadas através da utilização das chaves.  Adotou como linguagem de definição, manipulação e consulta de dados a SQL (Structured Query Language) que é uma linguagem declarativa para banco de dados relacionais inspirada na álgebra relacional.
  • 12. 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. Diagrama Modelo Relacional
  • 13. Banco de Dados NoSQL  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.  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), sendo utilizado principalmente em casos em que o Modelo Relacional não apresentava performance adequada. O propósito não é substituir o Modelo Relacional como um todo, mas apenas em casos nos quais seja necessária uma maior flexibilidade da estruturação do banco.
  • 14. Banco de Dados NoSQL  O maior objetivo do NoSQL é resolver o problema de escalabilidade dos bancos de dados tradicionais.  Busca atender a demanda de crescimento e alta performance do mercado WEB 2.0.  O movimento NOSQL ganhou muita força com a publicação de dois papers sobre implementações proprietárias: o Amazon Dynamo e o Google Bigtable.
  • 15. Banco de Dados NoSQL  O Bigtable é um sistema distribuído de armazenamento de dados em larga escala usado por muitos projetos da Google. Não suporta um modelo relacional e provê ao usuário um modelo simples que suporta controle dinâmico sobre o formato dos dados. É fácilmente escalável.
  • 16. Banco de Dados NoSQL  O Dynamo é totalmente gerenciável focado em aplicações que requerem uma alta demanda de requisições ao banco de dados, fornecendo uma rede de bancos de dados distribuidos oferecidos de forma transparente ao cliente de forma que não é necessário se preocupar com hardware, instalação e configuração do banco de dados.  É o próprio sistema quem replica os dados em diversos bancos e distribui o tráfego, provendo um número suficiente de servidores para tratar qualquer quantidade de requisições, em várias zonas de disponibilidade.
  • 17. Banco de Dados NoSQL  Em 2008, o Cassandra foi projetado pelo Facebook para ser um sistema de banco de dados distribuído e de alta disponibilidade, desenvolvido para lidar com grandes volumes de dados. No início de 2010, o Cassandra desbancou o MySQL como banco de dados do Twitter, demonstrando sua importância cada vez mais crescente . O Cassandra é um banco de dados orientado à coluna, ou seja, para qualquer linha pode possuir uma ou mais colunas, mas cada linha não precisa possuir as mesmas colunas de outra linha.
  • 18. Banco de Dados NoSQL Banco de Dados Orientado a Colunas - Cassandra
  • 19. Banco de Dados NoSQL x SGBDs Relacionais A principal diferença entre SGDBs Relacionais e o NoSQL está na estrutura. Enquanto o NoSQL perde para a estrutura do SGDB Relacional, o mesmo ganha em performance, flexibilizando os sistemas de banco de dados para as características particulares de cada organização. Devido a sua natureza estruturada, os desenvolvedores começaram a perceber a dificuldade em se organizar os dados do Modelo Relacional em um sistema distribuído trabalhando com particionamento de dados. É justamente nesse ponto em que o foco das soluções não-relacionais estão concentradas.
  • 20. Banco de Dados NoSQL x SGBDs Relacionais Ao analisar a possibilidade de se optar por uma estratégia NoSQL no lugar de um SGBD tradicional, devemos levar em conta algumas questões básicas, por exemplo:  Escalonamento - Nos SGBDs Relacionais é possível, mas é muito complexa.  Disponibilidade - Dada a dificuldade em trabalhar de forma eficiente com a distribuição dos dados, o modelo relacional pode não suportar a grande demanda de informações do banco.  Consistência - Este é ponto mais forte do modelo relacional.
  • 21. Banco de Dados NoSQL x SGBDs Relacionais Diferenças básicas dos comandos utilizadas com NoSQL usando como referência o Banco de Dados MongoDB
  • 22. Conclusões  A consistência de dados continua sendo um fator a ser considerado com atenção e as transações dos SGBDs relacionais ainda são a melhor forma de se trabalhar com esse problema.  Antes de optar entre Banco de Dados Orientados a Objetos, NoSQL e SGBDs Relacionais deve-se realizar essa analise comparativa levando em conta os três aspectos que citamos: os critérios de escalonamento, consistência de dados e disponibilidade.  Não existe, em qualquer abordagem NoSQL, nada que se aproxime da simplicidade e expressividade oferecida pelo SQL.
  • 23. Conclusões  Na abordagem NoSQL deixa-se de utilizar a mais simples restrição de integridade sobre o banco, o que pode tornar a aplicação mais pesada.  Utilizar uma solução NoSQL para bancos de dados nos quais a disponibilidade não seja um fator imprescindível ainda é uma abordagem discutível.  No caso de sistemas com bases de dados gigantescas como as do Facebook e Google, que precisem apresentar uma alta performance a opção pelo modelo NoSQL é a mais indicada.
  • 24. Referências  DANIEL DA SILVA NAITO E EDER VINÍCIUS ROSA; Utilização de Banco de Dados em computação em nuvens  RICARDO W. BRITO; Bancos Relacionais:Análise Comparativa de Dados NoSQL x SGBDs  FAY CHANG, JEFFREY DEAN, SANJAY GHEMAWAT, WILSON C. HSIEH, DEBORAH A. WALLACH, MIKE BURROWS, TUSHAR CHANDRA, ANDREW FIKES, ROBERT E. GRUBER, GOOGLE INC.; Bigtable: A Distributed Storage System for Structured Data  TIM O’REILLY; O que é Web 2.0 - Padrões de design e modelos de negócios para a nova geração de software