SlideShare uma empresa Scribd logo
1 de 43
Thiago Barradas
Software Enginner | Mundipagg
[ Web Applications ] [ ASP .NET ]
[ API RESTful ] [ Microsoft ♥ Linux ]
[ Elasticsearch ] [ Docker ]
[ DevOps ] [ Agile ]
tbarradas@mundipagg.com
LinkedIn: thiagobarradas
(21) 99329-9143
Networking
ELASTICSEARCH
CAPACITY PLANNING
PROJETANDO O SEU CLUSTER
Breve agenda
Definição dos Dados
Dimensionamento dos Shards
Dimensionamento do Cluster
Otimização de Leitura
Otimização de Escrita
DEFINAÇÃO DOS DADOS
Conhecendo seus objetivos
Armazenamento de Logs? Que tipo de Log?
Dados da sua companhia? Que tipo de Dados?
Dados analíticos? Auto complete? Alertas?
Dados geográficos? Full-text?
Por quê vou usar o Elasticsearch para isso?
DEFINIÇÃO DOS DADOS
Conhecendo seus dados
Quais dados serão armazenados?
Onde estão estes dados? Como eles estão hoje?
Os dados me atendem na sua forma “bruta”?
É necessário fazer transformações?
Como imagino o processo de carga dos dados e
sincronização?
DEFINIÇÃO DOS DADOS
Transporte dos dados
DEFINIÇÃO DOS DADOS
Transporte dos dados
DEFINIÇÃO DOS DADOS
Transporte dos dados
DEFINIÇÃO DOS DADOS
DEFINIÇÃO DOS DADOS
Que buscas irei fazer?
DEFINIÇÃO DOS DADOS
Que buscas irei fazer?
DEFINIÇÃO DOS DADOS
Que buscas irei fazer?
DEFINIÇÃO DOS DADOS
Modelagem dos dados
DEFINIÇÃO DOS DADOS
Modelagem dos dados
DEFINIÇÃO DOS DADOS
Dados pré processados
DEFINIÇÃO DOS DADOS
Mapping dos dados
DEFINIÇÃO DOS DADOS
Mapping dos dados
DEFINIÇÃO DOS DADOS
Mapping dos dados
DIMENSIONAMENTO DOS SHARDS
DIMENSIONAMENTO DOS SHARDS
DIMENSIONAMENTO DOS SHARDS
Análise do histórico de crescimento
DIMENSIONAMENTO DOS SHARDS
Carga inicial para gerar métricas
Simulação baseada nas análises
DIMENSIONAMENTO DOS SHARDS
DIMENSIONAMENTO DOS SHARDS
Simulação baseada nas análises
DIMENSIONAMENTO DOS SHARDS
Simulação baseada nas análises
Identificando patterns
DIMENSIONAMENTO DOS SHARDS
DIMENSIONAMENTO DOS SHARDS
Definindo shards por pattern
Templates
DIMENSIONAMENTO DOS SHARDS
DIMENSIONANDO O CLUSTER
DIMENSIONANDO O CLUSTER
DIMENSIONANDO O CLUSTER
DIMENSIONANDO O CLUSTER
OTIMIZANDO LEITURA
Otimizando Leitura
Utilize réplicas;
Busque em menos campos sempre que possível;
Mantenha dados pré processados na indexação;
Mapeie identificadores apenas como keyword;
Evite ao máximo o uso de scripts;
Ajuste os valores de cache, circuit break;
Busque por datas arredondadas;
OTIMIZANDO ESCRITA
Otimizando Escrita
Utilize escrita em Bulk;
Use múltiplos Workers para escrever;
Aumentar o Refresh Interval;
Usar IDs auto-gerados;
Desabilitar _field_names;
OTIMIZANDO CLUSTER
Otimizando Cluster
Desabilitar Swapping
Memória suficiente para o cache do Filesystem
Use compressão [best_compressione];
Faça o merge dos segmentos [Force Merge]
Quando possível, faça Shrink dos índices;
Otimizando Cluster
Tamanho dos Shards/Índices
Modelagem dos documentos;
Não use mapeamento dinâmico para strings;
Use o menor tipo numérico que seja suficiente;
Desabilite as features que vocês não precisa;
Links:
https://medium.com/thiagobarradas
https://github.com/ThiagoBarradas/elasticsearch-docker
https://www.elastic.co/guide/en/elasticsearch/guide/master/scale.html
https://www.elastic.co/guide/en/elasticsearch/reference/master/tune-
for-indexing-speed.html
https://www.elastic.co/guide/en/elasticsearch/reference/master/tune-
for-search-speed.html
https://www.elastic.co/guide/en/elasticsearch/reference/master/tune-
for-disk-usage.hvtml
https://www.elastic.co/guide/en/elasticsearch/reference/current/mappin
g-params.html
Thiago Barradas
tbarradas@mundipagg.com
+55 (21) 99329-9143
Linkedin: thiagobarradas
Obrigado!

Mais conteúdo relacionado

Semelhante a ELASTICSEARCH Capacidade e Desempenho

Aplicando uma Estratégia de Banco de Dados AWS Personalizada: Encontre o Banc...
Aplicando uma Estratégia de Banco de Dados AWS Personalizada: Encontre o Banc...Aplicando uma Estratégia de Banco de Dados AWS Personalizada: Encontre o Banc...
Aplicando uma Estratégia de Banco de Dados AWS Personalizada: Encontre o Banc...Amazon Web Services
 
Path to the Future #1 - Tendências de Big Data
Path to the Future #1 - Tendências de Big DataPath to the Future #1 - Tendências de Big Data
Path to the Future #1 - Tendências de Big DataAmazon Web Services LATAM
 
Os benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWSOs benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWSAmazon Web Services LATAM
 
Entenda como as grandes empresas utilizam múltiplas abordagens de armazenamen...
Entenda como as grandes empresas utilizam múltiplas abordagens de armazenamen...Entenda como as grandes empresas utilizam múltiplas abordagens de armazenamen...
Entenda como as grandes empresas utilizam múltiplas abordagens de armazenamen...Leonardo Roberto Marinho Farias
 
AWS Data Immersion Webinar Week - Planeje e entenda como criar um repositório...
AWS Data Immersion Webinar Week - Planeje e entenda como criar um repositório...AWS Data Immersion Webinar Week - Planeje e entenda como criar um repositório...
AWS Data Immersion Webinar Week - Planeje e entenda como criar um repositório...Amazon Web Services LATAM
 
Stream de dados e Data Lake com Debezium, Delta Lake e EMR
Stream de dados e Data Lake com Debezium, Delta Lake e EMRStream de dados e Data Lake com Debezium, Delta Lake e EMR
Stream de dados e Data Lake com Debezium, Delta Lake e EMRCicero Joasyo Mateus de Moura
 
Construindo um Data Warehouse moderno com Amazon Redshift
Construindo um Data Warehouse moderno com Amazon RedshiftConstruindo um Data Warehouse moderno com Amazon Redshift
Construindo um Data Warehouse moderno com Amazon RedshiftAmazon Web Services LATAM
 
Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...
Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...
Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...Tchelinux
 
TDC2016POA | Trilha PHP - Desenvolvendo um buscador com PHP e Elasticsearch
TDC2016POA | Trilha PHP - Desenvolvendo um buscador com PHP e ElasticsearchTDC2016POA | Trilha PHP - Desenvolvendo um buscador com PHP e Elasticsearch
TDC2016POA | Trilha PHP - Desenvolvendo um buscador com PHP e Elasticsearchtdc-globalcode
 
Analise De Dados Azure ML
Analise De Dados Azure MLAnalise De Dados Azure ML
Analise De Dados Azure MLOrlando Mariano
 
[DTC21] André Marques - Jornada do Engenheiro de Dados
[DTC21] André Marques - Jornada do Engenheiro de Dados[DTC21] André Marques - Jornada do Engenheiro de Dados
[DTC21] André Marques - Jornada do Engenheiro de DadosDeep Tech Brasil
 
Lambda architecture for large data volumes.
Lambda architecture for large data volumes.Lambda architecture for large data volumes.
Lambda architecture for large data volumes.Hugo Rozestraten
 

Semelhante a ELASTICSEARCH Capacidade e Desempenho (20)

Aplicando uma Estratégia de Banco de Dados AWS Personalizada: Encontre o Banc...
Aplicando uma Estratégia de Banco de Dados AWS Personalizada: Encontre o Banc...Aplicando uma Estratégia de Banco de Dados AWS Personalizada: Encontre o Banc...
Aplicando uma Estratégia de Banco de Dados AWS Personalizada: Encontre o Banc...
 
Bancos de dados NoSQL na AWS
Bancos de dados NoSQL na AWSBancos de dados NoSQL na AWS
Bancos de dados NoSQL na AWS
 
Tendências de Big Data
Tendências de Big DataTendências de Big Data
Tendências de Big Data
 
Tendências de Big Data
Tendências de Big DataTendências de Big Data
Tendências de Big Data
 
Tendências de Big Data
Tendências de Big DataTendências de Big Data
Tendências de Big Data
 
Big Data x Data Mining - Hadoop
Big Data x Data Mining - HadoopBig Data x Data Mining - Hadoop
Big Data x Data Mining - Hadoop
 
Path to the Future #1 - Tendências de Big Data
Path to the Future #1 - Tendências de Big DataPath to the Future #1 - Tendências de Big Data
Path to the Future #1 - Tendências de Big Data
 
Os benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWSOs benefícios de migrar seus workloads de Big Data para a AWS
Os benefícios de migrar seus workloads de Big Data para a AWS
 
Entenda como as grandes empresas utilizam múltiplas abordagens de armazenamen...
Entenda como as grandes empresas utilizam múltiplas abordagens de armazenamen...Entenda como as grandes empresas utilizam múltiplas abordagens de armazenamen...
Entenda como as grandes empresas utilizam múltiplas abordagens de armazenamen...
 
Aws summit arquitetura big data-v1.2
Aws summit arquitetura big data-v1.2Aws summit arquitetura big data-v1.2
Aws summit arquitetura big data-v1.2
 
AWS Data Immersion Webinar Week - Planeje e entenda como criar um repositório...
AWS Data Immersion Webinar Week - Planeje e entenda como criar um repositório...AWS Data Immersion Webinar Week - Planeje e entenda como criar um repositório...
AWS Data Immersion Webinar Week - Planeje e entenda como criar um repositório...
 
Stream de dados e Data Lake com Debezium, Delta Lake e EMR
Stream de dados e Data Lake com Debezium, Delta Lake e EMRStream de dados e Data Lake com Debezium, Delta Lake e EMR
Stream de dados e Data Lake com Debezium, Delta Lake e EMR
 
Construindo um Data Warehouse moderno com Amazon Redshift
Construindo um Data Warehouse moderno com Amazon RedshiftConstruindo um Data Warehouse moderno com Amazon Redshift
Construindo um Data Warehouse moderno com Amazon Redshift
 
Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...
Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...
Desenvolvendo um buscador com PHP e Elasticsearch - Fernando Silva - Tchelinu...
 
TDC2016POA | Trilha PHP - Desenvolvendo um buscador com PHP e Elasticsearch
TDC2016POA | Trilha PHP - Desenvolvendo um buscador com PHP e ElasticsearchTDC2016POA | Trilha PHP - Desenvolvendo um buscador com PHP e Elasticsearch
TDC2016POA | Trilha PHP - Desenvolvendo um buscador com PHP e Elasticsearch
 
Analise De Dados Azure ML
Analise De Dados Azure MLAnalise De Dados Azure ML
Analise De Dados Azure ML
 
#1 Introdução ao MongoDB
#1   Introdução ao MongoDB#1   Introdução ao MongoDB
#1 Introdução ao MongoDB
 
[DTC21] André Marques - Jornada do Engenheiro de Dados
[DTC21] André Marques - Jornada do Engenheiro de Dados[DTC21] André Marques - Jornada do Engenheiro de Dados
[DTC21] André Marques - Jornada do Engenheiro de Dados
 
Big Data na Nuvem
Big Data na NuvemBig Data na Nuvem
Big Data na Nuvem
 
Lambda architecture for large data volumes.
Lambda architecture for large data volumes.Lambda architecture for large data volumes.
Lambda architecture for large data volumes.
 

Mais de Thiago Barradas

Elasticsearch - O motor de busca que está mudando o mercado! @ PHPeste 2019
Elasticsearch - O motor de busca que está mudando o mercado! @ PHPeste 2019Elasticsearch - O motor de busca que está mudando o mercado! @ PHPeste 2019
Elasticsearch - O motor de busca que está mudando o mercado! @ PHPeste 2019Thiago Barradas
 
Criando componentes e disponibilizando o como opensource em 5 minutos em .NET
Criando componentes e disponibilizando o como opensource em 5 minutos em .NETCriando componentes e disponibilizando o como opensource em 5 minutos em .NET
Criando componentes e disponibilizando o como opensource em 5 minutos em .NETThiago Barradas
 
Codacy, CodeClimate, Sonarqube @ 5º DevOps Inside RJ
Codacy, CodeClimate, Sonarqube @ 5º DevOps Inside RJCodacy, CodeClimate, Sonarqube @ 5º DevOps Inside RJ
Codacy, CodeClimate, Sonarqube @ 5º DevOps Inside RJThiago Barradas
 
Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...
Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...
Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...Thiago Barradas
 
Clean Code: Por um mundo com códigos melhores - SETI 2017
Clean Code: Por um mundo com códigos melhores - SETI 2017Clean Code: Por um mundo com códigos melhores - SETI 2017
Clean Code: Por um mundo com códigos melhores - SETI 2017Thiago Barradas
 
Palestra Elasticsearch - The Developers Conference - São Paulo - 2017
Palestra Elasticsearch - The Developers Conference - São Paulo - 2017Palestra Elasticsearch - The Developers Conference - São Paulo - 2017
Palestra Elasticsearch - The Developers Conference - São Paulo - 2017Thiago Barradas
 
Palestra Elasticsearch - The Developers Conference - Floripa - 2017
Palestra Elasticsearch - The Developers Conference - Floripa - 2017Palestra Elasticsearch - The Developers Conference - Floripa - 2017
Palestra Elasticsearch - The Developers Conference - Floripa - 2017Thiago Barradas
 
Workshop Elasticsearch - Android Dev Conference 2016
Workshop Elasticsearch - Android Dev Conference 2016Workshop Elasticsearch - Android Dev Conference 2016
Workshop Elasticsearch - Android Dev Conference 2016Thiago Barradas
 

Mais de Thiago Barradas (8)

Elasticsearch - O motor de busca que está mudando o mercado! @ PHPeste 2019
Elasticsearch - O motor de busca que está mudando o mercado! @ PHPeste 2019Elasticsearch - O motor de busca que está mudando o mercado! @ PHPeste 2019
Elasticsearch - O motor de busca que está mudando o mercado! @ PHPeste 2019
 
Criando componentes e disponibilizando o como opensource em 5 minutos em .NET
Criando componentes e disponibilizando o como opensource em 5 minutos em .NETCriando componentes e disponibilizando o como opensource em 5 minutos em .NET
Criando componentes e disponibilizando o como opensource em 5 minutos em .NET
 
Codacy, CodeClimate, Sonarqube @ 5º DevOps Inside RJ
Codacy, CodeClimate, Sonarqube @ 5º DevOps Inside RJCodacy, CodeClimate, Sonarqube @ 5º DevOps Inside RJ
Codacy, CodeClimate, Sonarqube @ 5º DevOps Inside RJ
 
Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...
Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...
Clean Code: Por um mundo com códigos melhores - The Developers Conference - P...
 
Clean Code: Por um mundo com códigos melhores - SETI 2017
Clean Code: Por um mundo com códigos melhores - SETI 2017Clean Code: Por um mundo com códigos melhores - SETI 2017
Clean Code: Por um mundo com códigos melhores - SETI 2017
 
Palestra Elasticsearch - The Developers Conference - São Paulo - 2017
Palestra Elasticsearch - The Developers Conference - São Paulo - 2017Palestra Elasticsearch - The Developers Conference - São Paulo - 2017
Palestra Elasticsearch - The Developers Conference - São Paulo - 2017
 
Palestra Elasticsearch - The Developers Conference - Floripa - 2017
Palestra Elasticsearch - The Developers Conference - Floripa - 2017Palestra Elasticsearch - The Developers Conference - Floripa - 2017
Palestra Elasticsearch - The Developers Conference - Floripa - 2017
 
Workshop Elasticsearch - Android Dev Conference 2016
Workshop Elasticsearch - Android Dev Conference 2016Workshop Elasticsearch - Android Dev Conference 2016
Workshop Elasticsearch - Android Dev Conference 2016
 

ELASTICSEARCH Capacidade e Desempenho

Notas do Editor

  1. Pode ser o mesmo cluster ou não, o importante é mapear um por vez
  2. Agrupado pelo mesmo número de shards mas não tem padrão no nome