This document provides an introduction to time series data and InfluxDB. It defines time series data as measurements taken from the same source over time that can be plotted on a graph with one axis being time. Examples of time series data include weather, stock prices, and server metrics. Time series databases like InfluxDB are optimized for storing and processing huge volumes of time series data in a high performance manner. InfluxDB uses a simple data model where points consist of measurements, tags, fields, and timestamps.
1. I N F L U X D B U N I V E R S I T Y
Introduction to
Time Series
Getting Started Training Series
2. Brought to you by InfluxDB University
InfluxDB University offers free live and self-paced training on:
• InfluxDB
• Telegraf
• Flux
• Kapacitor
• and more
influxdbu.com
3. Why Time-Series for Monitoring, Metrics,
Real-Time Analytics and IoT/Sensor Data
• What is Time Series Data
• Differences between Time Series Databases (TSDBs)
• InfluxDB Data model
5. Time series data is
• A sequence of data points,
typically consisting of
successive measurements
made from the same
source over a time interval.
• Plot the points on a graph
and one of your axes
would always be time.
13. Regular vs Irregular Time Series
Metrics (Regular)
Events (Irregular)
Measurements gathered at
regular time intervals
Measurements gathered at
irregular time intervals
14. Measurements gathered at regular
time intervals
Measurements gathered at
irregular time intervals
METRICS EVENTS
Regular Time Series Irregular Time Series
15. SUMMARIZATION OF EVENTS
Events become regular time intervals, for example
Summarizing the average trade price
of Apple stock every 10 minutes over
the course of a day
Summarizing the average response
time for requests in an application
over 1 minute intervals
17. Characteristics
of the data
• Time-stamped
• Generated in regular
(metric) and
irregular (event) time
periods
• Huge volumes
• Real time and time
sensitive
18. Time Series databases
are optimized for
collecting, storing,
retrieving & processing
of Time Series data
Compare this to:
• Document databases
• Optimized for storing JSON
documents
• Search databases
• Optimized for full-text searches
• Traditional relational
• Databases optimized for the
tabular storage of related data
in rows & columns
19. Other DB Types Time Series DBs
Some Databases used for Time Series
20. Time Series fastest growing category InfluxDB is the leading time-series database
Time series and InfluxDB
25. InfluxDB is 3 things
API &
Toolset
POWERFUL
for real-time apps
HIGH PERFORMANCE MASSIVE
for real-time data
workloads
of cloud & open source
developers
1 2 3
Time Series
Engine
Community &
Ecosystem
26. API & Toolset
Get started quickly with more capability and less code
RESTful API
Open Source
Integrations
Functional Query
Language
Cloud delivery
1
27. Flux Language
Functional data scripting language for query, analysis, action
1. Transform data at storage level
instead of application level
2. Use one language across entire
InfluxDB platform
1
28. Time Series Engine
Run and grow large data workloads at high volume globally
High cardinality
High Throughput
Batch & stream inputs
High & low fidelity
storage
Global service on 3
clouds
Clustered option for
on-premises
PERFORMANCE FLEXIBILITY RELIABILITY
2
30. POWERFUL ANALYTICS
Open source flux
language to see
across time
• Designed for time series
analysis
• Easy to share, easy to
extend
• Multi data source
• Open Source (MIT license)
• Easy to get started but
powerful to scale
31. Reference Architecture
Data Sources
Application
Workflows
Infrastructure
Insights
Telegraf
Client Libraries
HTTP
Syslog
Kubernetes
Apache Kafka
Python
Arduino
Node.js
JavaScript
Go
Data Systems
Mobile apps
Web apps
Cloud Services
Devices
Sensors
Databases
Networks
Message Queues
APIs
IoT Platforms
CRMs
InfluxDB Platform
IoT
Actions
InfluxDB
Purpose-Built Time Series Database
Visualization, Query & Task Engine
Collect
Downsample
Trigger
Alert
Transform
…
200+ Plugins
20+ Languages
…
New Square
Native Ecosystems
JMeter
NiFi
AWS Kinesis
Azure Event Hubs
GCP PubSub
Java
.NET/C#
PHP
Ruby
Vector
Fluentd
32. Why Choose InfluxDB
• Easy to get started with a familiar query syntax
• No external dependencies
• Allows for regular and irregular time series
• Horizontally scalable
• Member of a cohesive time series platform
38. Y-Axis Values
We call these fields. Note that the values that the
field stores can be floats, ints, strings, or bools.
39. The Collection of Fields
We call this the fieldset. Note that in this case,
there's only one field. (There could be many.)
price=177.03
price=32.10
price=35.52
43. The Line protocol
• measurement,tagset fieldset timestamp
• stock_price,ticker=A,market=NASDAQ price=177.03
14452992000000000
44. Data Ingestion Format
• Points are written to InfluxDB using the Line Protocol, which
follows the following format:
Reference: https://docs.influxdata.com/influxdb/cloud/reference/syntax/line-protocol/
<measurement>[,<tag-key>=<tag-value>] [<field-key>=<field-value>]
[unix-nano-timestamp]
cpu_load,hostname=server02,us_west=az temp=24.5,volts=7 1234567890000000
Measurement Tag Set Field Set Timestamp
45. A Series in InfluxDB
measurement + tagset = the series as a whole
measurement + tagset + timestamp = single point
46. Examples of points in Line Protocol
• cpu,host=server1 value=100 1445299200000000000
• temperature,zipcode=94107,country=usa value=75,humidity=10
1445299200000000000
• response_time,method=GET,precision=ms value=12i
1445299200000000000
48. Created a solution that
• allows their business to be
data-driven
• uncovers new revenue
streams
• provides predictive
maintenance
by collecting over half a billion
real-time data points nightly from
solar panels and batteries
with
Use Case
REAL-TIME ANALYTICS
49.
50.
51. Created a solution that
• creates a better customer
experience across their web
and mobile properties
• reduces downtime attributed to
CICD
• provides faster root–cause
analysis
by storing, analyzing and visualizing
click stream data, container and
application metrics across all web
infrastructure services
with
Use Case
REAL USER MONITORING
52. Why replace Graphite w/ InfluxDB
Graphite limitations
✔ No clustering
✔ Storage infrastructure that is difficult
to manage
✔ No out-of-the-box data pipeline
solution
✔ Graphite maxed out its performance
potential
✔ No shard relocation & backup/restore
InfluxDB Advantages
✔ Rapid performance improvements &
hardening
✔ Supports true clustering
✔ Written in Go, a language that fully
exploits multi-core environments
✔ Built with an emphasis on efficient &
scalable storage
✔ Active community & an ecosystem of
related tools for building
enterprise-wide installations
✔ Growing customer base from a
diverse set of companies
53. Join Our Community
Slack: http://influxdata.com/slack
Community Forum: https://community.influxdata.com
Reddit: https://reddit.com/r/influxdb
Twitter: @influxdb