"Descobri" a lista via o post
http://techberto.wordpress.com/2010/01/31/mrnn-brasil-para-discussao-de-solucoes-mrnn-n1nf-nosql-notonlysql/
achei o post meio "albertiano" (que é sempre aquela conversa de um
matemático acadêmico com um vendedor de cachorro quente na frente do
estádio do pacaembu) e de cara fiquei interessado em entrar na lista e
de realizar a seguinte pergunta:
CouchDB ou MongoDB? Qual é a melhor opção? Parece que o CouchDB
está mais consolidado mas o MongoDB tem só problema de batismo ou ele
tem algum problema real comparado ao seu concorrente? Aliás, eles são
realmente concorrentes ou é uma impressão equivocada minha?
Estou bastante interessado neste assunto.
Aliás, esta história de MRNN-Brasil me pareceu deveras
inteiressante.
[]s
Ed Rock
Seja bem vindo, Ed!
> CouchDB ou MongoDB? Qual é a melhor opção?
Ed, eu acho que seria legal começar esta lista evitando polêmicas do
tipo "O que é melhor, A ou B?". Porque na verdade, a resposta correta
sempre é: "Depende".
Uma pergunta mais favorável para uma boa discussão teria um contexto
de utilização, restrições, características desejáveis etc.
> Parece que o CouchDB
> está mais consolidado mas o MongoDB tem só problema de batismo ou ele
> tem algum problema real comparado ao seu concorrente? Aliás, eles são
> realmente concorrentes ou é uma impressão equivocada minha?
Eu ainda não estudei em profundidade nenhum dos dois, mas com o
CouchDB pelo menos eu já brinquei e comecei a ler um livro.
Eu diria que eles são concorrentes sim. Atualmente, o CouchDB tem mais
visibilidade, e tem uma novidade muito interessante: aproveitando que
o CouchDB tem um sistema de replicação robusto, o projeto Ubuntu
adotou o CouchDB como banco de dados para sincronização de dados do
usuário entre diferentes máquinas (dados como contatos, bookmarks
etc).
Isso significa que desde a versão 9.10 (outubro de 2009) todos os
usuários do Ubuntu têm um couchdb instalado!
Eu tenho um amigo, o Osvaldo Santana, que analisou os dois e gostou
mais do MongoDB, mas não sei os detalhes técnicos da escolha (no
final, ele optou por usar o ZODB no projeto em questão).
Eu acho que o nome MongoDB é um problema do ponto de vista de
marketing. Para ser levado a sério, o MongoDB vai precisar de um
discurso muito mais forte, com cases mais impressionantes, etc.
[ ]s
Luciano
--
"""
Many were increasingly of the opinion that they'd all made a big
mistake in coming down from the trees in the first place. And some
said that even the trees had been a bad move, and that no one should
ever have left the oceans. (DA/HHGTTG)
"""
On Jan 31, 7:23 pm, Luciano Ramalho <rama...@gmail.com> wrote:
> Isso significa que desde a versão 9.10 (outubro de 2009) todos os
> usuários do Ubuntu têm um couchdb instalado!
+1
> Eu tenho um amigo, o Osvaldo Santana, que analisou os dois e gostou
> mais do MongoDB, mas não sei os detalhes técnicos da escolha (no
> final, ele optou por usar o ZODB no projeto em questão).
Curiosidade: ele optou por usar o ZODB fora do ambiente Zope/Plone? Se
for o caso, é uma decisão interessante, vale a pena trazer para a
discussão.
> Eu acho que o nome MongoDB é um problema do ponto de vista de
> marketing. Para ser levado a sério, o MongoDB vai precisar de um
> discurso muito mais forte, com cases mais impressionantes, etc.
Não sei se isso faz tanta diferença assim. Até que ponto o nome
"MongoDB" parece estranho só para a gente aqui no Brasil? Pelo pouco
que eu li, a questão é que o CouchDB me pareceu mais bem divulgado,
com uma mensagem mais clara e simples. Vejamos:
1) É um projeto que foi "adotado" pela Apache Foundation, o que agrega
credibilidade.
2) Existe um tutorial em Javascript que ajuda bem a entender o
conceito, sem que precise instalar qualquer coisa na máquina (http://
labs.mudynamics.com/wp-content/uploads/2009/04/icouch.html).
3) Outro ponto a favor (pelo menos em termos de levantar curiosidade)
é o fato de CouchDB usar uma linguagem eminentemente paralela (Erlang,
combinado com Javascript) enquanto o MongoDB usa C++. Pode ser bobagem
minha mas isso agrega um pouco em termos de "charme" ao projeto do
"sofazão" (brincadeira - só pra ver que "couch" tb não é lá muito
simpático quando traduzido!).
Carlos Ribeiro
(estou respondendo direto pela web, vamos ver se isso funciona)
On 31 jan, 21:02, Carlos Ribeiro <carribe...@gmail.com> wrote:
> Boa noite! Primeiro post, vamos lá...
>
> On Jan 31, 7:23 pm,LucianoRamalho <rama...@gmail.com> wrote:
>
> > Isso significa que desde a versão 9.10 (outubro de 2009) todos os
> > usuários do Ubuntu têm um couchdb instalado!
>
> +1
>
> > Eu tenho um amigo, o Osvaldo Santana, que analisou os dois e gostou
> > mais do MongoDB, mas não sei os detalhes técnicos da escolha (no
> > final, ele optou por usar o ZODB no projeto em questão).
>
> Curiosidade: ele optou por usar o ZODB fora do ambiente Zope/Plone? Se
> for o caso, é uma decisão interessante, vale a pena trazer para a
> discussão.
Sim, o ZODB pode ser usado 'standalone' sem o menor problema.
No nosso sistema estamos usando ZODB com RelStorage (via Django
http://triveos.github.com/django-zodb/).
Optamos pelo ZODB pelas seguintes razões:
- RelStorage – não usaríamos o ZODB com FileStorage. Com o RelStorage
usamos um banco de dados relacional como backend que, por sua vez,
implementa seus sistemas de replicação, backup, etc. Outra vantagem do
RelStorage é que com ele não é mais necessário usar o ZEO. Cada
instância da nossa aplicação roda o seu ZODB localmente acessando o
RDBMS através dele.
- Nosso aplicativo é Python – diferente das alternativas já discutidas
aqui o ZODB pressupõe Python.
- Maturidade – Quando estávamos avaliando as outras alternativas
(CouchDB e MongoDB) nenhuma tinha o mesmo tempo de estrada do ZODB
(apesar do RelStorage ser relativamente novo ele é pequeno e simples).
Encontrei até histórias de bases couchdb corrompidas por conta de bug
no servidor. Obviamente isso já deve ter sido resolvido.
- Não era necessário desenhar uma camada de abstração Python->****DB
(as alternativas existentes para ambos, ironicamente, usam Schema e
optei por um DB NoSQL justamente por essa razão).
Eu sou defensor de que sempre deveríamos incluir o ZODB nessas
discussões sobre bancos de dados não-relacionais. Com o RelStorage ele
pode entrar nessa 'briga' com vantagens.
A segunda alternativa (caso o RelStorage não tivesse se mostrado bom)
era usar o MongoDB.
A razão é simples: gosto de ter conhecimento sobre como as ferramentas
que uso funcionam para que seja possível corrigir problemas que
eventualmente aparecem (todo software tem bugs). Eu programo (pouco)
em C++ e *nada* em Erlang (não consegui nem aprender :D).
O fato do MongoDB ter uma empresa que, eventualmente, pode vender
consultoria e/ou melhorias para o MongoDB foi um critério com um pouco
de peso.
Tecnicamente o MongoDB oferece mais alternativas para balanceamento de
carga e replicação. O artigo em
http://blog.boxedice.com/2009/07/25/choosing-a-non-relational-database-why-we-migrated-from-mysql-to-mongodb/
é bem interessante para ilustrar isso que eu disse.
Obrigado,
Osvaldo