Elasticsearch: solução para pesquisar em grandes volumes de dados

2 Comentários

O Elasticsearch é um motor distribuído moderno, baseado no Apache Lucene, para pesquisa e análise eficiente de grandes quantidades de dados.


Ao longo dos últimos anos têm aparecido um conjunto de ferramentas bastante interessantes que se adaptam aos “novos” modelos de desenvolvimento de software e construção de plataformas.

Com o constante aumento de informação digital, o tão falado Big Data, é necessário possuir também ferramentas capazes de pesquisar e analisar rapidamente esses dados e apresentar quase de forma instantânea resultados. Uma dessas ferramentas chama-se Elasticsearch! Vamos conhecer melhor esta ferramenta.

Elasticsearch: é possível combinar vários tipos de pesquisas

O Elasticsearch é amplamente utilizado para armazenamento, pesquisa e análise de grandes volumes de dados de forma rápida e em tempo real. Esta solução é altamente escalável e permite que o utilizador combine vários tipos de pesquisas, sendo que os dados também podem ser de vários tipos (ex. dados estruturados, não estruturados, geo, métricas, etc).

Características interessantes do Elasticsearch

  • Disponibilização de resultados em tempo real
  • Pode ser configurado de forma distribuída
  • Disponibilização de uma API RESTFul
  • Orientado a “documentos”, uma vez que os dados são armazenados em forma de “documentos” (no formato JSON)

Conceitos básicos do Elasticsearch

Quem usa o Elasticsearch tem de conhecer alguns conceitos básicos desta ferramenta para perceber como tudo funciona.

Cluster

Um cluster é uma coleção de um ou mais nós (máquinas) que juntos mantêm os dados consistentes e fornecem recursos de indexação e pesquisa.Um cluster é identificado por um nome exclusivo que, por padrão, é “elasticsearch”. Esse nome é importante porque um nó só pode fazer parte de um cluster.

Node (Nó)

Um nó é um servidor que faz parte do cluster, armazena os dados e participa no processo de indexação e pesquisa do cluster. Tal como um cluster, um nó é identificado por um nome. Por padrão o nome é um Universally Unique IDentifier (UUID) aleatório atribuído no arranque do nó, mas o utilizador pode alterar o nome de um nó.

Índices, Tipos, documentos

Fazendo uma analogia ao que existe numa base de dados podemos referir que os índices<são as bases de dados (conjunto de documentos com características semelhantes). Por exemplo, podemos um índice para os dados dos clientes, outro índice para o catálogo de produtos e outro índice, por exemplo, para encomendas. Um índice é definido por um nome.

Os Tipos são como as tabelas. Os documentos são os registos, ou seja, a informação que pode ser indexada. Podemos ter um documento para um cliente, para um produto, ou para uma encomenda. Os campos são as colunas das tabelas.

O Elasticsearch tem ainda suporte para um conjunto vasto de linguagens de programação.

O Elasticsearch é utilizado por empresas como, por exemplo, a Google, GitHub, Twitter, SoundCloud, Yelp e Foursquare. Num próximo artigo iremos ensinar a instalar esta poderosa plataforma.

Elasticsearch

Comentários

2

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *

  1. Avatar de Hacker Alhinho
    Hacker Alhinho

    Iep, é usado no ATOM (Access TO Memory) da instituição onde estou.

    1. Avatar de Elektro
      Elektro

      Que nostalgia, lá vai o tempo que implementei stacks ELK para alguma empresas.