Esta apresentação é referente à palestra NoSQL: Uma análise crítica apresentada na trilha NoSQL do evento TDC 2014 em 06/08/2014. O autor pode ser contatato em pelo twitter em @pichiliani
Projeto HTMA - Trand Tremor Measurement Application
NoSQL: Uma análise crítica no TDC 2014
1. 1
NoSQL: Uma análise crítica
Ms. Mauro C. Pichiliani (mauro@pichiliani.com.br)
@pichiliani
@databasecast
2. 2
Quem sou eu
• Mestre e doutorando em computação pelo ITA
• Escritor da SQL Magazine, Fórum Access, Java
Magazine, SQLServerCentral.com e outras
• Colaborador do iMasters há 12 anos
• Autor do livro “Conversando sobre banco de dados”
• Co-produtor do podcast DatabaseCast
• Consultor independente e autor de cursos on-line
4. 4
Tópicos
Evolução do NoSQL
NoSQL é fácil e rápido de instalar, usar e manter
NoSQL e armazenamento
NoSQL é barato
NoSQL e performance
Big Data
7. 7
Modelagem e evolução
Contexto: aplicações web que nascem do dia para noite
Startup tem que ter algo para mostrar. Agora.
Beta eterno
Novas ideias para modelagem
Bootstrap inicial rápido leva a problemas no futuro?
Instalar: MongoDB x Hadoop
Usar: MapReduce x SELECT … GROUP BY…
Manter: 10-20 anos de experiência cluster x ambiente
distribuído para escalabilidade
9. 9
NoSQL e armazenamento
Aguenta o tranco? Certamente!
Mas e a gestão dos dados no longo prazo?
Segurança além do básico?
Opções adequadas de backup, compactação?
E a validação, cleasing e qualidade de dados?
Interoperabilidade além de importação/exportação?
Opções de tuning além de índices?
Compatilidade com o legado (sistemas e versões antigas?)
Migrações? Comparações?
Será que o resposta será: “tudo ficará a cargo da
aplicação” para sempre?
E rodar o NoSQL na nuvem, resolve estas questões?
10. 10
NoSQL é barato
Não há dúvida que NoSQL na nuvem é mais barato do que on-
premisses
Em todos os cenários com muitos dados isso é verdade?
Foco na comparação de preço deixa aspectos técnicos de lado
E quando aos outros fatores ocultos que podem influenciar no custo:
Largura de banda e QoS da conexão?
Custo de upload/download de dados para cloud?
Custo da mão de obra?
Tempo de treinamento?
Suporte?
Espaço em HD, processamento e memória para testes?
Custo de não poder ter flexibilidade para ajustes finos no hardware?
Possibilidade de modificações no contrato?
É justo comparar custo quando você muda o hardware, a plataforma,
a aplicação, o banco de dados, a arquitetura os dados e mantém
apenas o usuário?
11. 11
NoSQL e performance
No mundo NoSQL parece que performance = escalabilidade
Tendência de pensar que performance se resolve adicionando mais
nós, fazendo mais sharding, comprando mais máquina virtual,
instalando mais instâncias, contratando novo provedor da nuvem…
Tais abordagens podem ser rápidas e práticas
E muitas vezes são empregadas “a rodo”
Tendência a usar mais configuração/instalação do que implementação?
Híbrido SQL+NoSQL que escala fácil: F1 do Google
Que tal investir em:
Modelagem
Técnicas de tuning
Algoritmos melhores
Conhecimento dos dados, simulações e previsões
Exploração do paralelismo de múltiplos cores em um único servidor
Capacitação das pessoas
Arquitetura e organização de todos os componentes
12. 12
Performance e escalabilidade
Uma ideia maluca: que tal se concentrar mais no
problema do que na solução?
Compreender melhor o cenário e contexto
Dividir o problema geral em problemas menores
Analisar o presente e prever o futuro
Considerar a realidade e segurar a expectativa
Evitar agir por impulso e sair implementando logo
13. 13
Big Data
Todo mundo já ouviu falar em Big Data
Mas o que está por trás dos números gigantes, infográficos
chamativos e do “tamanho da internet”?
Para pensar:
Vamos ter que trabalhar sempre com os números gigantes do Big Data?
E quanto à compressão? Dados inúteis? Amostragem estatística? Duplicação?
Será mesmo que precisamos de novas ferramentas, práticas e teorias no dia a dia?
Crítica: exemplos do Hadoop realmente fazem sentido?
NoSQL é resposta padrão para tratar “problemas” de Big Data?
14. 14
Conclusão
NoSQL veio para ficar
Passamos do ponto de discutir semântia e argumentos básicos
Dizer que “produto x ou y é melhor para z ou w” já não é mais
suficiente
Evolução do NoSQL mostra bons e maus caminhos
Muitos fatores a considerar na escolha de qual BD
adotar
Ainda temos adoção fortemente influenciada por aspectos de
negócio, exemplos básicos e comportamento de manada
Bons e maus cases precisam ser mais detalhados e divulgados
fora da área acadêmica