fatality!

Lorn++ =D
On Mar 14, 2012 10:25 AM, "Lindolfo Lorn Rodrigues" <[email protected]>
wrote:

> Eu não sou uma pessoa que goste de escrever emails grandes, talvez algum
> dia eu escreva um blog post sobre isso.
> Para mostrar alguns dos meus motivos, peguei o changelog das duas ultimas
> versões:
>
> http://www.elasticsearch.org/download/2012/03/01/0.19.0.html
> http://www.elasticsearch.org/download/2012/01/10/0.18.7.html
>
> query never returns 
> (#1725<http://github.com/elasticsearch/elasticsearch/issues/issue/1725>
> )
>
>    - Orderly shutdown with unicast discovery might cause the shutdown
>    node to still be part of the election process 
> (#1740<http://github.com/elasticsearch/elasticsearch/issues/issue/1740>
>    )
>    - NullPointerException when asking for null valued json field when
>    fetching search request 
> (#1749<http://github.com/elasticsearch/elasticsearch/issues/issue/1749>
>    )
>
>
> Cluster metadata files destroyed when using blob store gateway causing
> data loss 
> (#1564<http://github.com/elasticsearch/elasticsearch/issues/issue/1564>
> )
>
>    - Two different indexes with the same nested object name causing
>    ArrayIndexOutOfBoundsException 
> (#1575<http://github.com/elasticsearch/elasticsearch/issues/issue/1575>
>    )
>
> S3 blob storage gateway: deleting an index named x destroys data for any
> index with name beginning with x 
> (#1582<http://github.com/elasticsearch/elasticsearch/issues/issue/1582>
> )
>
> Olha o tipo de bug que eles ainda estão resolvendo, se vocês derem uma
> olhada caso ocorra QUALQUER um desses bugs:
>
>   - A possibilidade da sua base corromper é grande.
>   - Seu sistema vai ficar indisponivel
>
> Se a sua base foi corrompida e você precisa reindexar seus documentos,
> isso é um trabalho pesado e lento ( e não tem nada a ver com o ES )
> ElasticSearch, como  o nome já diz, é um sistema para BUSCA, como Solr,
> não um sistema para guardar objetos/dados.
> Usar Solr/ElasticSearch como persistencia de dados é errado, e deixar de
> usar Solr como sistema de busca para usar ElasticSearch também não é uma
> boa escolha.
> Apenas como lição de casa, deem uma olhada no changelog das ultimas
> versões do Solr:
>
> http://lucene.apache.org/solr/solrnews.html
>
> Procurem quantos bugs criticos desse tipo foram corrigidos/existem ( se
> olhar no Jira do projeto )
>
> PS: Até que o email ficou grande :D
> 2012/3/14 Marcio Ferreira <[email protected]>
>
>> qual o trauma?
>> On Mar 14, 2012 9:52 AM, "Lindolfo Lorn Rodrigues" <[email protected]>
>> wrote:
>>
>>> Use qualquer coisa, menos ElasticSearch.
>>> Sério.
>>>
>>> 2012/3/14 Marcio Ferreira <[email protected]>
>>>
>>>> Só dando um pitaco, ao contrário do mongoDB, experimente o
>>>> ElasticSearch - performance incrível. E se atente na forma de como será
>>>> feita a consulta na API das redes, as vezes consultar uma vez ao dia já
>>>> resolva seu problema, e evite os horários de pico prq rodar seu scraper =S
>>>>  On Mar 14, 2012 8:03 AM, "Tiago Peczenyj" <[email protected]>
>>>> wrote:
>>>>
>>>>> Oi
>>>>>
>>>>> é possivel criar uma fila usando um feed rss ou criando arquivos em um
>>>>> diretorio. basta ver o que é mais interessante para o teu projeto. Por
>>>>> exemplo, se vc publicar um feed e tiver do outro lado um consumidor
>>>>> fazendo pooling vai ser tão bom quanto um ActiveMQ se vc não estiver
>>>>> com um volume muito grande de dados E se puder esperar uns segundos.
>>>>> Isso pode simplificar a tua infra num primeiro momento.
>>>>>
>>>>> On Tue, Mar 13, 2012 at 11:33 PM, Daniel de Oliveira Mantovani
>>>>> <[email protected]> wrote:
>>>>> > Shonorio, o Gearman não é um sistema de fila, ele funciona como um
>>>>> > distribuid system.
>>>>> >
>>>>> > Você deva usar o AMPQ[1] ou o Apache ActiveMQ[2] para criar a fila e
>>>>> o
>>>>> > Gearman para processar a informação. O Worker não sabe da existência
>>>>> > do Client, quem faz esse intermédio é o Gearman Server[3].
>>>>> >
>>>>> > "A Gearman powered application consists of three parts: a client, a
>>>>> > worker, and a job server. The client is responsible for creating a
>>>>> job
>>>>> > to be run and sending it to a job server. The job server will find a
>>>>> > suitable worker that can run the job and forwards the job on. The
>>>>> > worker performs the work requested by the client and sends a response
>>>>> > to the client through the job server. Gearman provides client and
>>>>> > worker APIs that your applications call to talk with the Gearman job
>>>>> > server (also known as gearmand) so you don't need to deal with
>>>>> > networking or mapping of jobs. Internally, the gearman client and
>>>>> > worker APIs communicate with the job server using TCP sockets. To
>>>>> > explain how Gearman works in more detail, lets look at a simple
>>>>> > application that will reverse the order of characters in a string. "
>>>>> >
>>>>> > [User Interface] <===>[RDBMS]<===> [Queue System]
>>>>> >                                                                  /\
>>>>> >                                                                  ||
>>>>> >                                                                  ||
>>>>> >                                                       [Distribuid
>>>>> > System] <===> [Document-oriented database]
>>>>> >
>>>>> >
>>>>> > Se baseando nesse arquitetura o Queue System vai mandando "jobs" de
>>>>> > acordo com número de workers que você tem disponível, evitando um
>>>>> > overhead e criando um sistema "auto scalability".
>>>>> >
>>>>> > Se eu fosse você eu me preocuparia com a forma de armazenamento dos
>>>>> > dados, as redes sociais já garantem a integridade dos dados, sendo
>>>>> > assim uma solução Document-oriented database te pouparia muito
>>>>> > processamento e trabalho. Existem várias opções, eu recomendo o
>>>>> > MongoDB[4] mesmo com o Eden Cardim me crucificando por isso.
>>>>> >
>>>>> > Guarde os dados dos usuários e do site num RDBMS, se você estiver
>>>>> > pensando num RDBMS open source eu te recomendo o PostgreSQL, ele tem
>>>>> > um ótimo suporte ao paradigma temporal.
>>>>> > Se você usar o PostgreSQL, eu te recomendo usar o Pgpool[5] para
>>>>> > replication, clustering, load balance etc.
>>>>> >
>>>>> > [1] - http://www.amqp.org/about/what
>>>>> > [2] - http://activemq.apache.org/
>>>>> > [3] - http://gearman.org/
>>>>> > [4] - http://www.mongodb.org/display/DOCS/Sharding+Introduction
>>>>> > [5] - http://www.pgpool.net/mediawiki/index.php/Main_Page
>>>>> >
>>>>> > Grande Abraço.
>>>>> >
>>>>> > 2012/3/13 Solli Honorio <[email protected]>:
>>>>> >> Pessoal,
>>>>> >>
>>>>> >> Estou iniciando um projeto de monitoramento de mídias sociais e
>>>>> fazer algum
>>>>> >> processamento com estas informações, e acredito que utilizar
>>>>> esquemas de
>>>>> >> fila serviria muito bem para este ambiente.
>>>>> >>
>>>>> >> Basicamente o esquema que estou imaginando para o ambiente é :
>>>>> >>
>>>>> >> [ Interface com o usuário ] <===> [Banco de Dados] <====> [Sistema
>>>>> de Fila]
>>>>> >>
>>>>> >>                    ||             ||
>>>>> >>
>>>>> >>                    ||             +- [Executa a pesquisa]
>>>>> >>
>>>>> >>                    ||
>>>>> >>
>>>>> >>                    +-- [ Processa o resultado da pesquisa]
>>>>> >>
>>>>> >> As ações que eu imagino nisto são :
>>>>> >>
>>>>> >> * interface com o usuário não é meu problema, tem um webdeveloper
>>>>> >> trabalhando nisto;
>>>>> >> * não quero de maneira alguma fazer os 'agentes' interagir
>>>>> diretamente com o
>>>>> >> banco de dados, por isto penso em criar um cliente que leia o banco
>>>>> de dados
>>>>> >> e coloque os dados formatados para o agente na fila do agente. O
>>>>> caminho
>>>>> >> contrário também, ler o resultado do agente e gravar no banco de
>>>>> dados;
>>>>> >>
>>>>> >> Estou avaliando a possibilidade de utilizar o Gearman (na verdade
>>>>> não tenho
>>>>> >> certeza se esta é a melhor alternativa mesmo), na verdade o
>>>>> >>  AnyEvent::Gearman. Mas algumas coisas me chamaram no Gearman do
>>>>> qual eu
>>>>> >> acho meio estranho para o ambiente sistema de fila que eu tenho na
>>>>> minha
>>>>> >> cabeça.
>>>>> >>
>>>>> >> 1. o worker (aparentemente o cara que executará o serviço) não fica
>>>>> em loop
>>>>> >> lendo uma fila, parece que ele está sendo acionado pelo cliente;
>>>>> >> 2. o parece que o cliente fica 'preso' aguardando o final da
>>>>> execução do
>>>>> >> worker.
>>>>> >>
>>>>> >> Ainda não tenho código (que o meu cliente não leia isto, pois estou
>>>>> muito
>>>>> >> atrasado), mas eu gostaria de obter recomendações de vocês sobre a
>>>>> >> arquitetura que estou imaginando.
>>>>> >>
>>>>> >> Obrigado,
>>>>> >>
>>>>> >> Solli Honorio
>>>>> >>
>>>>> >>
>>>>> >> --
>>>>> >> "o animal satisfeito dorme". - Guimarães Rosa
>>>>> >>
>>>>> >> =begin disclaimer
>>>>> >>   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>> >>  SaoPaulo-pm mailing list: [email protected]
>>>>> >>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>> >> =end disclaimer
>>>>> >>
>>>>> >
>>>>> >
>>>>> >
>>>>> > --
>>>>> > "If you’ve never written anything thoughtful, then you’ve never had
>>>>> > any difficult, important, or interesting thoughts. That’s the secret:
>>>>> > people who don’t write, are people who don’t think."
>>>>> > =begin disclaimer
>>>>> >   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>> >  SaoPaulo-pm mailing list: [email protected]
>>>>> >  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>> > =end disclaimer
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Tiago B. Peczenyj
>>>>> Linux User #405772
>>>>>
>>>>> http://pacman.blog.br
>>>>> =begin disclaimer
>>>>>   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>>  SaoPaulo-pm mailing list: [email protected]
>>>>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>>> =end disclaimer
>>>>>
>>>>
>>>> =begin disclaimer
>>>>   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>>  SaoPaulo-pm mailing list: [email protected]
>>>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>>> =end disclaimer
>>>>
>>>>
>>>
>>> =begin disclaimer
>>>   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>>  SaoPaulo-pm mailing list: [email protected]
>>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>>> =end disclaimer
>>>
>>>
>> =begin disclaimer
>>   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>>  SaoPaulo-pm mailing list: [email protected]
>>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
>> =end disclaimer
>>
>>
>
> =begin disclaimer
>   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
>  SaoPaulo-pm mailing list: [email protected]
>  L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
> =end disclaimer
>
>
=begin disclaimer
   Sao Paulo Perl Mongers: http://sao-paulo.pm.org/
 SaoPaulo-pm mailing list: [email protected]
 L<http://mail.pm.org/mailman/listinfo/saopaulo-pm>
=end disclaimer

Responder a