Curso InfluxDB Programming

  • DevOps | CI | CD | Kubernetes | Web3

Curso InfluxDB Programming

16 horas
Visão Geral

InfluxDB é um serviço de apoio para dados de série temporal que está se tornando cada vez mais popular. Errplane introduziu o InfluxDB em 2013 como um serviço de apoio para monitoramento e alertas de desempenho. Em pouco tempo, o InfluxDB se tornou um serviço de apoio amplamente utilizado para Internet das Coisas (IOT), DevOps e aplicativos de análise e aprendizado de máquina em tempo real para ingestão, análise e visualização de dados de séries temporais. Errplane tornou-se InfluxData em [..]

InfluxDB é um sistema de gerenciamento de banco de dados de séries temporais (TSDB) de código aberto. Ele é projetado especificamente para armazenar, consultar e visualizar dados de séries temporais, que são dados organizados em função do tempo. Esse tipo de banco de dados é especialmente útil para coletar e analisar dados que são gerados ao longo do tempo e precisam ser armazenados de forma eficiente para permitir consultas rápidas e análises.

Aqui estão algumas características importantes do InfluxDB:

  • Séries Temporais: O InfluxDB é otimizado para lidar com dados de séries temporais, como leituras de sensores, métricas de desempenho de servidores, registros de eventos e muito mais. Ele armazena esses dados de maneira eficiente e permite consultas rápidas para recuperar informações específicas ao longo do tempo.
  • Arquitetura Distribuída: O InfluxDB suporta uma arquitetura distribuída, o que significa que você pode dimensioná-lo horizontalmente para lidar com grandes volumes de dados e garantir alta disponibilidade.
  • Consultas SQL-Like: O InfluxDB oferece uma linguagem de consulta semelhante ao SQL, chamada InfluxQL, que permite que os usuários recuperem dados de maneira flexível, apliquem filtros de tempo e realizem agregações.
  • Retenção de Dados Personalizável: Os usuários podem configurar políticas de retenção de dados para especificar por quanto tempo os dados são mantidos no banco de dados. Isso é útil para gerenciar o armazenamento de dados antigos.
  • Integração com Ferramentas de Visualização: O InfluxDB é frequentemente usado em conjunto com ferramentas de visualização de dados, como Grafana, para criar painéis e gráficos interativos com base em dados de séries temporais.
  • Comunidade Ativa e Suporte: InfluxDB é mantido por uma comunidade ativa de desenvolvedores de código aberto e é amplamente adotado em várias aplicações, incluindo monitoramento de sistemas, análise de IoT (Internet das Coisas) e muito mais.

O InfluxDB é uma escolha popular para organizações que precisam armazenar e analisar grandes volumes de dados de séries temporais de maneira eficiente e escalável. É uma das várias opções disponíveis para gerenciamento de dados de séries temporais, competindo com outros bancos de dados especializados nesse tipo de dado.

Objetivo

Após realizar este Curso InfluxDB Programming, você será capaz de:

Ao final do Curso InfluxDB Programming  você estará familiarizado com a interação com o InfluxDB com múltiplas linguagens de programação e IFQL (InfluxDB Query Language). Este curso também inclui uma compreensão de como aproveitar o modelo de dados InfluxDB para projetar aplicativos eficientes e eficazes que consomem e processam dados de série temporal. Laboratórios práticos sobre como criar, escrever, ler e processar armazenamentos de dados InfluxDB via IFQL e aplicar programaticamente os conceitos discutidos. As discussões sobre modelagem de dados se concentram em como determinar seu esquema de tags, campos e organização de dados.

Publico Alvo

O público é qualquer pessoa com um conhecimento básico de conceitos de programação e do uso de serviços de apoio. Não é necessária experiência anterior com InfluxDB.

O curso InfluxDB pode ser adequado para um público diversificado, dependendo do foco e da profundidade do curso. No entanto, aqui estão alguns públicos-alvo que geralmente se beneficiariam com a aprendizagem do InfluxDB:

  • Engenheiros de Dados: Engenheiros de dados que precisam lidar com a ingestão, armazenamento e análise de dados de séries temporais em seus projetos, especialmente se estão trabalhando em aplicações que envolvem IoT, monitoramento de sistemas ou análise de desempenho.
  • Analistas de Dados: Analistas de dados que desejam adquirir habilidades na manipulação e análise de dados de séries temporais, que são comuns em áreas como análise de mercado, finanças e monitoramento de sistemas.
  • Desenvolvedores de Software: Desenvolvedores de software que desejam integrar o InfluxDB em suas aplicações para armazenar, recuperar e analisar dados de séries temporais.
  • Administradores de Sistemas: Administradores de sistemas que estão envolvidos em monitoramento e desejam usar o InfluxDB como parte de suas soluções de monitoramento e análise de dados de sistema.
  • Profissionais de IoT: Profissionais que trabalham com dispositivos e sensores IoT e desejam armazenar e analisar os dados coletados por esses dispositivos.
  • Profissionais de Segurança de TI: Profissionais de segurança de TI que desejam monitorar e analisar registros de segurança em tempo real.
  • Profissionais de DevOps: Profissionais de DevOps que desejam usar o InfluxDB para coletar métricas e registros de sistemas para monitoramento e solução de problemas.
  • Estudantes e Entusiastas de Tecnologia: Estudantes de ciência da computação, sistemas de informação e entusiastas de tecnologia que desejam aprender sobre bancos de dados de séries temporais e suas aplicações.
Materiais
Português/Inglês + Exercícios + Lab Pratico
Conteúdo Programatico

Introduction to Time Series Data

  1. What is time series data?
  2. How do we get started?
  3. CAP Theorem
  4. Eventual consistency
  5. Durability
  6. Scalability
  7. Cardinality
  8. Timestamps
  9. Total Cost of Data Ownership (TCDO)

Use cases for TSDB and InfluxDB

  1. Monitoring
  2. IoT
  3. Fraud analysis
  4. Event handling
  5. DevOps

Introduction to InfluxDB

  1. Measurements
  2. Tags
  3. Fields
  4. Shards
  5. Indices
  6. Retention policies
  7. Tag sets
  8. Databases

Architecture

Getting started with InfluxDB

  1. Quickstart
  2. TICK
  3. Local Sandbox

Schema design with InfluxDB

  1. Schema design (tags, fields, sets, indices)
  2. Data model
  3. Schema optimization
  4. Query optimization
  5. Understanding retention policy
  6. What are shard groups?
  7. Importing data int InfluxDB

Introduction to IFQL

  1. What is IFQL
  2. Query
  3. Statement
  4. Database vs Table
  5. Accepts
  6. Arguments
  7. Examples

API Basics

  1. Batching
  2. Points
  3. Line protocol
  4. Writing data
  5. Results
  6. Queries

Initial InfluxDB programming with Node.js

  1. Using influx in Node
  2. Database connections
  3. First query
  4. Simple processing

Performance considerations

  1. Load levels
  2. Query throughput
  3. Write thoughput
  4. Clustering data
  5. Cardinality
  6. Tags and Fields revisited
  7. Compaction
  8. Hot shard
  9. MGPACK vs JSON

Creating an InfluxDB application with Java

  1. Using influx in Java
  2. Database connections
  3. Queries
  4. Processing
  5. Batching data

Grafana and InfluxDB

  1. Use case
  2. Data source plugin
  3. Annotations
  4. Query editor
  5. Templating

Creating an InfluxDB application with Ruby

  1. Using influx in Ruby
  2. Database connections
  3. Queries
  4. Processing
  5. Time precision
  6. Multi-point batch
  7. Writing to specific database/file/shard

E2E Python and InfluxDB

  1. Using influx in Python
  2. Database connections
  3. Queries
  4. Processing
  5. Data Frames
  6. Python Data Analysis Library (pandas)

Advanced InfluxDB concepts

  1. Replication
  2. Tuning retention
  3. Using clusters
  4. WAL
  5. TSM
  6. Pong

InfluxDB Best Practices

  1. Monitoring
  2. Operationalize
  3. Development
  4. Cluster basics
TENHO INTERESSE

Cursos Relacionados

Curso Ansible Red Hat Basics Automation Technical Foundation

16 horas

Curso Terraform Deploying to Oracle Cloud Infrastructure

24 Horas

Curso Ansible Linux Automation with Ansible

24 horas

Ansible Overview of Ansible architecture

16h

Advanced Automation: Ansible Best Practices

32h