Atualmente a quantidade massiva de informações gerada por aplicações exige ferramentas de pesquisa que agilize é proporcione rapidez nas consultas. Um desafio tanto para ambientes de desenvolvimento como para infraestrutura.
Armazenar as informações não é o bastante. É preciso tomar decisões em tempo real através das informações geradas por estas aplicações.
Imagine que você faz parte de uma equipe com projeto arrojado. Neste projeto a equipe mensurou que gastaria entorno de 1 bilhão de linha de código. É ainda terá integração com vários tipos de dispositivos.
Mensurar como seria catalogados os logs de erros gerados, funcionalidades mais usadas é o numero de usuários conectados. Monitorar integrações dos dispositivos, utilização, execução de códigos em tempo real e instruções SQL.
Como você saberia responder à estas perguntas:
- Você sabe o que acontece no seu sistema em produção?
- Quantos usuários diferentes logaram na última semana?
- Quais são as funcionalidades estão sendo utilizadas?
- Quantos erros não tratados os usuários estão recebendo?
Para agilizar ações pró-ativas na prestação de suporte, correções e deixar sua aplicação cada vez mais estável. O Elasticsearch é uma solução.
O Elasticsearch é uma ferramenta de pesquisa com uma base de dados NoSQL open-source. Nele pode ser centralizada todas estas informações. Esta ferramenta é totalmente escalável, distribuída é em tempo real.
Em sua base de dados pode ser alimentada com conteúdos para servir de consultas por aplicações. Estas inserções e pesquisas é utilizado a API Restful: JSON IN (Entrada) e JSON OUT (Saída). Para automatizar existem APIs Restful prontas para plataformas como:
- Microsoft .NET
- Javascript
- Java
- Ruby
- Python
- Perl
- C++
Quem está utilizando-o? Abaixo disponibilizei uma lista de aplicações que atualmente faz uso do Elasticsearch:
- Github – Usado para consultar 130 bilhões de linha de códigos.
- StackOverflow – Ele combina pesquisa de texto, geolocalização e usa more-like-this (mais como este) para encontrar perguntas e respostas relacionadas.
- The Guardian – Registros de visitantes com dados de rede social. Para fornecer feedback em tempo real para seus editores sobre a resposta do público a novos artigos.
- Wikipédia – Usado para prover busca de texto completo com trechos de pesquisa em destaque e sugestões de buscas.
Ainda outros como Uber, facebook, Soundcloud, Netflix, Globo.com é Mercado Livre. As empresas mencionadas já estão fazendo uso do Elasticsearch.
O Elasticsearch ainda pode ser combinado com ferramentas Logstash, Kibana é Codahale Metrics. Estas são algumas ferramentas que podem trabalhar em conjunto com Elasticsearch.
Por fim o Elasticsearch é uma ótima solução para centralização de informações que precisa consultado em tempo real. Foi apresentado sobre um cenário de desenvolvimento. O Elasticsearch não limita-se somente ao desenvolvimento. Qualquer aplicação que precise ter uma base de dados centralizada ágil para realizar pesquisa.
Se você gostou deste artigo compartilhe com seus amigos é deixe seu comentário falando o que acha.
Referências.
Elasticsearch – www.elastic.co
INFOQ – Monitoramento em tempo real com Elasticsearch e Kibana.
.