Redis, CouchDB ou Cassandra? [fechado]

Quais os pontos fortes e fracos das várias bases de dados NoSQL?

em particular, parece que o Redis é fraco quando se trata de distribuir a carga de escrita sobre vários servidores. É esse o caso? É um grande problema? Quão grande um serviço tem que crescer antes que isso possa ser um problema significativo?

Author: nornagon, 2011-01-18

2 answers

Os pontos fortes e fracos das bases de dados NoSQL (e também das bases de dados SQL) são altamente dependentes do seu caso de Utilização. Para projetos muito grandes, o desempenho é o rei; mas para projetos novinhos em folha, ou projetos onde o tempo e o dinheiro são limitados, simplicidade e tempo para o mercado são provavelmente os mais importantes. Para se ensinar a si mesmo( ampliando sua perspectiva, tornando-se um programador melhor, mais valioso), talvez a coisa mais importante é simples, sólido fundamental conceito.

Que tipo de projecto tem em mente?

Alguns pontos fortes e fracos, de repente:

  • Redis
    • um valor-chave muito simples "global variable server"
    • muito simples (alguns diriam "inexistente") sistema de consulta
    • facilmente o mais rápido desta lista
    • transacções
    • o conjunto de dados deve caber na memória
    • Agrupamento imaturo, com futuro incerto (tenho a certeza que vai ser óptimo, mas ainda não é decidido.)
  • Cassandra
      Sem dúvida a dinâmica mais comunitária das bases de dados semelhantes às grandes bases de dados.
    • provavelmente a mais fácil desta lista a gerir em grandes aglomerados de crescimento
    • Suporte para map / reduce, bom para análise, armazenamento de Dados
    • replicação multi-datacentro
    • consistência/disponibilidade sintonizável
    • nenhum ponto único de falha
    • você deve saber que consultas você vai executar no início do projeto, para preparar a forma dos dados e os índices
  • CouchDB
    • reduza o suporte da melhor sincronização (replicação), suportando master / slave, master/master, e arquitecturas mais exóticas
    • protocolo HTTP, navegadores / aplicativos podem interagir diretamente com o DB, parcial ou totalmente. (A sincronização também é feita em HTTP)
    • após uma breve curva de aprendizagem, um sistema de consulta bastante sofisticado usando Javascript e map/reduce
    • operação conjunta (sem ESPOF, sintonizável consistência / disponibilidade) é atualmente uma bifurcação significativa (BigCouch). Provavelmente vai fundir-se no sofá, mas não há roteiro.
    • similarmente, agrupar e multi-datacenter são teoricamente possíveis (a coisa" exótica " que eu mencionei) no entanto, você deve escrever tudo isso se auto-ferramentas neste momento.
    • Adicione apenas o formato de ficheiro (tanto bases de dados como índices) consome o disco de forma surpreendentemente rápida, e deve executar manualmente a compactação (aspirar) que faz uma cópia completa de todos os registos em banco. O mesmo é necessário para cada arquivo de índice. Mais uma vez, tens de ser o teu próprio ferreiro.
  •  77
    Author: JasonSmith, 2011-01-19 06:46:34