Pergunta

Eu quero usar HBase como uma loja onde eu possa empurrar em alguns milhões de entradas da {document => {term => weight}} formato por exemplo "Inserir termo X no documento Y com peso Z" e, em seguida, emitir um comando como "Selecione o topo 1000 termos para este documento" ou "Selecione o termo top 1000 para cada documento". Isso funciona na minha implementação MySQL atual, mas talvez o domínio é mais adequado para HBase. Faço notar que HBase e BigTable são utilizados para indexação de texto completo, que é um domínio de problema similar.

Você pode dizer que eu não fiz mais do que ler algumas páginas HBase, mas eu espero que você entenda a essência da minha pergunta. Ele está relacionado com esta questão .

barreiras possíveis podem incluir HBase não permitindo consultas com o equivalente a uma cláusula LIMIT. Dado que eu quero consulta por peso, eu gostaria de {weight => term} associado, o que seria problemático para dois termos com o mesmo peso (presumo que HBase permite apenas chaves únicas). Como alternativa eu ??teria que armazenar uma coleção de termos para um determinado peso, mas isso limitaria minha capacidade de limitar com precisão o número de termos devolvido.

Foi útil?

Solução

resposta simples sim.

resposta mais complexa, agora hoje estes "não sql" armazenamento de dados é cada implementar seus próprios programadores interface e como o "não sql" implica que eles não são SQL base. Então, estar preparado para alguns de codificação, nenhum de sua difícil embora. Principalmente esses armazenamentos de dados são apenas de nome valor par lojas, obtido na via RESTO ou de sabão (HBase também tem um conceito de famílias de colunas). O que eles fazem prestam-se em direção, porém, é Map Reduce, um campo muito interessante de consulta e vale a pena ler sobre.

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