Pergunta

Alguém tem experiência com o uso de Terracotta com Hibernate Search para satisfazer consultas de aplicação?

Se assim:

  1. O que magnitude do "objeto updates" ele pode lidar com? (Como está a performance)

  2. Que tipo de desempenho fazer o Consultas têm?

  3. É possível usar Terracotta Hibernate Search, mesmo sem ter um suporte de banco de dados para satisfazer todos "consultas" em memória?
Foi útil?

Solução

Estou CTO do Terracotta. Eu passei algum tempo no mês passado olhando para Hibernate Search. Não é construído de forma a ser agrupados de forma transparente pelo Terracotta. É aqui porque em poucas palavras:. Hibernate tem uma replicação JMS de índices Lucene em todo JVMs custom-built

A idéia básica em Search é que falar com disco local sob lucene funciona muito bem, enquanto fragmentação ou particionamento-se índices Lucene através das introduz rede sooo muito a latência como fazer Lucene parecer ruim quando não é culpa do Lucene em tudo. Para o efeito, Hibernate Search não depende de JBossCache ou qualquer na memória de particionamento / cache esquemas e, em vez depende de JMS e disco local de cada JVM, a fim de fornecer up-to-date de indexação através de uma aglomerar com latência simultânea baixo. Em seguida, a beleza do Hibernate Search é que as consultas padrão do Hibernate e muito mais pode ser lançado através do Hibernate para estes índices de linguagem natural em cada máquina.

No Terracotta verifica-se que tinha uma ideia semelhante a Emmanuel e construiu um produto SearchableMap no topo da Compass. Cada máquina tem sua própria loja Compass ea loja está configurado para derramar em disco localmente. Terracotta é usado para criar uma capacidade de escrita multi-mestre, onde qualquer JVM pode adicionar ao índice eo delta é enviada através Terracotta para ser repetido / reaplicado localmente para cada disco. Ele funciona exatamente como Hibernate Search, mas com DSO como o protocolo de rede no lugar de JMS e W / o agradáveis ??Hibernate as interfaces mas com interfaces bússola.

Eu acho que vamos apoiar Hibernate Search w / a ajuda do JBoss (que seria necessário para fator as JMS impl como pluggable) até o final do ano.

Agora, para suas perguntas diretamente:

atualizações 1.object / seg em hibernação ou SearchableMap deve ser bastante elevado, pois ambos estão enviando apenas deltas. No caso do Hibernate é uma função do nosso provedor JMS. Em Terracotta é escalável apenas adicionando mais Servidores de terracota para a matriz.

  1. O desempenho de consulta em ambos é muito rápido. o desempenho da memória local na maioria dos casos. E se você precisa de página a partir do disco, verifica-se a maioria dos sistemas operacionais fazer um bom trabalho e pode responder muito mais rápido do que qualquer agrupamento lata baseada em rede para consultas.

  2. Será, penso eu, uma vez que temos JBoss para fatorar suas suposições JMS, etc.

Cheers,

- Ari

Outras dicas

Uma vez que as pessoas nos fóruns do Hibernate manter referindo-se a este post eu me sinto em necessidade de salientar que, embora os comentários de Ari onde corretos no início de 2009, temos vindo a desenvolver e melhorar muito.

Hibernate Search fornece um conjunto de canais de back-end fora da caixa, como os JMS já mencionadas base e uma adição mais recente usando JGroups, mas nós fizemo-lo também bastante simples ligar com implementações alternativas ou substituir alguns.

Além de usar um backend de costume, agora é possível desde a versão 4 para substituir toda a estratégia e, em vez de mudar a implementação backend só você pode usar um IndexManager que segue um design diferente e não usar um backend em tudo; neste momento temos dois IndexManagers apenas, mas nós estamos trabalhando em mais alternativas; novamente a idéia é proporcionar agradáveis ??implementações para o mais comum

Ele tem um backend baseado Infinispan para distribuição muito rápida do índice em diferentes nós, e deve ser para a frente para contribuir um baseado em terracota ou qualquer outra tecnologia de cluster. Mais soluções estão vindo.

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