Existe um negócio comprovado loja nuvem / Key => Valor de banco de dados? (Open Source) [fechado]

StackOverflow https://stackoverflow.com/questions/639545

Pergunta

Eu tenho olhado para a computação em nuvem / soluções de armazenamento por um longo tempo (inspirado no Google Bigtable). Mas eu não consigo encontrar uma solução fácil de usar, business-pronto.

Estou procurando um simples, tolerante a falhas, distribuídos Key => Valor DB como SimpleDB da Amazon.

Eu vi coisas como:

  1. O Projeto CouchDB : Simples e distribuídos, banco de dados tolerante a falhas. Mas só compreende JSON. Sem conectores XML etc.
  2. Eucalyptus : Interfaces agradável Amazon EC2. Padrões Abertos e XML. Mas menos distribuídos e menos tolerante a falhas? Há também uma grande quantidade de bilhetes em aberto com questões XEN / VMWare.
  3. Cloudstore / Kosmosfs : Nice distribuídos, falha fs tolerantes. Mas é difícil de configurar. Há algum conectores java?
  4. Apache Hadoop : sistema de Nice, que muito mais do que habilidades para armazenar dados. Utiliza o seu próprio Hadoop Distributed File System e tem sido testet em clusters com 2000 nós.
  5. Amazon SimpleDB : Não é possível encontrar uma alternativa open-source! É um sistema bom, mas caro para grandes quantidades de dados. E você é viciado em Amazon.

Existem outras, soluções melhores lá fora? Qual é o melhor para escolher? Qual deles oferece a menor quantidade de SOF (Singe ponto de falha)?

Foi útil?

Solução

MongoDB é outra opção que é muito semelhante ao CouchDB, mas usando linguagem de consulta muito semelhante ao SQL em vez de mapa / reduzir em JavaScript. Ele também suporta índices, profiling consulta, replicação e armazenamento de dados binários.

Tem enorme quantidade de documentação que pode ser esmagadora em punho, então eu sugiro começar com visita do desenvolvedor

Outras dicas

Como sobre memcached ?

O alta escalabilidade tampas de blog esta questão; se há uma solução open source para o que você está depois, ele certamente vai estar lá.

Outros projetos incluem:

Outra boa lista: anti-RDBMS: A lista de lojas de valores-chave distribuídos

diz Wikipedia que o Yahoo tanto contribui para Hadoop e usa-lo na produção ( artigo ligado a partir wikipedia ). Então eu diria que ela é importante para o negócio-provenness, embora eu não tenho certeza se ele conta como um banco de dados valor K / V.

Não em sua lista é o sistema Friendfeed de usar MySQL como um esquema simples -menos de chave / valor loja .

É difícil para mim entender suas prioridades. CouchDB é simples, tolerante a falhas, e distribuído, mas de alguma forma você excluí-lo porque ele não tem XML. conectores XML e Java são um requisito não declarada?

(De qualquer forma, CouchDB deve de fato ser excluído porque é jovem, sua API não é estável, e não é uma loja de valor-chave.)

Eu uso Google Base api, é XML, livre, documentada, baseada em nuvem do Google e possui conectores para muitas línguas. Eu acho que vai encher a sua conta se você quer hospedagem gratuita também.

Agora, se você quer hospedar seus próprios servidores Tóquio gabinete é a sua resposta, sua chave => valor base, utiliza arquivos simples, e é a base de dados mais rápido lá fora, agora (muito barebones em comparação a dizer Oracle, mas incrivelmente bons em armazenar e acessar dados, cerca de 1 milhão de registros por segundo, com cerca de 10bytes de sobrecarga ( dependendo do mecanismo de armazenamento)). Quanto aos negócios pronto TokyoCabinet é o coração de um serviço chamado Mixi, que é o equivalente do Japão Facebook + MyPage, com vários milhões de usuários pesados, por isso é realmente muito batalha comprovada.

Se você quer algo como Bigtable, você não pode ir além HBase ou Hypertable - ambos são clones Bigtable open-source. Uma coisa a considerar, porém, é se suas exigências são realmente 'grande o suficiente' para Bigtable. É escalas até milhares de servidores tablet, e como tal, tem um pouco de infra-estrutura sob ele para permitir que (por exemplo, lidar com a expectativa de falhas de nó regulares).

Se você não antecipar a crescer para, pelo menos, dezenas de servidores tablet, você pode querer considerar uma das alternativas propostas: Você não pode bater BerkelyDB pela simplicidade, ou MySQL para onipresença. Se tudo que você precisa é uma chave / valor armazenamento de dados, você pode colocar um simples invólucro 'dict' em torno de sua interface de banco de dados e mudar a sua backend se você superar um.

Você pode querer olhar em Hypertable que é modelado após Google Bigtable.

Use O CouchDB

  • errada O que acontece com JSON?
  • JSON para XML é trivial

Você pode querer dar uma olhada nisso (usando o MySQL como armazenamento de valores-chave):

http://bret.appspot.com/entry/how-friendfeed -Utiliza-mysql

Cloudera é uma empresa que comercializa Apache Hadoop, com algum valor agregado, claro, como produtização, configuração, serviços de treinamento e suporte.

Em vez de procurar algo inspirado por Google de bigtable- Porque não usar bigtable diretamente? Você poderia escrever um-final frente no Google App-Engine.

Boa compilação de ferramentas de armazenamento para sua pergunta:

http: // www.metabrew.com/article/anti-rdbms-a-list-of-distributed-key-value-stores/

Gabinete Tokyo também tem recebido alguma atenção, pois suporta esquemas de tabela, pares de chaves de valor e tabelas hash. Ele usa Lua como uma plataforma de script embutido e usa HTTP como do protocolo de comunicação Aqui está um grande demonstração .

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