NoSQL Systems Survey?
Cassandra & CouchDB
Henrique Dias
1
RoteiroPrimeiro vou apresentar a motivação do artigo, os conceitos relacionados aosdiferentes bancos não-relacionais. Em seguida apresentarei uma comparação entre osesquemas relacionais e NOSQL aprofundando os modelos do Cassandra e CouchDB. Por fim, farei uma conclusão sobre o assunto. Este roteiro é uma crítica lúdica aosslides puro-texto onde o apresentador fica de costas para a platéia... de braçoscruzados... lendo o slide :) Para quem chegou nesse ponto do texto, essas últimaspalavras são para você: esse slide é uma técnica de apresentação chamada quebra-gelo onde o apresentador faz um contado instigando a curiosidade do público para a apresentação que será feita. Também podem procurar a apresentação Death by Power Point para se inspirarem para fazer ótimas apresentações. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse nec orci lacus, sit amet gravida sem. Aenean at libero ac urna egestas aliquam et id lectus. In fringilla ultrices magna, quis ultricies est variussed. Suspendisse semper leo id mi accumsan ac egestas neque vulputate. Duis accumsan ligulaquis tellus condimentum ullamcorper. Nullam mollis nisi sit amet purus laoreet ut tincidunterat tincidunt. Donec ipsum lacus, semper sed aliquam vel, molestie quis nulla. Vivamus tellusmagna, luctus in elementum non, porttitor sed quam. Morbi ultrices erat at risus hendrerittristique. Phase-llus sodales sodales dui, eget pharetra sapien ultricies et. Proin a justomassa, at hendrerit purus. Suspendisse id tortor nibh.
2
Ferramentas
3Conceitos Cassandra CouchDB Final Conclusão
ACID x BASE
Atomicidade
Consistência
Isolamento
Durabilidade
Basically
Available
Soft-State
Eventual consistency
4Conceitos Cassandra CouchDB Final Conclusão
Teorema CAP
Escolha Dois
Avaliabilidade:Cada cliente sempre pode ler e escrever.
Consistência:Todos os clientes sempre tem a mesma visão dos dados.
Partição:O sistema funciona mesmo quando a rede
está particionada.5
Conceitos Cassandra CouchDB Final Conclusão
Teorema CAP
• CAo SGBDs em geralo MySQLo PostgreSQL
• APo Dynamoo Cassandrao CouchDB
• CPo BigTableo MongoDBo Berkeley DB
6Conceitos Cassandra CouchDB Final Conclusão
Disponibilidade
Solicitação
--------------------------------------------------X
7Conceitos Cassandra CouchDB Final Conclusão
Consistência Eventual
ConsistênciaEventual
ConsistênciaForte
8Conceitos Cassandra CouchDB Final Conclusão
Partição da Rede
Partiçãode Rede
Leitura Escrita
Cliente
9Conceitos Cassandra CouchDB Final Conclusão
10Conceitos Cassandra CouchDB Final Conclusão
Esquema Cassandra
11Conceitos Cassandra CouchDB Final Conclusão
userID refID Scrap
23 75 Mensagem enviada para 23
23 85 ...
52 458 ...
125 22 ...
23 85 ...
78 12 ...
96 99 ...
Scraps
userID: 23• 2010-12-14 22:15:45.568
o 86o "Vai na aula de BD amanhã?"
• 2006-12-14 16:25:30.245o 78o "É o INTER na final!!!"
userID: 76• 2010-12-13 08:12:43.125
o 99o "Sempre costumo ir lá, claro!"
• 2010-11-29 19:33:11.753o 216o "Sim, mas ela não atendeu =/"
Admin Cassandra
12Conceitos Cassandra CouchDB Final Conclusão
Admin Cassandra
13Conceitos Cassandra CouchDB Final Conclusão
Esquema CouchDB
14Conceitos Cassandra CouchDB Final Conclusão
DocID Título Autor Corpo Cabeçalho Versão
23 Carta de Demissão Empresa Caro funcio.... - 25
56 Folha Timbrada - - Logotipo 34
Documento 56
DocID: 15632Version: 2178963"Título": "Folha Timbrada""Cabeçalho": "Logotipo"
Documento 23
DocID: 1238472Version: 2348795"Título": "Carta de Demissão""Autor": "Empresa""Corpo": "Caro funcionário..."
Admin CouchDB
15Conceitos Cassandra CouchDB Final Conclusão
Comparativo
16Conceitos Cassandra CouchDB Final Conclusão
Cassandra CouchDB
Consulta API JavaScript
Linguagem Java Erlang
Modelo Colunas Documento
Arquitetura Distribuído Replicado
Consistência Eventual Versões
Falhas Tolerante Replicação
Múltiplos Modelos
idCliente Nome Endereço
1 Fulano Rua do Zero
Ciclano Avenida Perspectiva2
Filmes
DocID: 1238472"Título": "American Pie""Diretor": "Paul Weitz""Atores": ["Jason", "Chris", "Thomas", "Alyson"]"Sinopse": "quatro amigos que fazem um pacto queantes de se formarem todos eles vão perder a virgindade..""Tags":["comédia", "jovens", "sexo"]"Locações": 350
Locações
idCliente: 1• idFilmes
o 12382o 526o ...
• Tagso comédia: 12o drama 15o sexo: 86
17Conceitos Cassandra CouchDB Final Conclusão
Conclusão
Hábito ModeloX
Dados Modelo
NoSQL + Relacional
18Conceitos Cassandra CouchDB Final Conclusão