Slides da Palestra apresentada na Trilha Banco de Dados do The Developers Conference 2016 - São Paulo.
A palestra aborda os principais conceitos sobre Time series database (TSDB), e demonstra como utilizar a stack TICK (Telegraf, InfluxDb, Conograph, Kapacitor) da InfluxData para resolver problemas de monitoria de dados em grande escala, gerando gráficos e alertas em tempo real.
3. Globalcode – Open4education
1 ano e 3 meses :)
+ de 26 mil usuários
+ de 23 mil sites hospedados
+ de 20 mil contas de e-mail
+ de 3 mil servidores liberados
+ de 15 mil bancos de dados criados
Previsão para o próximo ano é de triplicar esses
valores.
16. Globalcode – Open4education
E quais as vantagens
mesmo?
• Alta performance
• Banco dedicado a resolver um único problema
• Facilidade para agregação de dados
• Rotatividade dos dados
20. Globalcode – Open4education
● Fundada em 2012.
● Desde 2015 possui sua própria stack para
suporte ao InfluxDB, ela se chama TICK.
● Produtos OpenSource e gratuitos.
● Comunidade aquecida e suportada pela
própria empresa.
● Seus produtos estão na versão 0.13.
Paul Dix
21. Globalcode – Open4education
Principais características
● Alta performance para gravação de dados.
● Escrita e leituras realizadas através de uma HTTP API.
● Linguagem de consulta (InfluxQL) parecida com SQL.
● Tags, permitem indexação de séries para consultas
rápidas e eficientes.
● Políticas de retenção e consultas contínuas.
● Bibliotecas de client desenvolvidas para as principais
linguagens.
● Interface de administração web.
22. Globalcode – Open4education
Comparação com SQL
• Measurements = Tabelas
• Tags = Colunas indexadas no SQL
• Fields = Colunas não indexadas no SQL
• Points = Rows no SQL
O Resto é basicamente tudo igual..
ex: CREATE DATABASE teste
23. Globalcode – Open4education
Escrevendo no InfluxDB
curl -i -XPOST
'http://localhost:8086/write?db=mydb'
--data-binary 'cpu,host=server01 value=9.64 143405556200’
URL da HTTP API de escrita + nome do banco.
24. Globalcode – Open4education
Escrevendo no InfluxDB
curl -i -XPOST
'http://localhost:8086/write?db=mydb'
--data-binary 'cpu,host=server01 value=9.64 14340555620’
cpu = measurement
25. Globalcode – Open4education
Escrevendo no InfluxDB
curl -i -XPOST
'http://localhost:8086/write?db=mydb'
--data-binary 'cpu,host=server01 value=9.64 14340555620’
host = tag
server01 = valor da tag
26. Globalcode – Open4education
Escrevendo no InfluxDB
curl -i -XPOST
'http://localhost:8086/write?db=mydb'
--data-binary 'cpu,host=server01 value=9.64 143405556200’
value = field
9.64 = valor da medição
27. Globalcode – Open4education
Escrevendo no InfluxDB
curl -i -XPOST
'http://localhost:8086/write?db=mydb'
--data-binary 'cpu,host=server01 value=9.64 143405556200’
Data e hora em formato Epoch Time
29. Globalcode – Open4education
Consultando no InfluxDb
curl -GET
'http://localhost:8086/query?pretty=true'
--data-urlencode "db=mydb"
--data-urlencode "q=SELECT value FROM cpu WHERE
host='server01'"
33. Globalcode – Open4education
Schema Exploration
• SHOW DATABASES
• SHOW RETENTION POLICIES
• SHOW SERIES
• SHOW MEASUREMENTS
• SHOW TAG KEYS
• SHOW TAG VALUES
• SHOW FIELD KEYS
35. Globalcode – Open4education
Continuous Queries
CREATE CONTINUOUS QUERY "cpu_10min"
ON mydb
BEGIN
SELECT mean(value)
INTO media_cpu_10_min
FROM cpu
GROUP BY time(10m)
END;
39. Globalcode – Open4education
Telegraf
• + 50 plugins de input
ex: Docker, Linux, Redis, Apache, PHP-FPM, Windows e etc.
• + 15 plugins de output
ex: InfluxDB, Datadog, File, OpenTSDB, Prometheus e etc.
42. Globalcode – Open4education
Kapacitor
Kapacitor é uma estrutura de processamento de
dados Open Source que facilita a criação de alertas
sobre estruturas de dados temporais e detecção de
anomalias.
45. Globalcode – Open4education
Mais informações
Documentação e Slack da InfluxData:
https://docs.influxdata.com/
https://gophers.slack.com/messages/influxdb/