Elasticsearch como substituição de memcache

1

Estou procurando substituir o memcached pelo elasticsearch. Basicamente, eu preciso reduzir minha pilha de software e já que vou usar o elástico para procurar, eu estava pensando em criar um índice que funcionará como um cache geral, onde eu estarei armazenando vários itens.

Existe uma maneira de criar um "depósito genérico" que possa conter itens diferentes sem queixas elásticas? Pelo que tenho visto até agora, quando você armazena um item na 1ª vez, o elástico cria automaticamente um tipo para cada tecla. Isso pode causar problemas se você tentar salvar um item diferente que tenha um elástico de chave já mapeado, com um valor diferente.

Qualquer maneira de realizar o acima?

Atenciosamente

    
por Thomas 28.12.2014 / 10:40

2 respostas

5

Elasticsearch é um tipo de banco de dados e pesquisa pesquisa e índice , criado e otimizado para pesquisa e análise, não para armazenamento em cache.

Para um servidor de cache, você usaria o Memcached. Mas atualmente existem outras alternativas, como o Redis ( banco de dados Key-Value ), que é muito mais rápido e suporta soluções mais complexas. Carl Zulauf fez um ótimo trabalho descrevendo as diferenças entre Redis e Memcached já aqui em stackoverflow .

    
por 28.12.2014 / 10:53
0

Embora a resposta do remyseroos esteja absolutamente correta, acho que há casos de uso em que o ElasticSearch (es) pode ser um ótimo substituto para algumas funções oferecidas pelos servidores de armazenamento em cache.

Por exemplo Imagine usar es como a camada de acesso de leitura para um aplicativo da web com foco em CRUD (e pesquisa). O Es fornece uma API REST rápida para os dados persistidos na base de dados que você só expõe para ler dados - usando es como um cache para a base de dados. Você pegaria carga do banco de dados, obteria acesso rápido e incrível através de uma API REST json elegante que você não precisa construir sozinho.

Algumas coisas a considerar aqui são:

  • Atualize seu índice es apenas quando necessário, pois as atualizações são lentas e
  • usa a API em massa sempre que possível, por ex. quando
  • você precisa reconstruir seu índice na implantação quando
  • você usa o índice baseado em memória para acelerar os tempos de resposta.
  • A segurança é algo a considerar de antemão, já que proteger a interface REST é um pouco complicado.

Na verdade, acabamos de criar esse aplicativo usando os elasticsearch-transport-wares e até agora trabalhando muito bem para nós.

    
por 06.02.2015 / 12:12