SlideShare uma empresa Scribd logo
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

Mais conteúdo relacionado

Mais procurados

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...
Kelver Merlotti
 
Testando aplicações DataSnap
Testando aplicações DataSnapTestando aplicações DataSnap
Testando aplicações DataSnap
Andreano Lanusse
 
Drupal + Rex
Drupal + RexDrupal + Rex
Drupal + Rex
paulo_graca
 
Pgquarrel
PgquarrelPgquarrel
Pgquarrel
Euler Taveira
 
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
Eiti Kimura
 
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...
EUBrasilCloudFORUM .
 
Ruby profiling
Ruby profilingRuby profiling
Ruby profiling
fabio perrella
 
Postgres Big data
Postgres Big dataPostgres Big data
Postgres Big data
Fabio Telles Rodriguez
 
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
Felipe
 
PostgreSQL Ha
PostgreSQL HaPostgreSQL Ha
PostgreSQL Ha
Diogo Biazus
 
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
Orlando Vitali
 
Desmistificando Replicação no PostgreSQL
Desmistificando Replicação no PostgreSQLDesmistificando Replicação no PostgreSQL
Desmistificando Replicação no PostgreSQL
Euler Taveira
 
Memória virtual 2
Memória virtual 2Memória virtual 2
Memória virtual 2
jackeline456
 
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
Johnes Castro
 
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...
Felipe
 
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
Kleber Silva
 
Zabbix 3 0-cinfotec
Zabbix 3 0-cinfotecZabbix 3 0-cinfotec
Zabbix 3 0-cinfotec
Douglas Esteves
 
TDC2018SP | Trilha Serveless - Pra que SERVErless?
TDC2018SP | Trilha Serveless - Pra que SERVErless?TDC2018SP | Trilha Serveless - Pra que SERVErless?
TDC2018SP | Trilha Serveless - Pra que SERVErless?
tdc-globalcode
 
JVM and Tools - ESIG Academy
JVM and Tools - ESIG AcademyJVM and Tools - ESIG Academy
JVM and Tools - ESIG Academy
Gleydson Lima
 
Alta Concorrência com Postgres
Alta Concorrência com PostgresAlta Concorrência com Postgres
Alta Concorrência com Postgres
Fabio Telles Rodriguez
 

Mais procurados (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
 

Semelhante a NoSQL: Uma análise crítica

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
pichiliani
 
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
 
Big data da teoria à prática
Big data  da teoria à práticaBig data  da teoria à prática
Big data da teoria à prática
Mario Guedes
 
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
Dextra Sistemas / Etec Itu
 
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
André Paulovich
 
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
 
NoSQL Familia de Colunas Monografia
NoSQL Familia de Colunas MonografiaNoSQL Familia de Colunas Monografia
NoSQL Familia de Colunas Monografia
Augusto Giles
 
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
José Roberto Araújo
 
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
pichiliani
 
Tesi Dados Final
Tesi Dados FinalTesi Dados Final
Tesi Dados Final
jcaroso
 
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
Caio Candido
 
Arquitetura de Software e o DNAD2013
Arquitetura de Software e o DNAD2013Arquitetura de Software e o DNAD2013
Arquitetura de Software e o DNAD2013
André Borgonovo
 
Guia de compras - Microsoft Azure
Guia de compras - Microsoft AzureGuia de compras - Microsoft Azure
Guia de compras - Microsoft Azure
Renato Grau
 
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
Glaucio Scheibel
 
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
Alessandro Binhara
 
Indo alem do_mvc_node_js
Indo alem do_mvc_node_jsIndo alem do_mvc_node_js
Indo alem do_mvc_node_js
gustavobeavis
 
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
Cisco do Brasil
 
Postgres + Azure = Transformando dificuldades em oportunidades
Postgres + Azure = Transformando dificuldades em oportunidades Postgres + Azure = Transformando dificuldades em oportunidades
Postgres + Azure = Transformando dificuldades em oportunidades
Marcelo Krüger
 
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 ...
tdc-globalcode
 

Semelhante a 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
 
Postgres + Azure = Transformando dificuldades em oportunidades
Postgres + Azure = Transformando dificuldades em oportunidades Postgres + Azure = Transformando dificuldades em oportunidades
Postgres + Azure = Transformando dificuldades em oportunidades
 
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 ...
 

Mais de pichiliani

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
pichiliani
 
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
pichiliani
 
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...
pichiliani
 
Machine Learning & Machine Teaching
Machine Learning & Machine TeachingMachine Learning & Machine Teaching
Machine Learning & Machine Teaching
pichiliani
 
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ô
pichiliani
 
Carreira de cientista
Carreira de cientistaCarreira de cientista
Carreira de cientista
pichiliani
 
Novidades desenvolvimento
Novidades desenvolvimentoNovidades desenvolvimento
Novidades desenvolvimento
pichiliani
 
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
pichiliani
 
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
pichiliani
 
Alinguagem SQL no mundo NOSQL
Alinguagem SQL no mundo NOSQLAlinguagem SQL no mundo NOSQL
Alinguagem SQL no mundo NOSQL
pichiliani
 
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?
pichiliani
 
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
pichiliani
 
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?
pichiliani
 
MediaKit 2016 do DatabaseCast
MediaKit 2016 do DatabaseCastMediaKit 2016 do DatabaseCast
MediaKit 2016 do DatabaseCast
pichiliani
 
Projeto AMedCA - Concurso Casa conectada 2015
Projeto AMedCA - Concurso Casa conectada 2015Projeto AMedCA - Concurso Casa conectada 2015
Projeto AMedCA - Concurso Casa conectada 2015
pichiliani
 
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...
pichiliani
 
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...
pichiliani
 
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
pichiliani
 
Novidades desenvolvimento
Novidades desenvolvimentoNovidades desenvolvimento
Novidades desenvolvimento
pichiliani
 
Projeto HTMA - Trand Tremor Measurement Application
Projeto HTMA - Trand Tremor Measurement ApplicationProjeto HTMA - Trand Tremor Measurement Application
Projeto HTMA - Trand Tremor Measurement Application
pichiliani
 

Mais de 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
 

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