Redis, CouchDB ou Cassandra? [fechado]
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?
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.)
- 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
- 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.