SlideShare a Scribd company logo
1 of 9
Download to read offline
NoSQL: Uma análise crítica

Ms. Mauro C. Pichiliani (mauro@pichiliani.com.br)
@pichiliani
@databasecast

1
2
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

3
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?
4
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
5
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?
6
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?
7
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?

8
Conclusão
NoSQL já não é mais o garoto novo na quebrada
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
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 (e
divulgados)
9

More Related Content

What's hot

Memória virtual 2
Memória virtual 2Memória virtual 2
Memória virtual 2
jackeline456
 

What's hot (20)

Datasnap avançado - Respostas para um sistema robusto - Embarcadero Conferenc...
Datasnap avançado - Respostas para um sistema robusto - Embarcadero Conferenc...Datasnap avançado - Respostas para um sistema robusto - Embarcadero Conferenc...
Datasnap avançado - Respostas para um sistema robusto - Embarcadero Conferenc...
 
Testando aplicações DataSnap
Testando aplicações DataSnapTestando aplicações DataSnap
Testando aplicações DataSnap
 
Drupal + Rex
Drupal + RexDrupal + Rex
Drupal + Rex
 
Pgquarrel
PgquarrelPgquarrel
Pgquarrel
 
QConSP16 - Apache Cassandra Evoluindo Sistemas Distribuídos
QConSP16 - Apache Cassandra Evoluindo Sistemas DistribuídosQConSP16 - Apache Cassandra Evoluindo Sistemas Distribuídos
QConSP16 - Apache Cassandra Evoluindo Sistemas Distribuídos
 
Um Mecanismo de Auto Elasticidade com base no Tempo de Resposta para Ambiente...
Um Mecanismo de Auto Elasticidade com base no Tempo de Resposta para Ambiente...Um Mecanismo de Auto Elasticidade com base no Tempo de Resposta para Ambiente...
Um Mecanismo de Auto Elasticidade com base no Tempo de Resposta para Ambiente...
 
Ruby profiling
Ruby profilingRuby profiling
Ruby profiling
 
Postgres Big data
Postgres Big dataPostgres Big data
Postgres Big data
 
Exemplos de uso de apache spark usando aws elastic map reduce
Exemplos de uso de apache spark usando aws elastic map reduceExemplos de uso de apache spark usando aws elastic map reduce
Exemplos de uso de apache spark usando aws elastic map reduce
 
PostgreSQL Ha
PostgreSQL HaPostgreSQL Ha
PostgreSQL Ha
 
Estudo comparativo entr bancos RDBMS, NoSQL e NewSQL
Estudo comparativo entr bancos RDBMS, NoSQL e NewSQLEstudo comparativo entr bancos RDBMS, NoSQL e NewSQL
Estudo comparativo entr bancos RDBMS, NoSQL e NewSQL
 
Desmistificando Replicação no PostgreSQL
Desmistificando Replicação no PostgreSQLDesmistificando Replicação no PostgreSQL
Desmistificando Replicação no PostgreSQL
 
Memória virtual 2
Memória virtual 2Memória virtual 2
Memória virtual 2
 
Apresentação PGDAY - Replicação Nativa - PostgreSQL
Apresentação PGDAY - Replicação Nativa - PostgreSQLApresentação PGDAY - Replicação Nativa - PostgreSQL
Apresentação PGDAY - Replicação Nativa - PostgreSQL
 
Hadoop MapReduce and Apache Spark on EMR: comparing performance for distribut...
Hadoop MapReduce and Apache Spark on EMR: comparing performance for distribut...Hadoop MapReduce and Apache Spark on EMR: comparing performance for distribut...
Hadoop MapReduce and Apache Spark on EMR: comparing performance for distribut...
 
Análise comparativa entre as versões 3 e 4 do protocolo NFS em arquiteturas NAS
Análise comparativa entre as versões 3 e 4 do protocolo NFS em arquiteturas NASAnálise comparativa entre as versões 3 e 4 do protocolo NFS em arquiteturas NAS
Análise comparativa entre as versões 3 e 4 do protocolo NFS em arquiteturas NAS
 
Zabbix 3 0-cinfotec
Zabbix 3 0-cinfotecZabbix 3 0-cinfotec
Zabbix 3 0-cinfotec
 
TDC2018SP | Trilha Serveless - Pra que SERVErless?
TDC2018SP | Trilha Serveless - Pra que SERVErless?TDC2018SP | Trilha Serveless - Pra que SERVErless?
TDC2018SP | Trilha Serveless - Pra que SERVErless?
 
JVM and Tools - ESIG Academy
JVM and Tools - ESIG AcademyJVM and Tools - ESIG Academy
JVM and Tools - ESIG Academy
 
Alta Concorrência com Postgres
Alta Concorrência com PostgresAlta Concorrência com Postgres
Alta Concorrência com Postgres
 

Similar to NoSQL: Uma análise crítica

De zero a cem em cloud computing transformando idéias em aplicações em pouco...
De zero a cem em cloud computing  transformando idéias em aplicações em pouco...De zero a cem em cloud computing  transformando idéias em aplicações em pouco...
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
Ricardo Martinelli de Oliveira
 
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
Carlo Pires
 
Tesi Dados Final
Tesi Dados FinalTesi Dados Final
Tesi Dados Final
jcaroso
 

Similar to NoSQL: Uma análise crítica (20)

NoSQL: Uma análise crítica no TDC 2014
NoSQL: Uma análise crítica no TDC 2014NoSQL: Uma análise crítica no TDC 2014
NoSQL: Uma análise crítica no TDC 2014
 
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
De zero a cem em cloud computing  transformando idéias em aplicações em pouco...De zero a cem em cloud computing  transformando idéias em aplicações em pouco...
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
 
Big data da teoria à prática
Big data  da teoria à práticaBig data  da teoria à prática
Big data da teoria à prática
 
Tdc Future 2021 - simples soluções grandes resultados - Márcio Rogério Nizzola
Tdc Future 2021 - simples soluções grandes resultados - Márcio Rogério NizzolaTdc Future 2021 - simples soluções grandes resultados - Márcio Rogério Nizzola
Tdc Future 2021 - simples soluções grandes resultados - Márcio Rogério Nizzola
 
Pangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud PlatformPangea - Plataforma digital com Google Cloud Platform
Pangea - Plataforma digital com Google Cloud Platform
 
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
De zero a cem em cloud computing  transformando idéias em aplicações em pouco...De zero a cem em cloud computing  transformando idéias em aplicações em pouco...
De zero a cem em cloud computing transformando idéias em aplicações em pouco...
 
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
 
Matando web forms e modernizando um grande varejista
Matando web forms e modernizando um grande varejistaMatando web forms e modernizando um grande varejista
Matando web forms e modernizando um grande varejista
 
Como lidar com 1, 10, 100 e 1024 GB no seu banco de dados
Como lidar com 1, 10, 100 e 1024 GB no seu banco de dadosComo lidar com 1, 10, 100 e 1024 GB no seu banco de dados
Como lidar com 1, 10, 100 e 1024 GB no seu banco de dados
 
Tesi Dados Final
Tesi Dados FinalTesi Dados Final
Tesi Dados Final
 
MIT DevOps IaC - Infra como Código
MIT DevOps IaC - Infra como CódigoMIT DevOps IaC - Infra como Código
MIT DevOps IaC - Infra como Código
 
Arquitetura de Software e o DNAD2013
Arquitetura de Software e o DNAD2013Arquitetura de Software e o DNAD2013
Arquitetura de Software e o DNAD2013
 
Guia de compras - Microsoft Azure
Guia de compras - Microsoft AzureGuia de compras - Microsoft Azure
Guia de compras - Microsoft Azure
 
Modelos NoSQL e a Persistência Poliglota
Modelos NoSQL e a Persistência PoliglotaModelos NoSQL e a Persistência Poliglota
Modelos NoSQL e a Persistência Poliglota
 
Case RDStation: Construindo DataLakes com Apache Hadoop em cloud agnóstica
Case RDStation: Construindo DataLakes com Apache Hadoop em cloud agnósticaCase RDStation: Construindo DataLakes com Apache Hadoop em cloud agnóstica
Case RDStation: Construindo DataLakes com Apache Hadoop em cloud agnóstica
 
Indo alem do_mvc_node_js
Indo alem do_mvc_node_jsIndo alem do_mvc_node_js
Indo alem do_mvc_node_js
 
5 perguntas para ajudar você a escolher uma rede na nuvem ou no local
5 perguntas para ajudar você a escolher  uma rede na nuvem ou no local5 perguntas para ajudar você a escolher  uma rede na nuvem ou no local
5 perguntas para ajudar você a escolher uma rede na nuvem ou no local
 
TDC2018FLN | Trilha Cloud - Postgres + Azure = Transformando dificuldades em ...
TDC2018FLN | Trilha Cloud - Postgres + Azure = Transformando dificuldades em ...TDC2018FLN | Trilha Cloud - Postgres + Azure = Transformando dificuldades em ...
TDC2018FLN | Trilha Cloud - Postgres + Azure = Transformando dificuldades em ...
 
Postgres + Azure = Transformando dificuldades em oportunidades
Postgres + Azure = Transformando dificuldades em oportunidades Postgres + Azure = Transformando dificuldades em oportunidades
Postgres + Azure = Transformando dificuldades em oportunidades
 

More from pichiliani

More from pichiliani (20)

Rastreamento de Objetos em Realidade Virtual e Realidade Aumentada
Rastreamento de Objetos em Realidade Virtual e Realidade AumentadaRastreamento de Objetos em Realidade Virtual e Realidade Aumentada
Rastreamento de Objetos em Realidade Virtual e Realidade Aumentada
 
Interfaces hands free para o mundo atual e pós-Corona vírus
Interfaces hands free para o mundo atual  e pós-Corona vírusInterfaces hands free para o mundo atual  e pós-Corona vírus
Interfaces hands free para o mundo atual e pós-Corona vírus
 
The Effect of Audiences On the User Experience of Conversational Interfaces i...
The Effect of Audiences On the User Experience of Conversational Interfaces i...The Effect of Audiences On the User Experience of Conversational Interfaces i...
The Effect of Audiences On the User Experience of Conversational Interfaces i...
 
Machine Learning & Machine Teaching
Machine Learning & Machine TeachingMachine Learning & Machine Teaching
Machine Learning & Machine Teaching
 
TJBot: Incorporando um chatbot em um robô
TJBot:  Incorporando um chatbot em um robôTJBot:  Incorporando um chatbot em um robô
TJBot: Incorporando um chatbot em um robô
 
Carreira de cientista
Carreira de cientistaCarreira de cientista
Carreira de cientista
 
Novidades desenvolvimento
Novidades desenvolvimentoNovidades desenvolvimento
Novidades desenvolvimento
 
O papel do DBA no mundo de ciência de dados e machine learning
O papel do DBA no mundo de ciência de dados e machine learningO papel do DBA no mundo de ciência de dados e machine learning
O papel do DBA no mundo de ciência de dados e machine learning
 
Introdução ao Deep Learning com o TensorFlow
Introdução ao Deep Learning com o TensorFlowIntrodução ao Deep Learning com o TensorFlow
Introdução ao Deep Learning com o TensorFlow
 
Alinguagem SQL no mundo NOSQL
Alinguagem SQL no mundo NOSQLAlinguagem SQL no mundo NOSQL
Alinguagem SQL no mundo NOSQL
 
Python x R: mas e o Weka?
Python x R: mas e o Weka? Python x R: mas e o Weka?
Python x R: mas e o Weka?
 
Rastreamento 3D de objetos para realidade virtual
Rastreamento 3D de objetos para realidade virtualRastreamento 3D de objetos para realidade virtual
Rastreamento 3D de objetos para realidade virtual
 
SSD no banco de dados é bom mesmo?
SSD no banco de dados é bom mesmo?SSD no banco de dados é bom mesmo?
SSD no banco de dados é bom mesmo?
 
MediaKit 2016 do DatabaseCast
MediaKit 2016 do DatabaseCastMediaKit 2016 do DatabaseCast
MediaKit 2016 do DatabaseCast
 
Projeto AMedCA - Concurso Casa conectada 2015
Projeto AMedCA - Concurso Casa conectada 2015Projeto AMedCA - Concurso Casa conectada 2015
Projeto AMedCA - Concurso Casa conectada 2015
 
A User Interface Usability Evaluation of the Electronic Ballot Box used in th...
A User Interface Usability Evaluation of the Electronic Ballot Box used in th...A User Interface Usability Evaluation of the Electronic Ballot Box used in th...
A User Interface Usability Evaluation of the Electronic Ballot Box used in th...
 
Evaluation of the Android Accessibility API Recognition Rate towards a Better...
Evaluation of the Android Accessibility API Recognition Rate towards a Better...Evaluation of the Android Accessibility API Recognition Rate towards a Better...
Evaluation of the Android Accessibility API Recognition Rate towards a Better...
 
Como lidar com dados temporais e intervalos com a linguagem SQL
Como lidar com dados temporais e intervalos com a linguagem SQLComo lidar com dados temporais e intervalos com a linguagem SQL
Como lidar com dados temporais e intervalos com a linguagem SQL
 
Novidades desenvolvimento
Novidades desenvolvimentoNovidades desenvolvimento
Novidades desenvolvimento
 
Projeto HTMA - Trand Tremor Measurement Application
Projeto HTMA - Trand Tremor Measurement ApplicationProjeto HTMA - Trand Tremor Measurement Application
Projeto HTMA - Trand Tremor Measurement Application
 

Recently uploaded

Recently uploaded (8)

Programação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdfProgramação Orientada a Objetos - 4 Pilares.pdf
Programação Orientada a Objetos - 4 Pilares.pdf
 
Boas práticas de programação com Object Calisthenics
Boas práticas de programação com Object CalisthenicsBoas práticas de programação com Object Calisthenics
Boas práticas de programação com Object Calisthenics
 
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docxATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
ATIVIDADE 1 - CUSTOS DE PRODUÇÃO - 52_2024.docx
 
Padrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemploPadrões de Projeto: Proxy e Command com exemplo
Padrões de Projeto: Proxy e Command com exemplo
 
Luís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdfLuís Kitota AWS Discovery Day Ka Solution.pdf
Luís Kitota AWS Discovery Day Ka Solution.pdf
 
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docxATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
ATIVIDADE 1 - LOGÍSTICA EMPRESARIAL - 52_2024.docx
 
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docxATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
ATIVIDADE 1 - GCOM - GESTÃO DA INFORMAÇÃO - 54_2024.docx
 
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docxATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
ATIVIDADE 1 - ESTRUTURA DE DADOS II - 52_2024.docx
 

NoSQL: Uma análise crítica

  • 1. NoSQL: Uma análise crítica Ms. Mauro C. Pichiliani (mauro@pichiliani.com.br) @pichiliani @databasecast 1
  • 2. 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 3
  • 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? 4
  • 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 5
  • 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? 6
  • 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? 7
  • 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? 8
  • 9. Conclusão NoSQL já não é mais o garoto novo na quebrada 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 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 (e divulgados) 9