Existe um negócio comprovado loja nuvem / Key => Valor de banco de dados? (Open Source) [fechado]
-
11-07-2019 - |
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:
- O Projeto CouchDB : Simples e distribuídos, banco de dados tolerante a falhas. Mas só compreende JSON. Sem conectores XML etc.
- 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.
- Cloudstore / Kosmosfs : Nice distribuídos, falha fs tolerantes. Mas é difícil de configurar. Há algum conectores java?
- 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.
- 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)?
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:
- Projeto Voldemort
- Lightcloud - Key-Value banco de dados
- Ringo - armazenamento de valor-chave distribuído para dados imutáveis ??
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):
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 .