Hoje nós compartilhou alguns resultados de uma pesquisa que realizamos há algumas semanas para avaliar o estado atual da adoção do NoSQL. Embora originalmente tenhamos realizado a pesquisa para coletar dados para fins de planejamento, achamos os dados tão interessantes (e, para ser sincero, positivos) que queríamos compartilhá-los.
Em vez de repetir os pontos apresentados no anúncio, quero destacar alguns dos aspectos que considerei mais surpreendentes nos resultados. Se quiser saber mais sobre a metodologia e as perguntas, você pode ver abaixo.
Surpresa #1: Mix de idiomas. Um tema comum nos resultados foi o que se poderia interpretar como a "integração" da tecnologia de banco de dados NoSQL. As linguagens que estão sendo usadas para criar aplicativos sobre a tecnologia de banco de dados NoSQL, embora incluam uma variedade de opções mais avançadas, são dominadas pelo mundano: Java e C#. E, embora tenhamos tido muito interesse em um driver C puro para o Couchbase (que agora temos, a propósito), apenas 2,1% dos entrevistados indicaram que essa era a linguagem "mais usada" para o desenvolvimento de aplicativos em seu ambiente, atrás de Java, C#, PHP, Ruby, Python e Perl (em ordem).
Surpresa #2: odiando o RDBMS. Havia um amplo espaço para respostas livres na pesquisa, e muitas pessoas aproveitaram a oportunidade para criticar a tecnologia de banco de dados relacional. Houve algumas respostas coloridas relacionadas a RDBMS para a pergunta: Qual é a sua maior esperança para o NoSQL em 2012? E muitas delas foram totalmente raivosas. Embora o NoSQL tenha sido, por um tempo, a "coisa nova e brilhante" com a qual muitos queriam brincar, está bem claro que a maioria dos entrevistados está buscando a tecnologia NoSQL não porque é o que as crianças descoladas estão fazendo, mas porque estão tentando eliminar um problema real. Que dor, você poderia perguntar?
Surpresa #3: o gerenciamento de esquemas é o problema #1 que impulsiona a adoção do NoSQL. Portanto, admito que não fiquei realmente surpreso com essa, porque já havia ficado surpreso com ela antes. Há dois anos, se você tivesse me perguntado qual era a maior necessidade que estávamos atendendo, eu teria dito que era a necessidade de uma solução "scale-out" no camada de dados versus a natureza de "aumento de escala" do modelo relacional. Os usuários queriam um banco de dados que fosse dimensionado como a camada do aplicativo - bastava colocar mais servidores baratos atrás de um balanceador de carga à medida que as necessidades de capacidade aumentassem. Embora isso ainda seja claramente importante, os resultados da pesquisa confirmaram o que eu vinha ouvindo (para minha surpresa inicial) dos usuários: a flexibilidade de armazenar o que quiser no banco de dados e de mudar de ideia, sem a necessidade de declarar ou gerenciar um esquema, é mais importante.
Surpresa #4: Adoção significativa da tecnologia por "empresas". A tecnologia de banco de dados NoSQL tem suas raízes em grandes empresas consumidoras da Web. O Google nos deu o BigTable. A Amazon criou o Dynamo. Muitos dos primeiros usuários de sistemas como o Couchbase e o MongoDB eram desse tipo: Zynga, SmugMug, AOL, TheKnot.com e outros. Mas temos observado uma adoção cada vez maior por parte de setores "mais tradicionais" - serviços financeiros, seguros, automotivo, transporte, mídia, manufatura - e os resultados da pesquisa indicam que o NoSQL se tornará ainda mais "horizontal" em 2012 e nos anos seguintes. Eu não esperava que encontraríamos o nível de interesse nessa amplitude de setores tão cedo.
Juntos, esses resultados parecem ser os principais indicadores de uma aceleração da "integração" da tecnologia NoSQL - linguagens "chatas", adoção impulsionada por uma dor clara e generalizada (flexibilidade do modelo de dados versus algumas necessidades de desempenho e dimensionamento de ponta) e adoção por setores que não são tradicionalmente conhecidos por assumir riscos de TI. Deve ser um par de anos interessante.
Metodologia
A pesquisa foi realizada usando o Survey Monkey com uma mistura de perguntas de múltipla escolha e de "preenchimento de espaços em branco" - você pode ver a lista completa abaixo.
Tentamos obter ampla participação na pesquisa anunciando-a em muitos sites NoSQL, tweetando a hash tag #NoSQL e, de modo geral, divulgando-a publicamente o máximo que pudemos. Também pedimos, é claro, que os usuários do nosso banco de dados e os assinantes do boletim informativo do Couchbase participassem, portanto, naturalmente, haverá algum viés injetado pelo Couchbase no conjunto de amostras. Mas nossa intenção era atingir um público mais amplo e fazer com que isso fosse mais sobre a adoção do NoSQL e menos sobre a adoção do Couchbase. Por fim, demos um iPad 2 em um sorteio aleatório para incentivar as pessoas a participarem e informamos que as respostas não teriam nenhuma influência sobre o prêmio.
Tivemos 1.351 participantes na pesquisa. Havia 1.331 endereços IP exclusivos representados nos resultados. Se você tiver mais perguntas sobre a metodologia, entre em contato comigo - ficarei feliz em ser transparente sobre isso.
1. Qual é o maior problema de gerenciamento de dados que está impulsionando seu uso de NoSQL no próximo ano?
- Incapacidade de escalonar os dados
- Falta de flexibilidade/esquema rígido
- Alta latência/baixo desempenho
- Custos
- Todas as opções acima
- Outro (especifique)
2. Quais soluções NoSQL você usou em 2011 para desenvolver/executar seus aplicativos da Web até o momento?
- Couchbase/Membase
- 10gen/MongoDB
- DataStax/Cassandra
- Basho/Riak
- Nenhum
- Outro (especifique)
3. Que tipo de aplicativos/projetos você já desenvolveu usando a tecnologia NoSQL?
(Pergunta aberta - preencha o espaço em branco)
4. Atualmente, você usa NoSQL em um aplicativo que está em produção na sua organização?
- Usar NoSQL na produção há mais de 3 anos
- Usa o NoSQL na produção há 2 ou 3 anos
- Usa o NoSQL na produção há 1 a 2 anos
- Começamos a usar o NoSQL na produção em 2011
- Atualmente, não usa NoSQL na produção
- Outro (especifique)
5. Quais soluções NoSQL você planeja usar em 2012 para desenvolver/executar seus aplicativos da Web?
- Couchbase/Membase
- 10gen/MongoDB
- DataStax/Cassandra
- Basho/Riak
- Nenhum
- Outro (especifique)
6. O que melhor caracteriza a função que o NoSQL desempenhará em sua organização em 2012?
- Essencial para as operações diárias
- Muito importante
- Tornando-se mais importante
- Um pouco importante
- Não muito importante
- Outro (especifique)
7. Que projetos você planejou para 2012 que exigem a tecnologia de banco de dados NoSQL?
(Pergunta aberta - preencha o espaço em branco)
8. Quando esses projetos receberão financiamento/recursos?
- Primeiro semestre de 2012
- Segundo semestre de 2012
- Sem financiamento - apenas pesquisa
9. Qual é a importância do desenvolvimento de aplicativos móveis (e do gerenciamento de dados) para seus planos para 2012?
- Essencial para as operações diárias
- Muito importante
- Tornando-se mais importante
- Um pouco importante
- Não muito importante
10. Qual linguagem de programação é a mais usada atualmente em sua organização para acessar a camada de banco de dados dos servidores de aplicativos?
- C
- Java
- .NET
- Perl
- PHP
- Python
- Rubi
- Outro (especifique)
11. Qual linguagem de programação está ganhando mais impulso/adoção em sua organização?
(Pergunta aberta - preencha o espaço em branco)
12. Qual foi a coisa mais interessante/mais legal que você já fez usando NoSQL até hoje?
(Pergunta aberta - preencha o espaço em branco)
13. Qual é a sua maior expectativa/esperança em relação ao que a tecnologia NoSQL fará por você em 2012?
(Pergunta aberta - preencha o espaço em branco)
14. Quantos desenvolvedores há em sua organização?
- 1-4
- 5-9
- 10-24
- 25-99
- 100-249
- 250+
Você pode compartilhar os resultados, principalmente das perguntas 2 e 5?
Olá - conforme observado na seção de metodologia, é preciso levar isso em consideração. Como parte do processo de recrutamento da nossa pesquisa incluía pedir a participação do nosso banco de dados (assinantes do nosso boletim informativo, usuários e pessoas que já expressaram algum interesse no Couchbase), é de se esperar que haja uma inclinação para o Couchbase. Dito isso, tentamos ser bem abrangentes para minimizar a distorção. Portanto, é preciso ter cuidado com isso, mas os resultados foram os seguintes:
2. Quais soluções NoSQL você usou em 2011 para desenvolver/executar seus aplicativos da Web até o momento?
Couchbase/Membase - 724 (53,6%)10gen/MongoDB - 445 (32,9%)DataStax/Cassandra - 92 (6,8%)Basho/Riak - 66 (4,9%)Nenhum - 276 (20,4%)Outros - 288 (21,3%)
5. Quais soluções NoSQL você planeja usar em 2012 para desenvolver/executar seus aplicativos da Web?
Couchbase/Membase - 942 (69,7%)10gen/MongoDB - 492 (36,4%)DataStax/Cassandra - 150 (11,1%)Basho/Riak - 94 (7,0%)Nenhum - 88 (6,5%)Outros - 314 (23,2%)
Mudei para o NoSQL (simpleDB) há um ano, mas estou ficando cada vez mais frustrado com o aumento da complexidade do banco de dados, principalmente devido à falta de interfaces de usuário que permitam manipular os dados (como o SQL Developer)
Excelente trabalho. Gostaria muito de ver uma classificação das respostas do pessoal de TI empresarial de alto nível. Ou até mesmo quantos deles fazem parte da amostra da pesquisa
Sei que já faz muito tempo que isso foi publicado, mas você poderia, por acaso, compartilhar os resultados das perguntas 4 e 14? Além disso, é possível agrupar os resultados da pergunta 4 por quantos desenvolvedores existem na organização? De qualquer forma, obrigado!