2
3
Tópicos
� NoSQL é novo
� NoSQL é fácil e rápido de instalar, usar e manter
� NoSQL e armazenamento para BigData
� NoSQL é barato
� NoSQL e performance
4
NoSQL é novo?
� Que tal DBF? CSV? XML?� Grafos? Uso massivo desde 1990… (academia)� Bancos sem necessidade de transação?� Que tal o maior banco de dados distribuído do mundo?� E o banco de dados mais utilizado?
5
NoSQL: fácil e rápido� Contexto: aplicações web que nascem do dia para noite
� Startup tem que ter algo para mostrar. Agora. � Beta eterno
� Usabilidade é subjetiva, mas há critérios e avaliação objetiva
� 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
6
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 tunning 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?
7
NoSQL é barato� Certamente NoSQL na nuvem é mais barato do que on-premisses
� Mas em todos os cenários com muitos dados isso é verdade?
� Foco na comparação de preço deixa aspectos técnicos de lado?
� E outros fatores ocultos que influenciam 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?
� É 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?
8
NoSQL e peformance� 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?
� 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
� Uma ideia maluca: que tal se concentrar mais no problema do que na solução?
9
Conclusão
� NoSQL já não é mais o garoto novo na quebrada
� Passamos do ponto de discutir semântia e argumentosbásicos
� Dizer que “produto x ou y é melhor para z ou w” já não é maissuficiente
� Evolução do NoSQL mostra bons e maus caminhos
� Ainda engatinhamos em comparações objetivas
� Adoção fortemente influenciada por aspectos de negócio,economia ou comportamento de manada
� Bons e maus cases precisam ser mais detalhados (edivulgados)