Category: Open DevOps

Conceitos básicos de Elasticsearch

Conceitos básicos de Elasticsearch

Essa semana vamos falar um pouco sobre Elasticsearch explicando o que ele é e seus termos básicos.

O Elasticsearch é um banco de dados não relacional open source baseado no Apache Lucene, uma engine de busca muito conhecida no mercado. Com uma estrutra de documentos em JSON e controlado através de métodos HTTP o Elasticsearch se torna cada vez mais poderoso quando necessitamos armazenar e analizar grande quantidade de dados em real time.

Quando lidamos com grandes quantidades de dados precisamos tomar alguns cuidados para que ao invés de facilitar a gerência de dados o Elasticsearch não acabe se tornando um grande problema. Para isso sua clusterização é imprescindível para qualquer arquitetura que mexa com dados não voláteis, necessite alta disponibilidade e escalabilidade.

Agora que já entendemos um pouco sobre o que é o Elasticsearch vamos descomplicar alguns de seus componentes/termos principais.

Cluster: Um conjunto de máquinas que podem ser chamadas através de um único endPoint e compartilham dados, processamento, memória e outros recursos;

Nodes: É o nome que se dá para as maquinas que compõem o cluster;

Shards & Replicas: Com o intuito de acelerar buscas, balancear a quantidade de dados e garantir a alta disponibilidade entre os nós, o Elasticsearch divide cada índice em vários conjuntos de dados menores. Em um índice com configuração padrão há sempre 5 shards primários e uma réplica de cada totalizando 10 shards.

Index: Os índices fazem o mesmo papel dos Databases em um banco relacional, ou seja, é um grande conjunto de dados que respeitam um padrão pré estabelecido.

Type: É a semântica padrão definida por quem cria o index, se assemelha com os tabelas de um banco relacional.

Documents: São arquivos JSON inseridos em um index respeitando os padrões definidos pelo type.

Agora que já entendeu os conceitos básicos do Elasticsearch aguarde pelos próximos posts que iremos fazer mostrando como subir e configurar um cluster, comandos básicos, diferentes tipos de configurações de um cluster e muito mais.

Até a próxima!

Seja bem vindo!

Seja bem vindo!

Seja bem vindo ao blog Open DevOps!

Criamos esse blog para compartilhar conhecimento e conteúdos relacionados à DevOps e também aprender com nossos leitores.

Criaremos nossos posts em formas de labs, nem sempre focando tanto na parte teórica. Entendemos que hoje em dia temos diversas fontes e documentações que nos dão bom apoio para aprendermos a arquitetura que há por trás de diversas ferramentas, e com os labs podemos colocar esse conhecimento em prática.

Em nossos posts colocaremos referências a documentações que irão te ajudar com o background, e você aprenderá muito colocando nossos labs na prática.

Com isso dito, venha crescer conosco!