• Nenhum resultado encontrado

O benchmark realizado permitiu tirar conclusões claras. Na sua configuração de base, Solr tem um desempenho muito bom, mesmo com o aumento da exigência dos testes. A variação de factores como o número de atributos a indexar e a quantidade de documentos a inserir e indexar têm um impacto muito reduzido nas latências de resposta apresentadas por Solr. Esta plataforma mantém ainda o mesmo nível de desempenho nas inserções e pesquisas quando é utilizado um índice com um filtro divisor por espaços, que permite a pesquisa de palavras. Deste modo, ficou comprovada a capacidade desta plataforma para responder a cenários muito exigentes de indexação. Já Oracle, um sistema mais abrangente e poderoso, tem uma maior exigência a nível de recursos para manter um comportamento razoável à medida que os testes se tornam mais complexos. Oracle tem, nos cenários menos exigentes, uma performance superior à de Solr. No entanto, com o aumento da informação a indexar, as latências registadas em Oracle aumentam descon- troladamente. Para melhorar o seu rendimento, era necessário refinar a sua poderosa con- figuração e adaptá-la ao ambiente onde é instalado, o que não está previsto neste trabalho

Resultados Experimentais

Figura 5.29: Impacto na dimensão da estrutura por cada 1000 registos inseridos.

para nenhuma das plataformas avaliadas.

Para definir um sistema que permita a pesquisa de palavras-chave eficiente em infor- mação estruturada baseado numa única tecnologia exigiria uma adaptação muito intensiva ao domínio do problema. Esta metodologia é inviável para a maioria das organização, uma vez que ao adaptar o software a um domínio se perde a capacidade de reaproveitar software.

Solr é uma plataforma orientada para a indexação e não para o armazenamento de grandes quantidades de informação. Inclusivamente, foi criado para ser integrado com uma base de dados estruturada. Oracle é um sistema com um foco em áreas como o armazenamento, interrogação e processamento. Assim, uma arquitectura composta pela coexistência de um sistema relacional e de um sistema de pesquisa que siga num mo- delo não relacional, permite aproveitar as capacidades de armazenamento do primeiro e a orientação para a indexação do segundo. No caso específico dos sistemas Oracle e Solr, poderia pensar-se numa arquitectura onde Oracle guardava toda a informação inserida, mas apenas indexava um campo identificador de cada registo. Solr guardava e indexava toda a informação que podia ser pesquisada. Cada operação de inserção, actualização ou remoção teria de ser feita em Oracle e replicada em Solr. Já as consultas seriam efectua-

Resultados Experimentais

das em Solr, que por sua vez, retornava apenas os identificadores dos registos que fazem parte dos resultados. Estes identificadores eram úteis para em Oracle eficientemente obter todos os dados dos registos que iriam ser retornados ao utilizador.

Capítulo 6

Conclusões e Trabalho Futuro

6.1

Conclusões

A pesquisa por palavras-chave em base de dados estruturadas foi motivada pelo su- cesso dos sistemas de pesquisa na web. A interface simples e amigável associada a estes sistemas destaca-se a nível da usabilidade, uma vez que proporciona que os termos da pesquisa sejam inseridos de uma forma muito natural.

Para definir um sistema que permita a pesquisa por palavras-chave em base de dados estruturadas, foram estudadas várias plataformas que se baseiam em paradigmas diferen- tes. Por um lado, temos os SGBD relacionais conhecidos pela pesquisa estruturada, e por outro, temos um conjunto vasto de plataformas vocacionadas para a pesquisa por texto livre, que pretende dar suporte à informação estruturada. Assim, nesta dissertação foram avaliadas duas plataformas, uma solução relacional e outra não relacional.

O método utilizado para averiguar as capacidades das plataformas consistiu na execu- ção de uma bateria de testes que cobre os casos de uso mais relevantes na perspectiva da empresa PT Inovação. O sistema relacional Oracle apresentou-se claramente mais orien- tado para o armazenamento da informação tal como é reconhecido, e com uma exigência muito maior ao nível de recursos quando comparado com Solr, para indexar grandes quan- tidades de informação. A nível do tempo de resposta na pesquisa por palavras-chave os resultados obtidos estiveram bastante aquém da plataforma Solr. Para obter um desem- penho aceitável nos testes mais exigentes Oracle reforçou a necessidade de refinamento na sua configuração, ao passo que Solr, um sistema baseado num modelo orientado ao documento, apresentou em todos os testes efectuados uma performance muito satisfató- ria e por norma, bastante superior à do Oracle. A orientação de Solr para a indexação é notória, uma vez que apresentou um desempenho praticamente inalterado com a variação da quantidade e complexidade da informação a indexar.

Por fim, para se obter resultados muito bons em áreas tão complexas como o armaze- namento e a indexação utilizando uma única plataforma, é necessário que a sua configura-

Conclusões e Trabalho Futuro

ção seja muito adaptada ao ambiente onde a plataforma está inserida. É muito dispendioso por um lado, obter de um sistema relacional um bom rendimento na fase de indexação e por outro, obter de um sistema baseado num paradigma diferente bons resultados na área do armazenamento. Deste modo, uma arquitectura composta por um sistema relacional e por um sistema de pesquisa baseado num modelo não relacional, poderá permitir aprovei- tar as capacidades de armazenamento de um sistema relacional como o Oracle e a vocação para a indexação de um sistema baseado num modelo diferente, como o Apache Solr.

Documentos relacionados