Pergunta

Existem lojas NoSQL de qualidade de produção que eu posso usar em um sistema de produção. Eu olhei para Cassandra, Tokyodb, CouchDB etc, mas nenhum deles parece estar pronto para implantações em produção como ambientes. Estou falando de milhares de solicitações por minuto e muitas leituras/gravações/atualizações. Minha única preocupação é a velocidade e os tempos de serviço. Alguém conhece os sistemas de produção que usam lojas NoSQL de maneira eficaz? Alguém conhece uma loja NoSQL que é apoiada por uma grande empresa como Google/ Yahoo/ IBM?

Foi útil?

Solução

Cassandra lida com milhares de solicitações (incluindo cargas de trabalho de gravação) por segundo, por máquina e suas máquinas de escalagem por adição estão lá desde o primeiro dia.

Aqui está um tópico sobre o uso de Cassandra na produção e na produção em dezenas de empresas: http://n2.nabble.com/cassandra-users-survey-td4040068.html#a4040068

Também estamos adicionando mais documentos o tempo todo, como http://wiki.apache.org/cassandra/operations.

Outras dicas

Eu acho que os sistemas NOSQL são uma excelente opção se eu 'apenas' me preocupa com a velocidade e o tempo de serviço (e não ou menos sobre coisas como consistência e transações). O Facebook usa Cassandra.

"O Cassandra é usado no Facebook como um sistema de pesquisa de e -mail contendo 25 TB e mais de 100m de caixa de correio". http://highscalability.com/product-facebooks-cassandra-sassive-distributed-store

Eu acho que o CouchDB não é realmente rápido, talvez você possa usar o MongoDB: http://www.mongodb.org/display/docs/production+deploymentments

Também vale a pena considerar o uso de um RDBMS tradicional como o MySQL para armazenar esquema sem. Este método fornece a estabilidade de um servidor de banco de dados comprovado como o MySQL com a flexibilidade de uma solução NoSQL.

Verificação de saída isto postagem de blog sobre como Friendfeed faz isso.

Berkeleydb é apoiado pelo Oracle

Usando a interface C nativa, pode -se atingir quase 1 milhão de solicitações de leitura por segundo.

A propósito, quando você diz milhares de solicitações por minuto, qualquer banco de dados 'normal' deve ser capaz de lidar com isso facilmente também.

Redis vale a pena tentar como Github usa redis para gerenciar uma fila pesada de trabalhos de fundo.

Meu primeiro instinto seria o BerkeleyDB, com cada nó de aplicativo em uma rede Samba para facilitar a conformidade com ácido e o uso da rede. Também possui uma interface SQLite. Outro pôster cita memcachedb também tendo BDB dentro.

Outra opção única seria OrientDB, também possui uma interface SQL, muitos recursos de rede e cluster.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top