Course #:TP2796

Programming InfluxDB Kickstart Training

InfluxDB is a backing service for time series data that is becoming increasingly popular.  Errplane introduced InfluxDB in 2013 as a backing service for performance monitoring and alerting.  In a short time, InfluxDB has become a widely used backing service for Internet of Things, DevOps, and real-time Analytics & Machine Learning applications for time-series data ingestion, analysis and visualization. Errplane became InfluxData in 2015.  InfluxData provides open source and commercialized versions of InfluxDB, as one of the leading time series platform to instrument, observe, learn and automate any system, application and business process across a variety of use cases. This is a hands-on course for building software solutions using InfluxDB. Learn the fundamentals required to implement complex and sophisticated applications that leverage the unique capabilities of InfluxDB.

Objectives

At the end of this class, you will be familiar with interacting with InfluxDB with multiple programming languages and IFQL (InfluxDB Query Language).   This course also includes an understanding of how to leverage the InfluxDB data model for design of efficient and effective applications consuming and processing time series data.  Hands-on labs in  creating, writing, reading, and processing InfluxDB data stores  via IFQL and programmatically enforce the concepts discussed. Data modeling discussions focus on how to determine your schema of tags, fields, and data organization.

Audience

The audience is anyone with a basic understanding of programming concepts, and the use of backing services. Previous experience with InfluxDB is not required.

This class is available for a variety of platforms:  Windows, Linux, or MacOs.  In addition, students can use their preferred integrated development environment for the development.

Duration

Two days.

Outline of Programming InfluxDB Kickstart Training

Chapter 1. Introduction to Time Series Data

What is time series data?
How do we get started?
CAP Theorem
Eventual consistency
Durability
Scalability
Cardinality
Timestamps
Total Cost of Data Ownership (TCDO)

Chapter 2. Use cases for TSDB and InfluxDB

Monitoring
IoT
Fraud analysis
Event handling
DevOps

Chapter 3. Introduction to InfluxDB

Measurements
Tags
Fields
Shards
Indices
Retention policies
Tag sets
Databases

Architecture

Chapter 4. Getting started with InfluxDB

Quickstart
TICK
Local Sandbox

Chapter 5. Schema design with InfluxDB

Schema design (tags, fields, sets, indices)
Data model
Schema optimization
Query optimization
Understanding retention policy
What are shard groups?
Importing data int InfluxDB

Chapter 6. Introduction to IFQL

What is IFQL
Query
Statement
Database vs Table
Accepts
Arguments
Examples

Chapter 7. API Basics

Batching
Points
Line protocol
Writing data
Results
Queries

Chapter 8. Initial InfluxDB programming with Node.js

Using influx in Node
Database connections
First query
Simple processing

Chapter 9. Performance considerations

Load levels
Query throughput
Write thoughput
Clustering data
Cardinality
Tags and Fields revisited
Compaction
Hot shard
MGPACK vs JSON

Chapter 10. Creating an InfluxDB application with Java

Using influx in Java
Database connections
Queries
Processing
Batching data

Chapter 11. Grafana and InfluxDB

Use case
Data source plugin
Annotations
Query editor
Templating

Chapter 12. Creating an InfluxDB application with Ruby

Using influx in Ruby
Database connections
Queries
Processing
Time precision
Multi-point batch
Writing to specific database/file/shard

Chapter 13. E2E Python and InfluxDB

Using influx in Python
Database connections
Queries
Processing
Data Frames
Python Data Analysis Library (pandas)

Chapter 14. Advanced InfluxDB concepts

Replication
Tuning retention
Using clusters
WAL
TSM
Pong

Chapter 15. InfluxDB Best Practices

Monitoring
Operationalize
Development
Cluster basics


We regularly offer classes in these and other cities. Atlanta, Austin, Baltimore, Calgary, Chicago, Cleveland, Dallas, Denver, Detroit, Houston, Jacksonville, Miami, Montreal, New York City, Orlando, Ottawa, Philadelphia, Phoenix, Pittsburgh, Seattle, Toronto, Vancouver, Washington DC.