SlideShare uma empresa Scribd logo
1 de 50
NoSQL
BASE vs ACID
Teorema CAP
Nome: Aricelio de Souza Fernandes
Curso: TADS
Turma: 3º Periodo
O que é ?
Quando surgiu?
Qual seu objetivo?
É uma denominação para bancos de dados
não-relacionais.
Isso não quer dizer que seus modelos não
possuem relacionamentos.
E sim, que não são orientados a tabelas.
Not Only SQL. (Não Apenas SQL)
O termo foi usado pela primeira vez em 1998
para um banco de dados relacional que omitiu
o uso de SQL.
O termo foi usado novamente em 2009 e usado
para conferências de defensores de bancos de
dados não-relacionais
Atender as necessidades das aplicações, que
necessitam de alta disponibilidade dos seus
dados e rápido desempenho do
processamento dos mesmos.
Exemplo: A google consegue processar até 20
petabytes de dados por dia armazenadas em
BigTable.
Escalabilidade Horizontal.
Ausência de Esquema ou Esquema Flexível.
Suporte a Replicação.
API Simples.
Nem Sempre é Consistente.
 A escalabilidade Horizontal consiste em aumentar o
número de máquinas disponíveis.
 A escalabilidade Horizontal em modelos relacionais
seria inviável devido a concorrência.
 Como nos modelos NoSQL não existe bloqueios, esse
tipo de escalabilidade é a mais viável.
Apresentam ausência de Esquema ou esquema
flexível, isso permite uma fácil aplicação da
escalabilidade e também um aumento na
disponibilidade dos dados.
Mas também devido a essa ausência, não há
garantia da integridade dos dados.
Permitem a replicação de uma forma nativa o
que provém uma escalabilidade maior e
também uma diminuição do tempo gasto para
a recuperação de informações.
Para que o acesso ás informações seja feito da
forma mais rápida possível, APIs são
desenvolvidos para que qualquer aplicação
possa ter acesso aos dados do banco de
dados.
Os bancos de dados NoSQL nem sempre
conseguem se manter consistentes
Map/Reduce.
Consistent Hashing.
Multiversion Concurrency Control.
Vector Clocks.
Map: O nó principal recebe os dados, divide
em partes menores e as envia aos outros nós
para serem processados. Ao final do
processamento estes nós devolvem o resultado
ao nó principal.
Reduce: O nó principal combina as respostas
obtidas pelos outros nós gerando o resultado
final do processamento.
Essa funcionalidade tem a função de suportar o
mecanismos de armazenamento e
recuperação em bancos de dados distribuídos.
O MVCC dá suporte a transações paralelas em
um banco de dados. Por não utilizar bloqueios
ele permite que operações de leitura e escrita
sejam efetuadas simultaneamente, diferente do
esquema clássico de gerenciamento de
transações.
Determina qual versão de um dado distribuído
é a mais atual. Devido há muitas operações
que possam ocorrer com esse dado.
Banco de dados chave-valor (key-value).
Banco de dados Orientado a Colunas.
Banco de dados Orientado a Documentos.
Banco de dados Orientado a Grafos.
Modelo mais simples.
Permite a visualização do banco
como uma grande tabela.
Todo o banco é composto por
um conjunto de chaves que estão
associadas a um único valor.
Um pouco mais complexos.
Os dados são indexados por uma tripla (linha,
coluna e timestramp).
As linhas e as colunas são identificadas por
chaves e o timestramp é o que permite
identificar as diferentes versões de um mesmo
dado.
Características:
• Permiti Particionamento.
• Forte Consistência.
• Não garante alta disponibilidade.
Armazena uma coleção de documentos.
Um documento no geral, é um objeto com um
código único e um conjunto de campos, que
podem ser strings, listas ou documentos
aninhados.
Sua estrutura se assemelha com de chave-valor.
Não depende de um esquema rígido, ou seja,
não há exigência de uma estrutura fixa.
Dentre os bancos de dados que utilizam esse
modelo podemos citar o CouchDB e o MongoDB.
Neste modelo, o banco pode ser comparado
com um multigrafo rotulado e direcionado, onde
cada nó pode ser conectado por mais de uma
aresta.
Possui três componentes básicos: os nós (são os
vértices do grafo), os relacionamentos (são as
arestas) e as propriedades (ou atributos) dos nós e
relacionamentos.
Propriedades ACID:
Atomicidade: A transação será executada totalmente
ou não será executada.
Consistência: Garante que o banco de dados passará
de uma forma consistente para outra forma consistente.
Isolamento: Garante que a transação não será
interferida por nenhuma outra transação concorrente.
Durabilidade: Garante que o que foi salvo, não será mais
perdido.
Propriedades BASE:
Basically Available – Basicamente Disponível.
Soft-State – Estado Leve
Eventually Consistent – Eventualmente Consistente.
Uma aplicação funciona basicamente todo o tempo
(Basicamente Disponível), não tem de ser consistente
todo o tempo (Estado Leve) e o sistema torna-se
consistente no momento devido (Eventualmente
Consistente).
ACID BASE
Consistência forte Fraca consistência
Isolamento Foco em Disponibilidade
Concentra-se em "commit" Melhor esforço
Transações aninhadas Respostas aproximadas
Disponibilidade Mais simples e mais rápido
Conservador (pessimista) Agressivo (otimista)
Evolução difícil (por exemplo, esquema) Evolução mais fácil
Definição
• Consistência – Consistency.
• Disponibilidade – Availability.
• Tolerância ao Particionamento - Partition tolerance.
Significa se um sistema esta consistente, após a
execução de uma operação. Por exemplo um
sistema é considerado consistente se depois da
atualização de um dado, todos os usuários que
tem acesso a esse dado, possam acessá-lo em
tempo real.
Refere-se á concepção e implementação de
um sistema de modo que seja assegurado que
esse permanece ativo durante um determinado
período de tempo.
Refere-se a capacidade de um sistema
continuar operando mesmo depois uma falha
na rede.
Consistência
Tolerância ao
Particionamento
Disponibilidade
• Os sistemas com consistência
forte e alta disponibilidade não
sabem lidar com a possível falha
de uma partição.
• Caso ocorra, sistema inteiro
pode ficar indisponível até o
membro do cluster voltar.
Consistência
Tolerância ao
Particionamento
Disponibilidade
• Para sistemas que precisam da
consistência forte e tolerância a
particionamento é necessário
abrir a mão da disponibilidade
(um pouco).
• Exemplos são BigTable, HBase ou
MongoDB entre vários outros.
Consistência
Tolerância ao
Particionamento
Disponibilidade
Há sistemas que jamais podem ficar
offline, portanto não desejam
sacrificar a disponibilidade. Para ter
alta disponibilidade mesmo com um
tolerância a particionamento é
preciso prejudicar a consistência.
Exemplos de Bancos são: Cassandra,
MongoB, Voldemort.
Consistência
Tolerância ao
Particionamento
Disponibilidade
Indicado para aplicações que irão trabalhar
com enormes quantidades de dados, que tem
exigências de velocidade em suas consultas e
escritas em grande volumes de dados.
MongoDB
CouchDB
Cassandra
Project Valdemort (by Linkedin)
Redis (by Google)
HBase (by Apache)
Dynamo (by Amazon)
dentre muitos outros…
 Google - Bigtable.
 Amazon - Dynamo.
 Yahoo - Hadoop.
 Facebook - Cassandra.
 Digg - Cassandra.
 Twitter - Cassandra.
 IBM - Cassandra.
 Netflix - Cassandra.
 LinkedIn - Voldemort.
 Engine Yard - MongoDB.
MySQL Cluster é um gravador-escalável, em
tempo real, projetado para oferecer 99,999% de
disponibilidade. Com uma arquitetura multi-
master distribuída e nenhum ponto de falha, o
MySQL Cluster escala horizontalmente em
hardware com auto-particionamento para
servir a ler e escrever cargas de trabalho
intensivas, acessado via SQL e interface NoSQL.
Prove alta disponibilidade e alto desempenho,
com escalabilidade horizontal.
 1. Download
link: http://dev.mysql.com/downloads/cluster/
 2. Instalação.
Localizar o arquivo, extrai-lo e criar um link para o mesmo.
 3. Configuração.
Criar a pasta que irá armazenar os arquivos de configuração.
My.cnf e Config.ini
 4. Execução.
Iniciar o processo do nó de gerenciamento, nó de dados e por último o mysql.
 5. Teste.
Criar uma tabela no nó de gerenciamento e inserir dados no mesmo.
 Principais focos do NoSQL:
 Desempenho das aplicações mediante a uma enorme quantidade de
dados.
 Escalabilidade horizontal.
 Fácil implantação e uso dos bancos de dados NoSQL.
 O NoSQL não veio para substituir o modelo relacional, mas sim tentar suprir
as novas necessidades das aplicações tem hoje.
 Fazendo então assim que possa gerenciar os seus dados de uma forma
mais eficiente.
NoSQL, Base VS ACID e Teorema CAP
NoSQL, Base VS ACID e Teorema CAP

Mais conteúdo relacionado

Mais procurados

Banco de Dados - MySQL Basico
Banco de Dados - MySQL BasicoBanco de Dados - MySQL Basico
Banco de Dados - MySQL BasicoRangel Javier
 
Conceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDConceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDVinicius Buffolo
 
Documentação de Arquitetura de Software Aplicando o C4 Model
Documentação de Arquitetura  de Software Aplicando o C4 ModelDocumentação de Arquitetura  de Software Aplicando o C4 Model
Documentação de Arquitetura de Software Aplicando o C4 ModelDouglas Alonso
 
Java básico - Módulo 04: Estruturas de controle
Java   básico - Módulo 04:  Estruturas de controleJava   básico - Módulo 04:  Estruturas de controle
Java básico - Módulo 04: Estruturas de controleProfessor Samuel Ribeiro
 
NoSQL Familia de Colunas Monografia
NoSQL Familia de Colunas MonografiaNoSQL Familia de Colunas Monografia
NoSQL Familia de Colunas MonografiaAugusto Giles
 
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
 
Introducao a Arquitetura de Software
Introducao a Arquitetura de SoftwareIntroducao a Arquitetura de Software
Introducao a Arquitetura de SoftwareUFPA
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidosGleydson Sousa
 
Banco de Dados - Transações e Controle de Concorrência
Banco de Dados - Transações e Controle de ConcorrênciaBanco de Dados - Transações e Controle de Concorrência
Banco de Dados - Transações e Controle de ConcorrênciaJuliano Padilha
 
Aula 01 - Fundamentos de Banco de Dados (2).pdf
Aula 01 - Fundamentos de Banco de Dados (2).pdfAula 01 - Fundamentos de Banco de Dados (2).pdf
Aula 01 - Fundamentos de Banco de Dados (2).pdfMarcelo Silva
 
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
 
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
 
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)Leinylson Fontinele
 
NOSQL uma breve introdução
NOSQL uma breve introduçãoNOSQL uma breve introdução
NOSQL uma breve introduçãoWise Systems
 
Arquitetura Cliente-Servidor
Arquitetura Cliente-ServidorArquitetura Cliente-Servidor
Arquitetura Cliente-ServidorIsrael Messias
 
Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosRafael Albani
 

Mais procurados (20)

Banco de Dados - MySQL Basico
Banco de Dados - MySQL BasicoBanco de Dados - MySQL Basico
Banco de Dados - MySQL Basico
 
Conceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBDConceitos de Banco de dados e SGBD
Conceitos de Banco de dados e SGBD
 
Introdução ao MySQL
Introdução ao MySQLIntrodução ao MySQL
Introdução ao MySQL
 
Documentação de Arquitetura de Software Aplicando o C4 Model
Documentação de Arquitetura  de Software Aplicando o C4 ModelDocumentação de Arquitetura  de Software Aplicando o C4 Model
Documentação de Arquitetura de Software Aplicando o C4 Model
 
Java básico - Módulo 04: Estruturas de controle
Java   básico - Módulo 04:  Estruturas de controleJava   básico - Módulo 04:  Estruturas de controle
Java básico - Módulo 04: Estruturas de controle
 
NoSQL Familia de Colunas Monografia
NoSQL Familia de Colunas MonografiaNoSQL Familia de Colunas Monografia
NoSQL Familia de Colunas Monografia
 
Modelagem de dados
Modelagem de dadosModelagem de dados
Modelagem de dados
 
Banco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQLBanco de dados - Aula 1 SQL
Banco de dados - Aula 1 SQL
 
Introducao a Arquitetura de Software
Introducao a Arquitetura de SoftwareIntroducao a Arquitetura de Software
Introducao a Arquitetura de Software
 
Banco de dados exercícios resolvidos
Banco de dados exercícios resolvidosBanco de dados exercícios resolvidos
Banco de dados exercícios resolvidos
 
Banco de Dados - Transações e Controle de Concorrência
Banco de Dados - Transações e Controle de ConcorrênciaBanco de Dados - Transações e Controle de Concorrência
Banco de Dados - Transações e Controle de Concorrência
 
Aula 01 - Fundamentos de Banco de Dados (2).pdf
Aula 01 - Fundamentos de Banco de Dados (2).pdfAula 01 - Fundamentos de Banco de Dados (2).pdf
Aula 01 - Fundamentos de Banco de Dados (2).pdf
 
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)
 
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
 
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
Estrutura de Dados Aula 13 - Árvores (conceito, elementos, tipos e utilizações)
 
NOSQL uma breve introdução
NOSQL uma breve introduçãoNOSQL uma breve introdução
NOSQL uma breve introdução
 
Arquitetura Cliente-Servidor
Arquitetura Cliente-ServidorArquitetura Cliente-Servidor
Arquitetura Cliente-Servidor
 
Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de Dados
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Modelagem de dados
Modelagem de dados Modelagem de dados
Modelagem de dados
 

Destaque

Sistemas NoSQL, surgimento, características e exemplos
Sistemas NoSQL, surgimento, características e exemplosSistemas NoSQL, surgimento, características e exemplos
Sistemas NoSQL, surgimento, características e exemplosAricelio Souza
 
No sql e as vantagens na utilização do mongodb
No sql e as vantagens na utilização do mongodbNo sql e as vantagens na utilização do mongodb
No sql e as vantagens na utilização do mongodbfabio perrella
 
NoSQL - Por que e quando usar?
NoSQL - Por que e quando usar?NoSQL - Por que e quando usar?
NoSQL - Por que e quando usar?Nico Steppat
 
Persistência Poliglota, Big Data e NoSQL FISL 15
Persistência Poliglota, Big Data e NoSQL FISL 15Persistência Poliglota, Big Data e NoSQL FISL 15
Persistência Poliglota, Big Data e NoSQL FISL 15Christiano Anderson
 
NoSQL: onde, como e por quê? Cassandra e MongoDB
NoSQL: onde, como e por quê? Cassandra e MongoDBNoSQL: onde, como e por quê? Cassandra e MongoDB
NoSQL: onde, como e por quê? Cassandra e MongoDBRodrigo Hjort
 
Databases, CAP, ACID, BASE, NoSQL... oh my!
Databases, CAP, ACID, BASE, NoSQL... oh my!Databases, CAP, ACID, BASE, NoSQL... oh my!
Databases, CAP, ACID, BASE, NoSQL... oh my!DATAVERSITY
 
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
 
Agenda pentru Romania Digitala
Agenda pentru Romania DigitalaAgenda pentru Romania Digitala
Agenda pentru Romania DigitalaTotalSoft
 
Criação de Data Warehouse em Banco de Dados NoSQL com Cassandra, Spark e Python
Criação de Data Warehouse em Banco de Dados NoSQL com Cassandra, Spark e PythonCriação de Data Warehouse em Banco de Dados NoSQL com Cassandra, Spark e Python
Criação de Data Warehouse em Banco de Dados NoSQL com Cassandra, Spark e PythonLeandro Mendes Ferreira
 
NoSQL Database- cassandra column Base DB
NoSQL Database- cassandra column Base DBNoSQL Database- cassandra column Base DB
NoSQL Database- cassandra column Base DBsadegh salehi
 
MongoDB - Apresentação
MongoDB - ApresentaçãoMongoDB - Apresentação
MongoDB - ApresentaçãoTerra / Neo
 
MongoDB: introdução à sua próxima base de dados
MongoDB:  introdução à sua próxima base de dadosMongoDB:  introdução à sua próxima base de dados
MongoDB: introdução à sua próxima base de dadosJordan Kobellarz
 
Utilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentesUtilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentesChristiano Anderson
 

Destaque (20)

Sistemas NoSQL, surgimento, características e exemplos
Sistemas NoSQL, surgimento, características e exemplosSistemas NoSQL, surgimento, características e exemplos
Sistemas NoSQL, surgimento, características e exemplos
 
No sql e as vantagens na utilização do mongodb
No sql e as vantagens na utilização do mongodbNo sql e as vantagens na utilização do mongodb
No sql e as vantagens na utilização do mongodb
 
NoSQL - Por que e quando usar?
NoSQL - Por que e quando usar?NoSQL - Por que e quando usar?
NoSQL - Por que e quando usar?
 
Persistência Poliglota, Big Data e NoSQL FISL 15
Persistência Poliglota, Big Data e NoSQL FISL 15Persistência Poliglota, Big Data e NoSQL FISL 15
Persistência Poliglota, Big Data e NoSQL FISL 15
 
NoSQL: onde, como e por quê? Cassandra e MongoDB
NoSQL: onde, como e por quê? Cassandra e MongoDBNoSQL: onde, como e por quê? Cassandra e MongoDB
NoSQL: onde, como e por quê? Cassandra e MongoDB
 
Databases, CAP, ACID, BASE, NoSQL... oh my!
Databases, CAP, ACID, BASE, NoSQL... oh my!Databases, CAP, ACID, BASE, NoSQL... oh my!
Databases, CAP, ACID, BASE, NoSQL... oh my!
 
O NoSQL e o Relacional: Uma Análise
O NoSQL e o Relacional: Uma AnáliseO NoSQL e o Relacional: Uma Análise
O NoSQL e o Relacional: Uma Análise
 
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
 
Agenda pentru Romania Digitala
Agenda pentru Romania DigitalaAgenda pentru Romania Digitala
Agenda pentru Romania Digitala
 
Criação de Data Warehouse em Banco de Dados NoSQL com Cassandra, Spark e Python
Criação de Data Warehouse em Banco de Dados NoSQL com Cassandra, Spark e PythonCriação de Data Warehouse em Banco de Dados NoSQL com Cassandra, Spark e Python
Criação de Data Warehouse em Banco de Dados NoSQL com Cassandra, Spark e Python
 
DynamoDB - Uma Introdução
DynamoDB - Uma IntroduçãoDynamoDB - Uma Introdução
DynamoDB - Uma Introdução
 
Cassandra
CassandraCassandra
Cassandra
 
NoSQL Database- cassandra column Base DB
NoSQL Database- cassandra column Base DBNoSQL Database- cassandra column Base DB
NoSQL Database- cassandra column Base DB
 
MongoDB - Apresentação
MongoDB - ApresentaçãoMongoDB - Apresentação
MongoDB - Apresentação
 
MongoDB: introdução à sua próxima base de dados
MongoDB:  introdução à sua próxima base de dadosMongoDB:  introdução à sua próxima base de dados
MongoDB: introdução à sua próxima base de dados
 
Workshop MongoDB
Workshop MongoDBWorkshop MongoDB
Workshop MongoDB
 
NoSQL e MongoDB - ETEC
NoSQL e MongoDB - ETECNoSQL e MongoDB - ETEC
NoSQL e MongoDB - ETEC
 
MongoDB - Iniciando e Conhecendo
MongoDB - Iniciando e ConhecendoMongoDB - Iniciando e Conhecendo
MongoDB - Iniciando e Conhecendo
 
Utilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentesUtilizando NoSQL no desenvolvimento de soluções inteligentes
Utilizando NoSQL no desenvolvimento de soluções inteligentes
 
NoSQL e MongoDB
NoSQL e MongoDBNoSQL e MongoDB
NoSQL e MongoDB
 

Semelhante a NoSQL, Base VS ACID e Teorema CAP

Semelhante a NoSQL, Base VS ACID e Teorema CAP (20)

No sql std
No sql stdNo sql std
No sql std
 
Material Seminário NoSQL
Material Seminário NoSQLMaterial Seminário NoSQL
Material Seminário NoSQL
 
Artigo Nosql
Artigo NosqlArtigo Nosql
Artigo Nosql
 
NoSQL
NoSQLNoSQL
NoSQL
 
NoSql e NewSql
NoSql e NewSqlNoSql e NewSql
NoSql e NewSql
 
NOSQL - Uma real alternativa
NOSQL - Uma real alternativaNOSQL - Uma real alternativa
NOSQL - Uma real alternativa
 
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
 
xxx no sequel
xxx no sequelxxx no sequel
xxx no sequel
 
Nosql
NosqlNosql
Nosql
 
Banco de Dados NoSql - JornalJava
Banco de Dados NoSql - JornalJavaBanco de Dados NoSql - JornalJava
Banco de Dados NoSql - JornalJava
 
Web Scale Data Management
Web Scale Data ManagementWeb Scale Data Management
Web Scale Data Management
 
Apresentação new sql
Apresentação new sqlApresentação new sql
Apresentação new sql
 
Introdução ao Nosql
Introdução ao NosqlIntrodução ao Nosql
Introdução ao Nosql
 
NoSQL Livre
NoSQL LivreNoSQL Livre
NoSQL Livre
 
C # banco de dados
C # banco de dadosC # banco de dados
C # banco de dados
 
NoSQL: Perdas e Ganhos
NoSQL: Perdas e GanhosNoSQL: Perdas e Ganhos
NoSQL: Perdas e Ganhos
 
Comparação entre bancos de dados de modelo não relacional
Comparação entre bancos de dados de modelo não relacionalComparação entre bancos de dados de modelo não relacional
Comparação entre bancos de dados de modelo não relacional
 
MAC5855 - NoSQL
MAC5855 - NoSQLMAC5855 - NoSQL
MAC5855 - NoSQL
 
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
 
NoSQL & SQL
NoSQL & SQLNoSQL & SQL
NoSQL & SQL
 

Mais de Aricelio Souza

Testes de Caixa Branca e Métricas de Código
Testes de Caixa Branca e Métricas de CódigoTestes de Caixa Branca e Métricas de Código
Testes de Caixa Branca e Métricas de CódigoAricelio Souza
 
Metodologia Ágil Scrum
Metodologia Ágil ScrumMetodologia Ágil Scrum
Metodologia Ágil ScrumAricelio Souza
 
Padrões Arquiteturais - MVC, MVP e MVVM
Padrões Arquiteturais - MVC, MVP e MVVMPadrões Arquiteturais - MVC, MVP e MVVM
Padrões Arquiteturais - MVC, MVP e MVVMAricelio Souza
 
Padrões de projeto - Martin Fowler - P of EAA
Padrões de projeto - Martin Fowler - P of EAAPadrões de projeto - Martin Fowler - P of EAA
Padrões de projeto - Martin Fowler - P of EAAAricelio Souza
 
Comparativo tecnico entre tecnologias de banco de dados: Relacional, NoSQL, N...
Comparativo tecnico entre tecnologias de banco de dados: Relacional, NoSQL, N...Comparativo tecnico entre tecnologias de banco de dados: Relacional, NoSQL, N...
Comparativo tecnico entre tecnologias de banco de dados: Relacional, NoSQL, N...Aricelio Souza
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de SoftwareAricelio Souza
 
Ataques DOS, DDOS e Scamming
Ataques DOS, DDOS e ScammingAtaques DOS, DDOS e Scamming
Ataques DOS, DDOS e ScammingAricelio Souza
 
Documentação Ataques DOS, DDOS e Scamming
Documentação Ataques DOS, DDOS e ScammingDocumentação Ataques DOS, DDOS e Scamming
Documentação Ataques DOS, DDOS e ScammingAricelio Souza
 

Mais de Aricelio Souza (9)

Testes de Caixa Branca e Métricas de Código
Testes de Caixa Branca e Métricas de CódigoTestes de Caixa Branca e Métricas de Código
Testes de Caixa Branca e Métricas de Código
 
Metodologia Ágil Scrum
Metodologia Ágil ScrumMetodologia Ágil Scrum
Metodologia Ágil Scrum
 
Padrões Arquiteturais - MVC, MVP e MVVM
Padrões Arquiteturais - MVC, MVP e MVVMPadrões Arquiteturais - MVC, MVP e MVVM
Padrões Arquiteturais - MVC, MVP e MVVM
 
Tipos de Servidores
Tipos de ServidoresTipos de Servidores
Tipos de Servidores
 
Padrões de projeto - Martin Fowler - P of EAA
Padrões de projeto - Martin Fowler - P of EAAPadrões de projeto - Martin Fowler - P of EAA
Padrões de projeto - Martin Fowler - P of EAA
 
Comparativo tecnico entre tecnologias de banco de dados: Relacional, NoSQL, N...
Comparativo tecnico entre tecnologias de banco de dados: Relacional, NoSQL, N...Comparativo tecnico entre tecnologias de banco de dados: Relacional, NoSQL, N...
Comparativo tecnico entre tecnologias de banco de dados: Relacional, NoSQL, N...
 
Arquitetura de Software
Arquitetura de SoftwareArquitetura de Software
Arquitetura de Software
 
Ataques DOS, DDOS e Scamming
Ataques DOS, DDOS e ScammingAtaques DOS, DDOS e Scamming
Ataques DOS, DDOS e Scamming
 
Documentação Ataques DOS, DDOS e Scamming
Documentação Ataques DOS, DDOS e ScammingDocumentação Ataques DOS, DDOS e Scamming
Documentação Ataques DOS, DDOS e Scamming
 

Último

Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxApostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxIsabelaRafael2
 
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologiaAula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologiaaulasgege
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditaduraAdryan Luiz
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesMary Alvarenga
 
Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.keislayyovera123
 
Slides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSlides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSilvana Silva
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavrasMary Alvarenga
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxIsabellaGomes58
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfAdrianaCunha84
 
Prova uniasselvi tecnologias da Informação.pdf
Prova uniasselvi tecnologias da Informação.pdfProva uniasselvi tecnologias da Informação.pdf
Prova uniasselvi tecnologias da Informação.pdfArthurRomanof1
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveaulasgege
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxLuizHenriquedeAlmeid6
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxLuizHenriquedeAlmeid6
 
Guia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdfGuia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdfEyshilaKelly1
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinhaMary Alvarenga
 
Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Susana Stoffel
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxLuizHenriquedeAlmeid6
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADOcarolinacespedes23
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalJacqueline Cerqueira
 

Último (20)

Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptxApostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
Apostila da CONQUISTA_ para o 6ANO_LP_UNI1.pptx
 
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologiaAula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
Aula - 1º Ano - Émile Durkheim - Um dos clássicos da sociologia
 
trabalho wanda rocha ditadura
trabalho wanda rocha ditaduratrabalho wanda rocha ditadura
trabalho wanda rocha ditadura
 
A Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das MãesA Arte de Escrever Poemas - Dia das Mães
A Arte de Escrever Poemas - Dia das Mães
 
Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.Época Realista y la obra de Madame Bovary.
Época Realista y la obra de Madame Bovary.
 
Slides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptxSlides 1 - O gênero textual entrevista.pptx
Slides 1 - O gênero textual entrevista.pptx
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavras
 
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptxQUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
QUARTA - 1EM SOCIOLOGIA - Aprender a pesquisar.pptx
 
William J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdfWilliam J. Bennett - O livro das virtudes para Crianças.pdf
William J. Bennett - O livro das virtudes para Crianças.pdf
 
Prova uniasselvi tecnologias da Informação.pdf
Prova uniasselvi tecnologias da Informação.pdfProva uniasselvi tecnologias da Informação.pdf
Prova uniasselvi tecnologias da Informação.pdf
 
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chaveAula - 2º Ano - Cultura e Sociedade - Conceitos-chave
Aula - 2º Ano - Cultura e Sociedade - Conceitos-chave
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
 
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
 
Guia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdfGuia completo da Previdênci a - Reforma .pdf
Guia completo da Previdênci a - Reforma .pdf
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinha
 
Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.Família de palavras.ppt com exemplos e exercícios interativos.
Família de palavras.ppt com exemplos e exercícios interativos.
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem Organizacional
 

NoSQL, Base VS ACID e Teorema CAP

  • 1. NoSQL BASE vs ACID Teorema CAP Nome: Aricelio de Souza Fernandes Curso: TADS Turma: 3º Periodo
  • 2. O que é ? Quando surgiu? Qual seu objetivo?
  • 3. É uma denominação para bancos de dados não-relacionais. Isso não quer dizer que seus modelos não possuem relacionamentos. E sim, que não são orientados a tabelas. Not Only SQL. (Não Apenas SQL)
  • 4. O termo foi usado pela primeira vez em 1998 para um banco de dados relacional que omitiu o uso de SQL. O termo foi usado novamente em 2009 e usado para conferências de defensores de bancos de dados não-relacionais
  • 5. Atender as necessidades das aplicações, que necessitam de alta disponibilidade dos seus dados e rápido desempenho do processamento dos mesmos. Exemplo: A google consegue processar até 20 petabytes de dados por dia armazenadas em BigTable.
  • 6. Escalabilidade Horizontal. Ausência de Esquema ou Esquema Flexível. Suporte a Replicação. API Simples. Nem Sempre é Consistente.
  • 7.  A escalabilidade Horizontal consiste em aumentar o número de máquinas disponíveis.  A escalabilidade Horizontal em modelos relacionais seria inviável devido a concorrência.  Como nos modelos NoSQL não existe bloqueios, esse tipo de escalabilidade é a mais viável.
  • 8. Apresentam ausência de Esquema ou esquema flexível, isso permite uma fácil aplicação da escalabilidade e também um aumento na disponibilidade dos dados. Mas também devido a essa ausência, não há garantia da integridade dos dados.
  • 9. Permitem a replicação de uma forma nativa o que provém uma escalabilidade maior e também uma diminuição do tempo gasto para a recuperação de informações.
  • 10. Para que o acesso ás informações seja feito da forma mais rápida possível, APIs são desenvolvidos para que qualquer aplicação possa ter acesso aos dados do banco de dados.
  • 11. Os bancos de dados NoSQL nem sempre conseguem se manter consistentes
  • 13. Map: O nó principal recebe os dados, divide em partes menores e as envia aos outros nós para serem processados. Ao final do processamento estes nós devolvem o resultado ao nó principal. Reduce: O nó principal combina as respostas obtidas pelos outros nós gerando o resultado final do processamento.
  • 14. Essa funcionalidade tem a função de suportar o mecanismos de armazenamento e recuperação em bancos de dados distribuídos.
  • 15. O MVCC dá suporte a transações paralelas em um banco de dados. Por não utilizar bloqueios ele permite que operações de leitura e escrita sejam efetuadas simultaneamente, diferente do esquema clássico de gerenciamento de transações.
  • 16. Determina qual versão de um dado distribuído é a mais atual. Devido há muitas operações que possam ocorrer com esse dado.
  • 17. Banco de dados chave-valor (key-value). Banco de dados Orientado a Colunas. Banco de dados Orientado a Documentos. Banco de dados Orientado a Grafos.
  • 18. Modelo mais simples. Permite a visualização do banco como uma grande tabela. Todo o banco é composto por um conjunto de chaves que estão associadas a um único valor.
  • 19.
  • 20. Um pouco mais complexos. Os dados são indexados por uma tripla (linha, coluna e timestramp). As linhas e as colunas são identificadas por chaves e o timestramp é o que permite identificar as diferentes versões de um mesmo dado.
  • 21. Características: • Permiti Particionamento. • Forte Consistência. • Não garante alta disponibilidade.
  • 22. Armazena uma coleção de documentos. Um documento no geral, é um objeto com um código único e um conjunto de campos, que podem ser strings, listas ou documentos aninhados. Sua estrutura se assemelha com de chave-valor.
  • 23. Não depende de um esquema rígido, ou seja, não há exigência de uma estrutura fixa. Dentre os bancos de dados que utilizam esse modelo podemos citar o CouchDB e o MongoDB.
  • 24. Neste modelo, o banco pode ser comparado com um multigrafo rotulado e direcionado, onde cada nó pode ser conectado por mais de uma aresta. Possui três componentes básicos: os nós (são os vértices do grafo), os relacionamentos (são as arestas) e as propriedades (ou atributos) dos nós e relacionamentos.
  • 25.
  • 26. Propriedades ACID: Atomicidade: A transação será executada totalmente ou não será executada. Consistência: Garante que o banco de dados passará de uma forma consistente para outra forma consistente. Isolamento: Garante que a transação não será interferida por nenhuma outra transação concorrente. Durabilidade: Garante que o que foi salvo, não será mais perdido.
  • 27. Propriedades BASE: Basically Available – Basicamente Disponível. Soft-State – Estado Leve Eventually Consistent – Eventualmente Consistente. Uma aplicação funciona basicamente todo o tempo (Basicamente Disponível), não tem de ser consistente todo o tempo (Estado Leve) e o sistema torna-se consistente no momento devido (Eventualmente Consistente).
  • 28. ACID BASE Consistência forte Fraca consistência Isolamento Foco em Disponibilidade Concentra-se em "commit" Melhor esforço Transações aninhadas Respostas aproximadas Disponibilidade Mais simples e mais rápido Conservador (pessimista) Agressivo (otimista) Evolução difícil (por exemplo, esquema) Evolução mais fácil
  • 29. Definição • Consistência – Consistency. • Disponibilidade – Availability. • Tolerância ao Particionamento - Partition tolerance.
  • 30. Significa se um sistema esta consistente, após a execução de uma operação. Por exemplo um sistema é considerado consistente se depois da atualização de um dado, todos os usuários que tem acesso a esse dado, possam acessá-lo em tempo real.
  • 31. Refere-se á concepção e implementação de um sistema de modo que seja assegurado que esse permanece ativo durante um determinado período de tempo.
  • 32. Refere-se a capacidade de um sistema continuar operando mesmo depois uma falha na rede.
  • 34.
  • 35. • Os sistemas com consistência forte e alta disponibilidade não sabem lidar com a possível falha de uma partição. • Caso ocorra, sistema inteiro pode ficar indisponível até o membro do cluster voltar.
  • 37. • Para sistemas que precisam da consistência forte e tolerância a particionamento é necessário abrir a mão da disponibilidade (um pouco). • Exemplos são BigTable, HBase ou MongoDB entre vários outros.
  • 39. Há sistemas que jamais podem ficar offline, portanto não desejam sacrificar a disponibilidade. Para ter alta disponibilidade mesmo com um tolerância a particionamento é preciso prejudicar a consistência. Exemplos de Bancos são: Cassandra, MongoB, Voldemort.
  • 41.
  • 42. Indicado para aplicações que irão trabalhar com enormes quantidades de dados, que tem exigências de velocidade em suas consultas e escritas em grande volumes de dados.
  • 43. MongoDB CouchDB Cassandra Project Valdemort (by Linkedin) Redis (by Google) HBase (by Apache) Dynamo (by Amazon) dentre muitos outros…
  • 44.  Google - Bigtable.  Amazon - Dynamo.  Yahoo - Hadoop.  Facebook - Cassandra.  Digg - Cassandra.  Twitter - Cassandra.  IBM - Cassandra.  Netflix - Cassandra.  LinkedIn - Voldemort.  Engine Yard - MongoDB.
  • 45. MySQL Cluster é um gravador-escalável, em tempo real, projetado para oferecer 99,999% de disponibilidade. Com uma arquitetura multi- master distribuída e nenhum ponto de falha, o MySQL Cluster escala horizontalmente em hardware com auto-particionamento para servir a ler e escrever cargas de trabalho intensivas, acessado via SQL e interface NoSQL. Prove alta disponibilidade e alto desempenho, com escalabilidade horizontal.
  • 46.
  • 47.  1. Download link: http://dev.mysql.com/downloads/cluster/  2. Instalação. Localizar o arquivo, extrai-lo e criar um link para o mesmo.  3. Configuração. Criar a pasta que irá armazenar os arquivos de configuração. My.cnf e Config.ini  4. Execução. Iniciar o processo do nó de gerenciamento, nó de dados e por último o mysql.  5. Teste. Criar uma tabela no nó de gerenciamento e inserir dados no mesmo.
  • 48.  Principais focos do NoSQL:  Desempenho das aplicações mediante a uma enorme quantidade de dados.  Escalabilidade horizontal.  Fácil implantação e uso dos bancos de dados NoSQL.  O NoSQL não veio para substituir o modelo relacional, mas sim tentar suprir as novas necessidades das aplicações tem hoje.  Fazendo então assim que possa gerenciar os seus dados de uma forma mais eficiente.