SlideShare una empresa de Scribd logo
1 de 42
Descargar para leer sin conexión
♥
⚫ É um motor de buscas distribuído;
⚫ Alta disponibilidade;
⚫ Facilmente escalável;
⚫ Desenvolvido em Java;
⚫ Baseado no Apache Lucene;
⚫ Open Source;
⚫ Comunicação API Rest (Json/HTTP);
⚫ Armazenamento de Documentos;
⚫ SDK para diversas linguagens;
⚫ Recuperação rápida de documentos;
⚫ Análise de Logs;
⚫ Buscas full-text / geolocation;
⚫ Aggregations & Analytics;
⚫ Alerta e Classificação;
⚫ Score Functions;
⚫ Autocomplete e highlight;
⚫ Documentação bem completa;
⚫ Curva de aprendizado fácil;
⚫ É armazenado sob um Id único;
⚫ Documentos são objetos Json;
⚫ Tipos de Dados:
⚫ String (text / keyword);
⚫ Number;
⚫ Geopoint;
⚫ Geoshape;
⚫ Bool;
⚫ Date;
⚫ Ipv4;
⚫ Array;
⚫ Object;
⚫ Um índice é um container de dados. Cada nó pode hospedar diversos índices;
⚫ Um tipo representa uma classe de documentos semelhantes, mesma estrutura;
⚫ Um tipo possui seus campos definidos e seus campos possuem tokens (índices)
que fazem referência ao documento;
Analogia com banco relacional para facilitar o entendimento:
⚫ Cluster é um conjunto de nós trabalhando juntos;
⚫ Todos os nós se comunicam entre si;
⚫ Shard é um “pedaço” único de um índice, que pode estar em quaquer nó;
⚫ Um shard também pode (e deve) possuir réplicas espalhadas em outros nós;
⚫ É o processo de definição de como um documento
e seus campos são armazenados e indexados;
⚫ Define os tipos de dados dos campos (text,
keyword, date, integer, etc);
⚫ É possível definir o tipo da string entre text
(analisável) e keyword (não-analisável);
⚫ Permite a criação de sub campos;
⚫ Permite a definição de templates para campos
adicionados dinamicamente;
⚫ São responsáveis por tratar os dados e
gerar os índices associados a eles;
⚫ O dado é quebrado em diversos tokens a
partir dos Tokenizers e Token Filters;
⚫ Os tokens são normalizados;
⚫ Esse processo é aplicado tanto na
indexação dos documentos quanto na
busca;
⚫ Existem diversos tipos de analisadores,
para idiomas específicos, etc, e com
possibilidade de customização;
⚫ Projetado para permitir uma busca full-text
extremamente rápida;
⚫ Consiste em uma lista única com todas as palavras que
aparecem nos documentos e para cada palavra uma
lista de documentos que ela aparece;
Exemplo:
⚫ The quick brown fox jumped over the lazy dog
⚫ Quick brown foxes leap over lazy dogs in summer
Exemplo:
⚫ The quick brown fox jumped over the lazy dog
⚫ Quick brown foxes leap over lazy dogs in summer
Uma busca por “quick brown”
Normalização
PUT /_snapshot/meu_repo
{
"type":"fs",
"settings": {
"location":"C:es-bkp"
}
}
CRIAR REPOSITÓRIO
PUT /_snapshot/meu_repo/meu_snap
CRIAR SNAPSHOT
GET /_snapshot/meu_repo/_all
LISTAR SNAPSHOTS
POST /_snapshot/meu_repo/meu_snap/_restore
RESTAURAR SNAPSHOT
“Collect, Enrich & Data Transport”
⚫ Processa quaisquer dado, de diversas fontes;
⚫ Centralizar o processamento de dados de todos os tipos;
⚫ Normalizar variando esquema e formatos;
⚫ Customização rápida para formatos de log;
⚫ Permite facilmente adicionar plugins para fontes de dados personalizados;
“Lightweight Data Shippers”
⚫ Carrega dados com um único propósito;
⚫ Agentes leves para tarefas específicas;
⚫ Alta capacidade de processamento e carga;
⚫ Customização rápida para formatos de log;
⚫ Arquivos de log, métricas, dados da rede, registros de eventos do windows,
monitoramento de tempo de atividade;
“Explore & Visualize Your Data”
⚫ Dashboard para visualização de dados;
⚫ Flexibilidade de análise e plataforma para visualização;
⚫ Resumo em real-time e gráficos de streaming de dados;
⚫ Interface intuitiva para uma variedade de usuários;
⚫ Compartilhamento instantâneo e incorporação de dashboards;
Kibana
“One Pack. Loads of Possibilities”
⚫ Segurança;
⚫ Alerta e notificação;
⚫ Monitoramento;
⚫ Relatórios;
⚫ Grafos;
⚫ Machine Learning;
“Alerting for Elasticsearch”
⚫ Alerta e notificação;
⚫ Analisar histórico de eventos e dados;
⚫ Definição de condições, cronograma, ações;
⚫ Integração com diversas ferramentas como JIRA, HipChat e Slack;
“Security for Elasticsearch”
⚫ Provedor de segurança avançada ao seu cluster;
⚫ Acesso autenticado para diversos usuários;
⚫ Recursos avançados de criptografia;
⚫ Acesso com base em funções/permissões, IP;
⚫ Pode ser integrado ao AD /LDAP;
⚫ Logs de auditoria com acessos e sessões (HIPAA, PCI DSS, FISMA, ISO);
www.elastic.co
discuss.elastic.co
Elasticsearch: Busca Distribuída e Análise de Dados
Elasticsearch: Busca Distribuída e Análise de Dados
Elasticsearch: Busca Distribuída e Análise de Dados
Elasticsearch: Busca Distribuída e Análise de Dados
Elasticsearch: Busca Distribuída e Análise de Dados
Elasticsearch: Busca Distribuída e Análise de Dados
Elasticsearch: Busca Distribuída e Análise de Dados

Más contenido relacionado

Similar a Elasticsearch: Busca Distribuída e Análise de Dados

Conceitos básicos de Xml
Conceitos básicos de XmlConceitos básicos de Xml
Conceitos básicos de XmlEliseu Egewarth
 
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDA
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDAOficina técnica da Infraestrutura Nacional de Dados Abertos - INDA
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDAnitaibezerra
 
TDC2017 - Misturando dados com Pentaho para insights mais significativos
TDC2017 - Misturando dados com Pentaho para insights mais significativosTDC2017 - Misturando dados com Pentaho para insights mais significativos
TDC2017 - Misturando dados com Pentaho para insights mais significativosAmbiente Livre
 
MongoDB: Uma forma diferente de pensar no desenvolvimento
MongoDB: Uma forma diferente de pensar no desenvolvimento MongoDB: Uma forma diferente de pensar no desenvolvimento
MongoDB: Uma forma diferente de pensar no desenvolvimento Marcos Thomaz
 
pgModeler: muito mais que um modelador de bancos de dados PostgreSQL
pgModeler: muito mais que um modelador de bancos de dados PostgreSQLpgModeler: muito mais que um modelador de bancos de dados PostgreSQL
pgModeler: muito mais que um modelador de bancos de dados PostgreSQLRaphael Silva
 
[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data
[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data
[DTC21] Lucas Gomes - Do 0 ao 100 no Big DataDeep Tech Brasil
 
Introdução ao JPA com Hibernate
Introdução ao JPA com HibernateIntrodução ao JPA com Hibernate
Introdução ao JPA com HibernateDanilo Braga
 
Introdução ao JPA com Hibernate
Introdução ao JPA com HibernateIntrodução ao JPA com Hibernate
Introdução ao JPA com HibernateDanilo Braga
 
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
 
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
 
Propostas de atendimento aos cartórios de Registro de Imóveis - Desenvolvedor...
Propostas de atendimento aos cartórios de Registro de Imóveis - Desenvolvedor...Propostas de atendimento aos cartórios de Registro de Imóveis - Desenvolvedor...
Propostas de atendimento aos cartórios de Registro de Imóveis - Desenvolvedor...IRIB
 

Similar a Elasticsearch: Busca Distribuída e Análise de Dados (20)

Conceitos básicos de Xml
Conceitos básicos de XmlConceitos básicos de Xml
Conceitos básicos de Xml
 
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDA
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDAOficina técnica da Infraestrutura Nacional de Dados Abertos - INDA
Oficina técnica da Infraestrutura Nacional de Dados Abertos - INDA
 
Postgresql +python
Postgresql +pythonPostgresql +python
Postgresql +python
 
Postgre sql +python
Postgre sql +pythonPostgre sql +python
Postgre sql +python
 
TDC2017 - Misturando dados com Pentaho para insights mais significativos
TDC2017 - Misturando dados com Pentaho para insights mais significativosTDC2017 - Misturando dados com Pentaho para insights mais significativos
TDC2017 - Misturando dados com Pentaho para insights mais significativos
 
MongoDB: Uma forma diferente de pensar no desenvolvimento
MongoDB: Uma forma diferente de pensar no desenvolvimento MongoDB: Uma forma diferente de pensar no desenvolvimento
MongoDB: Uma forma diferente de pensar no desenvolvimento
 
pgModeler: muito mais que um modelador de bancos de dados PostgreSQL
pgModeler: muito mais que um modelador de bancos de dados PostgreSQLpgModeler: muito mais que um modelador de bancos de dados PostgreSQL
pgModeler: muito mais que um modelador de bancos de dados PostgreSQL
 
[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data
[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data
[DTC21] Lucas Gomes - Do 0 ao 100 no Big Data
 
Elasticsearch
ElasticsearchElasticsearch
Elasticsearch
 
Parte5 xml
Parte5 xmlParte5 xml
Parte5 xml
 
Introdução ao JPA com Hibernate
Introdução ao JPA com HibernateIntrodução ao JPA com Hibernate
Introdução ao JPA com Hibernate
 
Introdução ao JPA com Hibernate
Introdução ao JPA com HibernateIntrodução ao JPA com Hibernate
Introdução ao JPA com Hibernate
 
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
 
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...
 
Construindo um data lake na nuvem aws
Construindo um data lake na nuvem awsConstruindo um data lake na nuvem aws
Construindo um data lake na nuvem aws
 
Propostas de atendimento aos cartórios de Registro de Imóveis - Desenvolvedor...
Propostas de atendimento aos cartórios de Registro de Imóveis - Desenvolvedor...Propostas de atendimento aos cartórios de Registro de Imóveis - Desenvolvedor...
Propostas de atendimento aos cartórios de Registro de Imóveis - Desenvolvedor...
 
Metadados: dados a respeito de dados
Metadados: dados a respeito de dadosMetadados: dados a respeito de dados
Metadados: dados a respeito de dados
 
Palestra Introdução a Linked Data
Palestra Introdução a Linked DataPalestra Introdução a Linked Data
Palestra Introdução a Linked Data
 
TA1 - Slides Acessibilidade.pdf
TA1 - Slides Acessibilidade.pdfTA1 - Slides Acessibilidade.pdf
TA1 - Slides Acessibilidade.pdf
 
Big data Workshop
Big data WorkshopBig data Workshop
Big data Workshop
 

Más de Thiago Barradas

Capacity planning - Projetando o seu cluster de Elasticsearch
Capacity planning - Projetando o seu cluster de ElasticsearchCapacity planning - Projetando o seu cluster de Elasticsearch
Capacity planning - Projetando o seu cluster de ElasticsearchThiago 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 - Floripa - 2017
Palestra Elasticsearch - The Developers Conference - Floripa - 2017Palestra Elasticsearch - The Developers Conference - Floripa - 2017
Palestra Elasticsearch - The Developers Conference - Floripa - 2017Thiago Barradas
 

Más de Thiago Barradas (6)

Capacity planning - Projetando o seu cluster de Elasticsearch
Capacity planning - Projetando o seu cluster de ElasticsearchCapacity planning - Projetando o seu cluster de Elasticsearch
Capacity planning - Projetando o seu cluster de Elasticsearch
 
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 - Floripa - 2017
Palestra Elasticsearch - The Developers Conference - Floripa - 2017Palestra Elasticsearch - The Developers Conference - Floripa - 2017
Palestra Elasticsearch - The Developers Conference - Floripa - 2017
 

Elasticsearch: Busca Distribuída e Análise de Dados

  • 1.
  • 2.
  • 3.
  • 4. ⚫ É um motor de buscas distribuído; ⚫ Alta disponibilidade; ⚫ Facilmente escalável; ⚫ Desenvolvido em Java; ⚫ Baseado no Apache Lucene; ⚫ Open Source; ⚫ Comunicação API Rest (Json/HTTP); ⚫ Armazenamento de Documentos; ⚫ SDK para diversas linguagens;
  • 5. ⚫ Recuperação rápida de documentos; ⚫ Análise de Logs; ⚫ Buscas full-text / geolocation; ⚫ Aggregations & Analytics; ⚫ Alerta e Classificação; ⚫ Score Functions; ⚫ Autocomplete e highlight; ⚫ Documentação bem completa; ⚫ Curva de aprendizado fácil;
  • 6.
  • 7. ⚫ É armazenado sob um Id único; ⚫ Documentos são objetos Json; ⚫ Tipos de Dados: ⚫ String (text / keyword); ⚫ Number; ⚫ Geopoint; ⚫ Geoshape; ⚫ Bool; ⚫ Date; ⚫ Ipv4; ⚫ Array; ⚫ Object;
  • 8. ⚫ Um índice é um container de dados. Cada nó pode hospedar diversos índices; ⚫ Um tipo representa uma classe de documentos semelhantes, mesma estrutura; ⚫ Um tipo possui seus campos definidos e seus campos possuem tokens (índices) que fazem referência ao documento; Analogia com banco relacional para facilitar o entendimento:
  • 9. ⚫ Cluster é um conjunto de nós trabalhando juntos; ⚫ Todos os nós se comunicam entre si; ⚫ Shard é um “pedaço” único de um índice, que pode estar em quaquer nó; ⚫ Um shard também pode (e deve) possuir réplicas espalhadas em outros nós;
  • 10. ⚫ É o processo de definição de como um documento e seus campos são armazenados e indexados; ⚫ Define os tipos de dados dos campos (text, keyword, date, integer, etc); ⚫ É possível definir o tipo da string entre text (analisável) e keyword (não-analisável); ⚫ Permite a criação de sub campos; ⚫ Permite a definição de templates para campos adicionados dinamicamente;
  • 11. ⚫ São responsáveis por tratar os dados e gerar os índices associados a eles; ⚫ O dado é quebrado em diversos tokens a partir dos Tokenizers e Token Filters; ⚫ Os tokens são normalizados; ⚫ Esse processo é aplicado tanto na indexação dos documentos quanto na busca; ⚫ Existem diversos tipos de analisadores, para idiomas específicos, etc, e com possibilidade de customização;
  • 12. ⚫ Projetado para permitir uma busca full-text extremamente rápida; ⚫ Consiste em uma lista única com todas as palavras que aparecem nos documentos e para cada palavra uma lista de documentos que ela aparece; Exemplo: ⚫ The quick brown fox jumped over the lazy dog ⚫ Quick brown foxes leap over lazy dogs in summer
  • 13. Exemplo: ⚫ The quick brown fox jumped over the lazy dog ⚫ Quick brown foxes leap over lazy dogs in summer Uma busca por “quick brown”
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23. PUT /_snapshot/meu_repo { "type":"fs", "settings": { "location":"C:es-bkp" } } CRIAR REPOSITÓRIO PUT /_snapshot/meu_repo/meu_snap CRIAR SNAPSHOT GET /_snapshot/meu_repo/_all LISTAR SNAPSHOTS POST /_snapshot/meu_repo/meu_snap/_restore RESTAURAR SNAPSHOT
  • 24.
  • 25. “Collect, Enrich & Data Transport” ⚫ Processa quaisquer dado, de diversas fontes; ⚫ Centralizar o processamento de dados de todos os tipos; ⚫ Normalizar variando esquema e formatos; ⚫ Customização rápida para formatos de log; ⚫ Permite facilmente adicionar plugins para fontes de dados personalizados;
  • 26. “Lightweight Data Shippers” ⚫ Carrega dados com um único propósito; ⚫ Agentes leves para tarefas específicas; ⚫ Alta capacidade de processamento e carga; ⚫ Customização rápida para formatos de log; ⚫ Arquivos de log, métricas, dados da rede, registros de eventos do windows, monitoramento de tempo de atividade;
  • 27. “Explore & Visualize Your Data” ⚫ Dashboard para visualização de dados; ⚫ Flexibilidade de análise e plataforma para visualização; ⚫ Resumo em real-time e gráficos de streaming de dados; ⚫ Interface intuitiva para uma variedade de usuários; ⚫ Compartilhamento instantâneo e incorporação de dashboards;
  • 29. “One Pack. Loads of Possibilities” ⚫ Segurança; ⚫ Alerta e notificação; ⚫ Monitoramento; ⚫ Relatórios; ⚫ Grafos; ⚫ Machine Learning;
  • 30. “Alerting for Elasticsearch” ⚫ Alerta e notificação; ⚫ Analisar histórico de eventos e dados; ⚫ Definição de condições, cronograma, ações; ⚫ Integração com diversas ferramentas como JIRA, HipChat e Slack;
  • 31. “Security for Elasticsearch” ⚫ Provedor de segurança avançada ao seu cluster; ⚫ Acesso autenticado para diversos usuários; ⚫ Recursos avançados de criptografia; ⚫ Acesso com base em funções/permissões, IP; ⚫ Pode ser integrado ao AD /LDAP; ⚫ Logs de auditoria com acessos e sessões (HIPAA, PCI DSS, FISMA, ISO);
  • 32.
  • 33.