| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/11/2011 00:05:08
|
AUser
GUJ Master
![[Avatar]](/images/avatar/ed3b5b6f006e79c5a2f0fff4b91c94cd.jpg)
Membro desde: 23/10/2008 06:39:07
Mensagens: 1092
Offline
|
Bom dia srs., Na busca da melhor tecnologia, tem algo que me anda tirando do serio. Bom, todo mundo fala bem do Hibernate-Search como sendo uma ferramenta rapida e usual pra se usar o Lucene, annotations pra ca, annotations pra la, e voi-la, seu indice esta configurado e pesquisavel. O problema que ando vendo, eh que em projetos grandes o pessoal nao usa o Hibernate search, mas prefere utilizar so o Lucene, na mao, mesmo sendo mais dificil configurar / manter. Alguem sabe me dizer o motivo disso? Grato! Edit: tambem andei vendo sobre o Solr... Alguem sabe me dizer mais sobre ele? Benchmarks , etc?
This message was edited 1 time. Last update was at 02/11/2011 00:13:15
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/11/2011 01:19:16
|
jyoshiriro
Virtual Machine Man
![[Avatar]](/images/avatar/e0679741969383717173a64cf04e0678.jpg)
Membro desde: 17/06/2009 14:14:39
Mensagens: 587
Offline
|
Olá. Amigo, no tribunal que trabalho usamos o Hibernate Search (e uma versão antiga) numa tabela com cerca de 4,1 milhões de registros. O único campo indexado tem em média de 7 palavras e ainda usamos um dispositivo de consulta fonética fora a parte do Hibernate Search. Resultado: buscas com 2 palavras levam até menos de 0,2s em alguns casos. Buscas muito comuns, como "Maria Silva", por exemplo, levam cerca de 10s. Quando usávamos uma base de testes com "apenas" 500k registros, as buscas nunca levavam mais de 2s (as com nomes bem comuns, como "silva", por exemplo) mas a maioria da buscas batia na casa dos 0,2s.
This message was edited 4 times. Last update was at 02/11/2011 01:21:25
|
José Yoshiriro Ajisaka Ramos
OCUP Fundamental / SCJP 6 / SCWCD 5 / SCBCD 5 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/11/2011 08:02:32
|
AUser
GUJ Master
![[Avatar]](/images/avatar/ed3b5b6f006e79c5a2f0fff4b91c94cd.jpg)
Membro desde: 23/10/2008 06:39:07
Mensagens: 1092
Offline
|
jyoshiriro wrote:Olá.
Amigo, no tribunal que trabalho usamos o Hibernate Search (e uma versão antiga) numa tabela com cerca de 4,1 milhões de registros. O único campo indexado tem em média de 7 palavras e ainda usamos um dispositivo de consulta fonética fora a parte do Hibernate Search.
Resultado: buscas com 2 palavras levam até menos de 0,2s em alguns casos. Buscas muito comuns, como "Maria Silva", por exemplo, levam cerca de 10s.
Quando usávamos uma base de testes com "apenas" 500k registros, as buscas nunca levavam mais de 2s (as com nomes bem comuns, como "silva", por exemplo) mas a maioria da buscas batia na casa dos 0,2s.
Opa,
Mas nessa busca vcs limitavam a quatnidade maxima do retorno ou o que viesse tava valendo? Vcs chegaram a pensar em usar o Solr?
[]'s!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/11/2011 08:19:59
|
Victor Neves
JavaEvangelist
![[Avatar]](/images/avatar/52092f83c2d842688d424af6a5e55c7b.jpg)
Membro desde: 12/12/2008 19:18:21
Mensagens: 302
Localização: Brasília - DF
Offline
|
os números podem enganar, se lembrarmos que hardware interfere fortemente.....
|
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/11/2011 08:47:52
|
jyoshiriro
Virtual Machine Man
![[Avatar]](/images/avatar/e0679741969383717173a64cf04e0678.jpg)
Membro desde: 17/06/2009 14:14:39
Mensagens: 587
Offline
|
Mas nessa busca vcs limitavam a quatnidade maxima do retorno ou o que viesse tava valendo?
Sem limitação. O tempo a qual me referi é o da busca indexada e não do retorno da tupla. Se pegar uma tupla de 1000 linhas com 10 campos grandes, nem com lucene nem nenhuma outra tecnologia fará o retorno ser rápido.
Vcs chegaram a pensar em usar o Solr?
Não. Daria muito trabalho. Você se refere à parte fonética? Bem, o Solr foi um fracasso para nosso idioma (pt BR). Só cola mesmo pra idioma americano ao que parece.
os números podem enganar, se lembrarmos que hardware interfere fortemente.....
Realmente, o hardware em questão é muito bom, mas não acredito que não seja "top de linha".
Amigo, de boa: é muito rápido que vc configura o Hib Search. Faz um teste de carga ai que em 1 dia você saberá se essa solução irá valer a pena no teu caso
Aqui usamos o JMeter para atestar a alta performance em nosso contexto.
|
José Yoshiriro Ajisaka Ramos
OCUP Fundamental / SCJP 6 / SCWCD 5 / SCBCD 5 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/11/2011 08:50:23
|
Marcio_Nogueira
JWizard
![[Avatar]](/images/avatar/0447abe5b3fbb484f70517e8a1091b4e.jpg)
Membro desde: 21/05/2007 20:14:54
Mensagens: 2781
Localização: xxxxxxxxxxxxxxxxxxxxxxxxxx
Offline
|
O mercado utiliza o hibernate como framework de persistência e padrão altamente difundido.
|
MBA em Desenvolvimento de Sistemas em Ambiente Web
Bacharel em Desenho Industrial / Programação Visual
Marcio Nogueira C. Pinto |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/11/2011 08:52:24
|
Victor Neves
JavaEvangelist
![[Avatar]](/images/avatar/52092f83c2d842688d424af6a5e55c7b.jpg)
Membro desde: 12/12/2008 19:18:21
Mensagens: 302
Localização: Brasília - DF
Offline
|
já aproveitando o tópico... alguem pode deixar aqui (para os proximos que procurarem por assuntos relacionados a banco de dados orientado a coluna) o link de download pro BigTable!
eu ja procurei mas nao achei... =/
ja fui no googleCode e nao achei, no googleLabs e nao achei... se alguem souber o link posta ae!
vlw
|
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/11/2011 09:21:59
|
AUser
GUJ Master
![[Avatar]](/images/avatar/ed3b5b6f006e79c5a2f0fff4b91c94cd.jpg)
Membro desde: 23/10/2008 06:39:07
Mensagens: 1092
Offline
|
jyoshiriro wrote:
Mas nessa busca vcs limitavam a quatnidade maxima do retorno ou o que viesse tava valendo?
Sem limitação. O tempo a qual me referi é o da busca indexada e não do retorno da tupla. Se pegar uma tupla de 1000 linhas com 10 campos grandes, nem com lucene nem nenhuma outra tecnologia fará o retorno ser rápido.
Vcs chegaram a pensar em usar o Solr?
Não. Daria muito trabalho. Você se refere à parte fonética? Bem, o Solr foi um fracasso para nosso idioma (pt BR). Só cola mesmo pra idioma americano ao que parece.
os números podem enganar, se lembrarmos que hardware interfere fortemente.....
Realmente, o hardware em questão é muito bom, mas não acredito que não seja "top de linha".
Amigo, de boa: é muito rápido que vc configura o Hib Search. Faz um teste de carga ai que em 1 dia você saberá se essa solução irá valer a pena no teu caso
Aqui usamos o JMeter para atestar a alta performance em nosso contexto.
Opa,
O problema eh que eu nao vou persistir um pojo do Hibernate, em si. Ele contem apenas alguns dos atributos, a entidade que iria para o index seria uma mistura de outras entidades, de acordo com parametros especificos (e dai parte a dificuldade de regular parametros que alteram em runtime e annotations). O teste de carga que to querendo eh meio absurdo, nao eh tao facil assim p/ fazer.
Sobre a pesquisa fonetica, eu nem to pensando sobre isso ainda. Eu to pensando eh na normal mesmo...
[]'s!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/11/2011 19:55:12
|
jyoshiriro
Virtual Machine Man
![[Avatar]](/images/avatar/e0679741969383717173a64cf04e0678.jpg)
Membro desde: 17/06/2009 14:14:39
Mensagens: 587
Offline
|
Ah, tá.
Bem, nesse caso acredito que é melhor você usar o lucene mesmo.
Achei que já existisse um Hibernate configurado ai pra você
Ah, e quanto ao BigTable, posso estar enganado, mas acho que não se "baixa" e sim se usa ele online sempre.
|
José Yoshiriro Ajisaka Ramos
OCUP Fundamental / SCJP 6 / SCWCD 5 / SCBCD 5 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/11/2011 07:01:50
|
Leozin
JWizard
![[Avatar]](/images/avatar/5dca4c6b9e244d24a30b4c45601d9720.png)
Membro desde: 18/06/2005 21:01:26
Mensagens: 2310
Localização: São Paulo/SP
Offline
|
bom, se o que você está indexando é uma entidade gerenciada pelo hibernate, então user o hibernate-search (que por debaixo dos panos, utiliza o lucene)
se tu precisa de mais detalhes, negócios mais hardcore etc, use o lucene
|
http://www.leozin.com.br/blog |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/11/2011 08:25:32
|
deniswsrosa
GUJ Ranger
![[Avatar]](/images/avatar/28a7602724ba16600d5ccc644c19bf18.jpg)
Membro desde: 21/07/2005 08:51:27
Mensagens: 807
Offline
|
AUser wrote:Bom dia srs., Na busca da melhor tecnologia, tem algo que me anda tirando do serio. Bom, todo mundo fala bem do Hibernate-Search como sendo uma ferramenta rapida e usual pra se usar o Lucene, annotations pra ca, annotations pra la, e voi-la, seu indice esta configurado e pesquisavel. O problema que ando vendo, eh que em projetos grandes o pessoal nao usa o Hibernate search, mas prefere utilizar so o Lucene, na mao, mesmo sendo mais dificil configurar / manter. Alguem sabe me dizer o motivo disso? Grato! Edit: tambem andei vendo sobre o Solr... Alguem sabe me dizer mais sobre ele? Benchmarks , etc?
O ideal seria usar Solr/SolrJ é simplesmente excelente, aliviou muito a carga do banco.
This message was edited 2 times. Last update was at 03/11/2011 08:35:44
|
SCJP, SCEA I
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/11/2011 09:17:29
|
AUser
GUJ Master
![[Avatar]](/images/avatar/ed3b5b6f006e79c5a2f0fff4b91c94cd.jpg)
Membro desde: 23/10/2008 06:39:07
Mensagens: 1092
Offline
|
deniswsrosa wrote:
AUser wrote:Bom dia srs.,
Na busca da melhor tecnologia, tem algo que me anda tirando do serio. Bom, todo mundo fala bem do Hibernate-Search como sendo uma ferramenta rapida e usual pra se usar o Lucene, annotations pra ca, annotations pra la, e voi-la, seu indice esta configurado e pesquisavel. O problema que ando vendo, eh que em projetos grandes o pessoal nao usa o Hibernate search, mas prefere utilizar so o Lucene, na mao, mesmo sendo mais dificil configurar / manter.
Alguem sabe me dizer o motivo disso?
Grato!
Edit: tambem andei vendo sobre o Solr... Alguem sabe me dizer mais sobre ele? Benchmarks , etc?
O ideal seria usar Solr/SolrJ é simplesmente excelente, aliviou muito a carga do banco.
Mas uma coisa que me preocupa eh a questao http do solr. Eu ja indexei pelo lucene direto, usando http, e achei lento que so o cao. E se eu precisasse reconstruir o indice, por exemplo? Esse eh o problema... Eu to procurando benchmarks aqui e nao to achando.
[]s!
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 03/11/2011 11:14:57
|
deniswsrosa
GUJ Ranger
![[Avatar]](/images/avatar/28a7602724ba16600d5ccc644c19bf18.jpg)
Membro desde: 21/07/2005 08:51:27
Mensagens: 807
Offline
|
AUser wrote:
deniswsrosa wrote:
AUser wrote:Bom dia srs.,
Na busca da melhor tecnologia, tem algo que me anda tirando do serio. Bom, todo mundo fala bem do Hibernate-Search como sendo uma ferramenta rapida e usual pra se usar o Lucene, annotations pra ca, annotations pra la, e voi-la, seu indice esta configurado e pesquisavel. O problema que ando vendo, eh que em projetos grandes o pessoal nao usa o Hibernate search, mas prefere utilizar so o Lucene, na mao, mesmo sendo mais dificil configurar / manter.
Alguem sabe me dizer o motivo disso?
Grato!
Edit: tambem andei vendo sobre o Solr... Alguem sabe me dizer mais sobre ele? Benchmarks , etc?
O ideal seria usar Solr/SolrJ é simplesmente excelente, aliviou muito a carga do banco.
Mas uma coisa que me preocupa eh a questao http do solr. Eu ja indexei pelo lucene direto, usando http, e achei lento que so o cao. E se eu precisasse reconstruir o indice, por exemplo? Esse eh o problema... Eu to procurando benchmarks aqui e nao to achando.
[]s!
Temos uma base de 35 Giga aqui, e por volta de 10 mill usuários, vira e mexe precisamos que reindexar tudo devido a novos atributos e etc,o reindex fica por volta de 3.5 horas, mas você não precisa necessariamente apagar todos os ínidices e criar tudo do zero, já que se pode apagar e recriar somente um índice específico ou mandar reindexar sobreescrevendo o ínidce antigo.
O que eu acho sensacional no Solr é justamente por ser um módulo totalmente a parte do seu projeto, você pode rodar ele em um servidor dedicado se precisar, pode fazer manutencão sem parar a aplicacão principal além de eventualmente poder compartilhar os dados com outros aplicativos.
Benchmarks em si eu tb não tenho, mas o nosso sistema está rodando em producão com ele.
|
SCJP, SCEA I
|
|
|
 |
|
|
|
|