Eu usei o MongoDB extensivamente (nos últimos 6 meses), construindo um sistema hierárquico de gerenciamento de dados e posso garantir a facilidade da instalação (instale, execute, use!) E a velocidade. Contanto que você pense nos índices com cuidado, ele pode gritar com toda a velocidade.
Entendo que o Cassandra, devido ao seu uso em projetos de grande escala como o Twitter, possui uma melhor funcionalidade de dimensionamento, embora a equipe do MongoDB esteja trabalhando em paridade lá. Devo salientar que não usei Cassandra além do estágio de teste, por isso não posso falar pelos detalhes.
A verdadeira vantagem para mim, quando estávamos avaliando os bancos de dados NoSQL, era a consulta - Cassandra é basicamente apenas um armazenamento de chave / valor gigante, e a consulta é um pouco complicada (pelo menos em comparação com o MongoDB). duplicar muitos dados como uma espécie de índice manual. O MongoDB, por outro lado, usa um modelo "consulta por exemplo".
Por exemplo, digamos que você tenha uma coleção (linguagem do MongoDB para o equivalente a uma tabela RDMS) contendo usuários. O MongoDB armazena registros como Documentos, que são basicamente objetos JSON binários. por exemplo:
{
FirstName: "John",
LastName: "Smith",
Email: "john@smith.com",
Groups: ["Admin", "User", "SuperUser"]
}
Se você deseja encontrar todos os usuários chamados Smith que têm direitos de administrador, basta criar um novo documento (no console administrativo usando Javascript ou em produção usando o idioma de sua escolha):
{
LastName: "Smith",
Groups: "Admin"
}
... e, em seguida, execute a consulta. É isso aí. Existem operadores adicionados para comparações, filtragem RegEx, etc., mas tudo é bastante simples, e a documentação baseada em Wiki é muito boa.