SlideShare a Scribd company logo
1 of 72
Download to read offline
The Journey of
InfluxDB
Paul Dix
Founder & CTO
@pauldix
1.0 2.0 IOx
2013-2019 2019-2022 2022-
1.0
2.0
IOx
2013-2019
2019-2022
2022-
Talk themes • What are time series?
• What is a time series
database? (TSDB)
Time series are a method for
interpreting and understanding
data
[[23.2, t1], [64.6, t2], [54.1, t3], [77.8, t4], [62.1, t5], [99.6, t6],
…]
Two ways to think
about TSDBs:
• Store values & metadata
directly
• Compute on the fly from
raw data
Back in 2013…
Round Robin Database Structure
t0 marker
t
1
t2
t20
Length: 20
Delta: 60s
Start Epoch: ...
statsD
mysql.bytes_received 1287333217 327810227706 schema=foo host=db1
mysql.bytes_sent 1287333217 6604859181710 schema=foo host=db1
mysql.bytes_received 1287333232 327812421706 schema=foo host=db1
mysql.bytes_sent 1287333232 6604901075387 schema=foo host=db1
mysql.bytes_received 1287333321 340899533915 schema=foo host=db2
mysql.bytes_sent 1287333321 5506469130707 schema=foo host=db2
Metric name Epoch Value Tags
TSDB that store
time series
• Time series data
• Metadata
• Hierarchical (Graphite)
• Tags (OpenTSDB)
Fall of 2013…
InfluxDB 0.8 data model
C1 C2 C3 C4 C5 C6 time
measurement
1
measurement2
C1 C2 C3 C4 time
select value from response_times where time > now() - 1h limit 1000;
select value from response_times
where time > now() - 1h and server = ‘foo’
limit 1000;
Range scan
API changes: tags and line protocol
API changes: tags and line protocol
foo,tag1=bar,tag2=asdf field1=23i,field2=2.4,field3=“hello”,field4=true
12344321
measurement name Fields Timestamp
Tags
TSM Data
Block 1
Series 1 Series 2
Block 2 Block 3
Series 3
Series 4
Block 1 Block 2 Block 3 Block 4
Inverted Index
weather,city=Denver,state=CO,zip=80222 temp=62.3,humidity=32
weather,city=Bellevue,state=WA,zip=98007 temp=50.7,humidity=76
weather,city=Brooklyn,state=NY,zip=11249 temp=58.2,humidity=55
weather,city=Denver,state=CO,zip=80222#temp – 1
weather,city=Denver,state=CO,zip=80222#humidity - 2
weather,city=Bellevue,state=WA,zip=98007#temp - 3
weather,city=Bellevue,state=WA,zip=98007#humidity – 4
weather,city=Brooklyn,state=NY,zip=11249#temp – 5
weather,city=Brooklyn,state=NY,zip=11249#humidity - 6
Line Protocol
Series
Inverted Index
weather,city=Denver,state=CO,zip=80222 temp=62.3,humidity=32
weather,city=Bellevue,state=WA,zip=98007 temp=50.7,humidity=76
weather,city=Brooklyn,state=NY,zip=11249 temp=58.2,humidity=55
weather,city=Denver,state=CO,zip=80222#temp – 1
weather,city=Denver,state=CO,zip=80222#humidity - 2
weather,city=Bellevue,state=WA,zip=98007#temp - 3
weather,city=Bellevue,state=WA,zip=98007#humidity – 4
weather,city=Brooklyn,state=NY,zip=11249#temp – 5
weather,city=Brooklyn,state=NY,zip=11249#humidity - 6
Line Protocol
Series
Inverted Index – Posting Lists
Measurements Fields Tags
weather – [1,2,3,4,5,6] temp – [1,3,5]
humidity – [2,4,6]
city=Denver – [1,2]
city=Bellevue – [3,4]
city=Brooklyn – [5,6]
state=CO – [1,2]
state=NY – [5,6]
state=WA – [3,4]
zip=11249 – [5,6]
zip=80222 – [1,2]
zip=98007 – [3,4]
select temp from weather where time > now() - 1h and state = “NY”;
Inverted Index – Posting Lists
Measurements Fields Tags
weather – [1,2,3,4,5,6] temp – [1,3,5] state=NY – [5,6]
select avg(temp) from weather where time > now() - 1h and state = “NY”;
Intersect these postings lists = 5
Inverted Index – Posting Lists
Measurements Fields Tags
weather – [1,2,3,4,5,6] temp – [1,3,5]
select avg(temp) from weather where time > now();
[1, 3,
5]
Time Series Blocks
Lookup - [4, 73, 128, 222, 245, 278, 333, 561]
Design Tradeoffs
• Fast Low Cardinality Lookups & Execution
• Inverted Index maintenance on Ingest
• Sorted time series key space
• Expensive and Slow Higher Cardinality
InfluxDB had evolved to become a
TSDB that stored time series
2.0 - Flux, all-in-one, cloud first
delivery
The problem with time series: you
summarize everything before you
get to the database
http_request_duration_seconds_bucket{le=“0.1”} 23
http_request_duration_seconds_bucket{le=“0.5”} 30
http_request_duration_seconds_bucket{le=“2”} 34
http_request_duration_seconds_bucket{le=“+Inf”} 130
http_request_duration_seconds_sum
http_request_duration_seconds_count
http_request_duration_seconds_bucket{host=“foo”, le=“0.1”} 23
http_request_duration_seconds_bucket{host=“foo”, le=“0.5”} 30
http_request_duration_seconds_bucket{host=“foo”, le=“2”} 34
http_request_duration_seconds_bucket{host=“foo”, le=“+Inf”} 130
http_request_duration_seconds_sum{host=“foo”}
http_request_duration_seconds_count{host=“foo”}
http_request_duration_seconds_bucket{host=“foo”, le=“0.1”, service=“asdf”} 23
http_request_duration_seconds_bucket{host=“foo”, le=“0.5” , service=“asdf”} 30
http_request_duration_seconds_bucket{host=“foo”, le=“2” , service=“asdf”} 34
http_request_duration_seconds_bucket{host=“foo”, le=“+Inf” , service=“asdf”} 130
http_request_duration_seconds_sum{host=“foo”, service=“asdf”}
http_request_duration_seconds{count host=“foo”, service=“asdf”}
http_request_duration_seconds_bucket{customer=“1423”, host=“foo”, le=“0.1”, service=“asdf”} 23
http_request_duration_seconds_bucket{customer=“1423”, host=“foo”, le=“0.5” , service=“asdf”} 30
http_request_duration_seconds_bucket{customer=“1423”, host=“foo”, le=“2” , service=“asdf”} 34
http_request_duration_seconds_bucket{customer=“1423”, host=“foo”, le=“+Inf” , service=“asdf”} 130
http_request_duration_seconds_sum{customer=“1423”, host=“foo”, service=“asdf”}
http_request_duration_seconds_count{customer=“1423”, host=“foo”, service=“asdf”}
http_request_duration_seconds_bucket{customer=“1423”, host=“foo”, le=“0.1”, service=“asdf”} 23
http_request_duration_seconds_bucket{customer=“1423”, host=“foo”, le=“0.5” , service=“asdf”} 30
http_request_duration_seconds_bucket{customer=“1423”, host=“foo”, le=“2” , service=“asdf”} 34
http_request_duration_seconds_bucket{customer=“1423”, host=“foo”, le=“+Inf” , service=“asdf”} 130
http_request_duration_seconds_sum{customer=“1423”, host=“foo”, service=“asdf”}
http_request_duration_seconds_count{customer=“1423”, host=“foo”, service=“asdf”}
http_request_duration_seconds_bucket{customer=“52”, host=“foo”, le=“0.1”, service=“asdf”} 23
http_request_duration_seconds_bucket{customer=“52”, host=“foo”, le=“0.5” , service=“asdf”} 30
http_request_duration_seconds_bucket{customer=“52”, host=“foo”, le=“2” , service=“asdf”} 34
http_request_duration_seconds_bucket{customer=“52”, host=“foo”, le=“+Inf” , service=“asdf”} 130
http_request_duration_seconds_sum{customer=“52”, host=“foo”, service=“asdf”}
http_request_duration_seconds_count{customer=“52”, host=“foo”, service=“asdf”}
http_request_duration_seconds_bucket{customer=“1423”, host=“foo”, le=“0.1”, service=“asdf”} 23
http_request_duration_seconds_bucket{customer=“1423”, host=“foo”, le=“0.5” , service=“asdf”} 30
http_request_duration_seconds_bucket{customer=“1423”, host=“foo”, le=“2” , service=“asdf”} 34
http_request_duration_seconds_bucket{customer=“1423”, host=“foo”, le=“+Inf” , service=“asdf”} 130
http_request_duration_seconds_sum{customer=“1423”, host=“foo”, service=“asdf”}
http_request_duration_seconds_count{customer=“1423”, host=“foo”, service=“asdf”}
http_request_duration_seconds_bucket{customer=“52”, host=“foo”, le=“0.1”, service=“asdf”} 23
http_request_duration_seconds_bucket{customer=“52”, host=“foo”, le=“0.5” , service=“asdf”} 30
http_request_duration_seconds_bucket{customer=“52”, host=“foo”, le=“2” , service=“asdf”} 34
http_request_duration_seconds_bucket{customer=“52”, host=“foo”, le=“+Inf” , service=“asdf”} 130
http_request_duration_seconds_sum{customer=“52”, host=“foo”, service=“asdf”}
http_request_duration_seconds_count{customer=“52”, host=“foo”, service=“asdf”}
http_request_duration_seconds_bucket{customer=“999”, host=“foo”, le=“0.1”, service=“asdf”} 23
http_request_duration_seconds_bucket{customer=“999”, host=“foo”, le=“0.5” , service=“asdf”} 30
http_request_duration_seconds_bucket{customer=“999”, host=“foo”, le=“2” , service=“asdf”} 34
http_request_duration_seconds_bucket{customer=“999”, host=“foo”, le=“+Inf” , service=“asdf”} 130
http_request_duration_seconds_sum{customer=“999”, host=“foo”, service=“asdf”}
http_request_duration_seconds_count{customer=“999”, host=“foo”, service=“asdf”}
Pull represents full state every
scrape
Push an event
http_request customer=“1423”, host=“foo”, le=“0.1”, service=“asdf”, response_time=23
What about
tracing? • Level of detail so high you
must sample
Match precision to
use case
• Query log
• Auditing
• Usage metering
• Analytics of many kinds
Columnar databases solve
performance problems for storing
events
Back to Tables
City State Zip Temp Humidity Time
Denver CO 80222 62.3 32 1
Denver CO 80222 61.2 32 2
Bellevue WA 98007 50.7 76 1
Bellevue WA 98007 50.5 76 2
Brooklyn NY 11249 58.2 55 1
Brooklyn NY 11249 57.0 55 2
Tags Timestamp
Fields
Back to Tables
City State Zip Temp Humidity Time
Denver CO 80222 62.3 32 1
Denver CO 80222 61.2 32 2
Bellevue WA 98007 50.7 76 1
Bellevue WA 98007 50.5 76 2
Brooklyn NY 11249 58.2 55 1
Brooklyn NY 11249 57.0 55 2
select avg(temp) from weather where time < 100 and state = “NY”;
Solving the performance problem
• Per column compression (dictionary, RLE)
• Vectorized execution
• Parallelism
• Partitioning
• Pruning
Per-column Compression
City State Zip Temp Humidity Time
Denver CO 80222 62.3 32 1
Denver CO 80222 61.2 32 2
Bellevue WA 98007 50.7 76 1
Bellevue WA 98007 50.5 76 2
Brooklyn NY 11249 58.2 55 1
Brooklyn NY 11249 57.0 55 2
Repeated values: Dictionary Encoding, RLE
Partitioned Layout
measurement
1
C1 C2 C3 C4 time
2022-11--01 2022-11--02
C1 C2 C3 C4 time
Query Properties
• Execution against all rows from included partitions
• Accessing a single series through brute force
• 1B rows/sec/core
Partitioned Layout
measurement2
C1 C2 C3 time
2022-11--01 2022-11--02
region=west region=east
C1 C2 C3 time
Time Series Blocks Partitions
Problems to Solve
• Wide Tables (many columns)
• Sparse Tables
• Repartitioning (automatic)
• Secondary Indexes
Cloud Databases Solve for Scale
Federation Solves for Scale
InfluxDB IOx
• Columnar database
• SQL natively supported
• Cloud Database
• Federated at the Edge
Available in InfluxDB Cloud Today!
InfluxDB IOx is a TSDB for storing
AND calculating time series
T H A N K Y O U

More Related Content

What's hot

ClickHouse in Real Life. Case Studies and Best Practices, by Alexander Zaitsev
ClickHouse in Real Life. Case Studies and Best Practices, by Alexander ZaitsevClickHouse in Real Life. Case Studies and Best Practices, by Alexander Zaitsev
ClickHouse in Real Life. Case Studies and Best Practices, by Alexander ZaitsevAltinity Ltd
 
Transactional operations in Apache Hive: present and future
Transactional operations in Apache Hive: present and futureTransactional operations in Apache Hive: present and future
Transactional operations in Apache Hive: present and futureDataWorks Summit
 
PostgreSQL Deep Internal
PostgreSQL Deep InternalPostgreSQL Deep Internal
PostgreSQL Deep InternalEXEM
 
C* Summit 2013: The World's Next Top Data Model by Patrick McFadin
C* Summit 2013: The World's Next Top Data Model by Patrick McFadinC* Summit 2013: The World's Next Top Data Model by Patrick McFadin
C* Summit 2013: The World's Next Top Data Model by Patrick McFadinDataStax Academy
 
All About JSON and ClickHouse - Tips, Tricks and New Features-2022-07-26-FINA...
All About JSON and ClickHouse - Tips, Tricks and New Features-2022-07-26-FINA...All About JSON and ClickHouse - Tips, Tricks and New Features-2022-07-26-FINA...
All About JSON and ClickHouse - Tips, Tricks and New Features-2022-07-26-FINA...Altinity Ltd
 
Tricks every ClickHouse designer should know, by Robert Hodges, Altinity CEO
Tricks every ClickHouse designer should know, by Robert Hodges, Altinity CEOTricks every ClickHouse designer should know, by Robert Hodges, Altinity CEO
Tricks every ClickHouse designer should know, by Robert Hodges, Altinity CEOAltinity Ltd
 
A Day in the Life of a ClickHouse Query Webinar Slides
A Day in the Life of a ClickHouse Query Webinar Slides A Day in the Life of a ClickHouse Query Webinar Slides
A Day in the Life of a ClickHouse Query Webinar Slides Altinity Ltd
 
Apache Arrow Workshop at VLDB 2019 / BOSS Session
Apache Arrow Workshop at VLDB 2019 / BOSS SessionApache Arrow Workshop at VLDB 2019 / BOSS Session
Apache Arrow Workshop at VLDB 2019 / BOSS SessionWes McKinney
 
PostgreSQL 공간관리 살펴보기 이근오
PostgreSQL 공간관리 살펴보기 이근오PostgreSQL 공간관리 살펴보기 이근오
PostgreSQL 공간관리 살펴보기 이근오PgDay.Seoul
 
Understanding InfluxDB’s New Storage Engine
Understanding InfluxDB’s New Storage EngineUnderstanding InfluxDB’s New Storage Engine
Understanding InfluxDB’s New Storage EngineInfluxData
 
The Parquet Format and Performance Optimization Opportunities
The Parquet Format and Performance Optimization OpportunitiesThe Parquet Format and Performance Optimization Opportunities
The Parquet Format and Performance Optimization OpportunitiesDatabricks
 
Deep Dive on ClickHouse Sharding and Replication-2202-09-22.pdf
Deep Dive on ClickHouse Sharding and Replication-2202-09-22.pdfDeep Dive on ClickHouse Sharding and Replication-2202-09-22.pdf
Deep Dive on ClickHouse Sharding and Replication-2202-09-22.pdfAltinity Ltd
 
Hadoop Query Performance Smackdown
Hadoop Query Performance SmackdownHadoop Query Performance Smackdown
Hadoop Query Performance SmackdownDataWorks Summit
 
Parquet Strata/Hadoop World, New York 2013
Parquet Strata/Hadoop World, New York 2013Parquet Strata/Hadoop World, New York 2013
Parquet Strata/Hadoop World, New York 2013Julien Le Dem
 
A Rusty introduction to Apache Arrow and how it applies to a time series dat...
A Rusty introduction to Apache Arrow and how it applies to a  time series dat...A Rusty introduction to Apache Arrow and how it applies to a  time series dat...
A Rusty introduction to Apache Arrow and how it applies to a time series dat...Andrew Lamb
 
The Future of Column-Oriented Data Processing With Apache Arrow and Apache Pa...
The Future of Column-Oriented Data Processing With Apache Arrow and Apache Pa...The Future of Column-Oriented Data Processing With Apache Arrow and Apache Pa...
The Future of Column-Oriented Data Processing With Apache Arrow and Apache Pa...Dremio Corporation
 
Parquet Hadoop Summit 2013
Parquet Hadoop Summit 2013Parquet Hadoop Summit 2013
Parquet Hadoop Summit 2013Julien Le Dem
 
ClickHouse Query Performance Tips and Tricks, by Robert Hodges, Altinity CEO
ClickHouse Query Performance Tips and Tricks, by Robert Hodges, Altinity CEOClickHouse Query Performance Tips and Tricks, by Robert Hodges, Altinity CEO
ClickHouse Query Performance Tips and Tricks, by Robert Hodges, Altinity CEOAltinity Ltd
 
[Pgday.Seoul 2017] 3. PostgreSQL WAL Buffers, Clog Buffers Deep Dive - 이근오
[Pgday.Seoul 2017] 3. PostgreSQL WAL Buffers, Clog Buffers Deep Dive - 이근오[Pgday.Seoul 2017] 3. PostgreSQL WAL Buffers, Clog Buffers Deep Dive - 이근오
[Pgday.Seoul 2017] 3. PostgreSQL WAL Buffers, Clog Buffers Deep Dive - 이근오PgDay.Seoul
 
Transactional SQL in Apache Hive
Transactional SQL in Apache HiveTransactional SQL in Apache Hive
Transactional SQL in Apache HiveDataWorks Summit
 

What's hot (20)

ClickHouse in Real Life. Case Studies and Best Practices, by Alexander Zaitsev
ClickHouse in Real Life. Case Studies and Best Practices, by Alexander ZaitsevClickHouse in Real Life. Case Studies and Best Practices, by Alexander Zaitsev
ClickHouse in Real Life. Case Studies and Best Practices, by Alexander Zaitsev
 
Transactional operations in Apache Hive: present and future
Transactional operations in Apache Hive: present and futureTransactional operations in Apache Hive: present and future
Transactional operations in Apache Hive: present and future
 
PostgreSQL Deep Internal
PostgreSQL Deep InternalPostgreSQL Deep Internal
PostgreSQL Deep Internal
 
C* Summit 2013: The World's Next Top Data Model by Patrick McFadin
C* Summit 2013: The World's Next Top Data Model by Patrick McFadinC* Summit 2013: The World's Next Top Data Model by Patrick McFadin
C* Summit 2013: The World's Next Top Data Model by Patrick McFadin
 
All About JSON and ClickHouse - Tips, Tricks and New Features-2022-07-26-FINA...
All About JSON and ClickHouse - Tips, Tricks and New Features-2022-07-26-FINA...All About JSON and ClickHouse - Tips, Tricks and New Features-2022-07-26-FINA...
All About JSON and ClickHouse - Tips, Tricks and New Features-2022-07-26-FINA...
 
Tricks every ClickHouse designer should know, by Robert Hodges, Altinity CEO
Tricks every ClickHouse designer should know, by Robert Hodges, Altinity CEOTricks every ClickHouse designer should know, by Robert Hodges, Altinity CEO
Tricks every ClickHouse designer should know, by Robert Hodges, Altinity CEO
 
A Day in the Life of a ClickHouse Query Webinar Slides
A Day in the Life of a ClickHouse Query Webinar Slides A Day in the Life of a ClickHouse Query Webinar Slides
A Day in the Life of a ClickHouse Query Webinar Slides
 
Apache Arrow Workshop at VLDB 2019 / BOSS Session
Apache Arrow Workshop at VLDB 2019 / BOSS SessionApache Arrow Workshop at VLDB 2019 / BOSS Session
Apache Arrow Workshop at VLDB 2019 / BOSS Session
 
PostgreSQL 공간관리 살펴보기 이근오
PostgreSQL 공간관리 살펴보기 이근오PostgreSQL 공간관리 살펴보기 이근오
PostgreSQL 공간관리 살펴보기 이근오
 
Understanding InfluxDB’s New Storage Engine
Understanding InfluxDB’s New Storage EngineUnderstanding InfluxDB’s New Storage Engine
Understanding InfluxDB’s New Storage Engine
 
The Parquet Format and Performance Optimization Opportunities
The Parquet Format and Performance Optimization OpportunitiesThe Parquet Format and Performance Optimization Opportunities
The Parquet Format and Performance Optimization Opportunities
 
Deep Dive on ClickHouse Sharding and Replication-2202-09-22.pdf
Deep Dive on ClickHouse Sharding and Replication-2202-09-22.pdfDeep Dive on ClickHouse Sharding and Replication-2202-09-22.pdf
Deep Dive on ClickHouse Sharding and Replication-2202-09-22.pdf
 
Hadoop Query Performance Smackdown
Hadoop Query Performance SmackdownHadoop Query Performance Smackdown
Hadoop Query Performance Smackdown
 
Parquet Strata/Hadoop World, New York 2013
Parquet Strata/Hadoop World, New York 2013Parquet Strata/Hadoop World, New York 2013
Parquet Strata/Hadoop World, New York 2013
 
A Rusty introduction to Apache Arrow and how it applies to a time series dat...
A Rusty introduction to Apache Arrow and how it applies to a  time series dat...A Rusty introduction to Apache Arrow and how it applies to a  time series dat...
A Rusty introduction to Apache Arrow and how it applies to a time series dat...
 
The Future of Column-Oriented Data Processing With Apache Arrow and Apache Pa...
The Future of Column-Oriented Data Processing With Apache Arrow and Apache Pa...The Future of Column-Oriented Data Processing With Apache Arrow and Apache Pa...
The Future of Column-Oriented Data Processing With Apache Arrow and Apache Pa...
 
Parquet Hadoop Summit 2013
Parquet Hadoop Summit 2013Parquet Hadoop Summit 2013
Parquet Hadoop Summit 2013
 
ClickHouse Query Performance Tips and Tricks, by Robert Hodges, Altinity CEO
ClickHouse Query Performance Tips and Tricks, by Robert Hodges, Altinity CEOClickHouse Query Performance Tips and Tricks, by Robert Hodges, Altinity CEO
ClickHouse Query Performance Tips and Tricks, by Robert Hodges, Altinity CEO
 
[Pgday.Seoul 2017] 3. PostgreSQL WAL Buffers, Clog Buffers Deep Dive - 이근오
[Pgday.Seoul 2017] 3. PostgreSQL WAL Buffers, Clog Buffers Deep Dive - 이근오[Pgday.Seoul 2017] 3. PostgreSQL WAL Buffers, Clog Buffers Deep Dive - 이근오
[Pgday.Seoul 2017] 3. PostgreSQL WAL Buffers, Clog Buffers Deep Dive - 이근오
 
Transactional SQL in Apache Hive
Transactional SQL in Apache HiveTransactional SQL in Apache Hive
Transactional SQL in Apache Hive
 

Similar to Paul Dix [InfluxData] The Journey of InfluxDB | InfluxDays 2022

Re-Engineering PostgreSQL as a Time-Series Database
Re-Engineering PostgreSQL as a Time-Series DatabaseRe-Engineering PostgreSQL as a Time-Series Database
Re-Engineering PostgreSQL as a Time-Series DatabaseAll Things Open
 
Apache con 2020 use cases and optimizations of iotdb
Apache con 2020 use cases and optimizations of iotdbApache con 2020 use cases and optimizations of iotdb
Apache con 2020 use cases and optimizations of iotdbZhangZhengming
 
Golang in TiDB (GopherChina 2017)
Golang in TiDB  (GopherChina 2017)Golang in TiDB  (GopherChina 2017)
Golang in TiDB (GopherChina 2017)PingCAP
 
Analyzing and Interpreting AWR
Analyzing and Interpreting AWRAnalyzing and Interpreting AWR
Analyzing and Interpreting AWRpasalapudi
 
Optimizing InfluxDB Performance in the Real World by Dean Sheehan, Senior Dir...
Optimizing InfluxDB Performance in the Real World by Dean Sheehan, Senior Dir...Optimizing InfluxDB Performance in the Real World by Dean Sheehan, Senior Dir...
Optimizing InfluxDB Performance in the Real World by Dean Sheehan, Senior Dir...InfluxData
 
Intro to Time Series
Intro to Time Series Intro to Time Series
Intro to Time Series InfluxData
 
Treasure Data and AWS - Developers.io 2015
Treasure Data and AWS - Developers.io 2015Treasure Data and AWS - Developers.io 2015
Treasure Data and AWS - Developers.io 2015N Masahiro
 
InfluxDB 1.0 - Optimizing InfluxDB by Sam Dillard
InfluxDB 1.0 - Optimizing InfluxDB by Sam DillardInfluxDB 1.0 - Optimizing InfluxDB by Sam Dillard
InfluxDB 1.0 - Optimizing InfluxDB by Sam DillardInfluxData
 
Cloud Computing in the Cloud (Hadoop.tw Meetup @ 2015/11/23)
Cloud Computing in the Cloud (Hadoop.tw Meetup @ 2015/11/23)Cloud Computing in the Cloud (Hadoop.tw Meetup @ 2015/11/23)
Cloud Computing in the Cloud (Hadoop.tw Meetup @ 2015/11/23)Jeff Hung
 
Migration to ClickHouse. Practical guide, by Alexander Zaitsev
Migration to ClickHouse. Practical guide, by Alexander ZaitsevMigration to ClickHouse. Practical guide, by Alexander Zaitsev
Migration to ClickHouse. Practical guide, by Alexander ZaitsevAltinity Ltd
 
Time Series Analysis
Time Series AnalysisTime Series Analysis
Time Series AnalysisQAware GmbH
 
Time Series Processing with Solr and Spark
Time Series Processing with Solr and SparkTime Series Processing with Solr and Spark
Time Series Processing with Solr and SparkJosef Adersberger
 
Time Series Processing with Solr and Spark: Presented by Josef Adersberger, Q...
Time Series Processing with Solr and Spark: Presented by Josef Adersberger, Q...Time Series Processing with Solr and Spark: Presented by Josef Adersberger, Q...
Time Series Processing with Solr and Spark: Presented by Josef Adersberger, Q...Lucidworks
 
Analyzing SQL Traces generated by EVENT 10046.pptx
Analyzing SQL Traces generated by EVENT 10046.pptxAnalyzing SQL Traces generated by EVENT 10046.pptx
Analyzing SQL Traces generated by EVENT 10046.pptxssuserbad8d3
 
R for Pirates. ESCCONF October 27, 2011
R for Pirates. ESCCONF October 27, 2011R for Pirates. ESCCONF October 27, 2011
R for Pirates. ESCCONF October 27, 2011Mandi Walls
 
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...Flink Forward
 
OpenTSDB 2.0
OpenTSDB 2.0OpenTSDB 2.0
OpenTSDB 2.0HBaseCon
 
In memory databases presentation
In memory databases presentationIn memory databases presentation
In memory databases presentationMichael Keane
 
AWR, ADDM, ASH, Metrics and Advisors.ppt
AWR, ADDM, ASH, Metrics and Advisors.pptAWR, ADDM, ASH, Metrics and Advisors.ppt
AWR, ADDM, ASH, Metrics and Advisors.pptbugzbinny
 

Similar to Paul Dix [InfluxData] The Journey of InfluxDB | InfluxDays 2022 (20)

Master tuning
Master   tuningMaster   tuning
Master tuning
 
Re-Engineering PostgreSQL as a Time-Series Database
Re-Engineering PostgreSQL as a Time-Series DatabaseRe-Engineering PostgreSQL as a Time-Series Database
Re-Engineering PostgreSQL as a Time-Series Database
 
Apache con 2020 use cases and optimizations of iotdb
Apache con 2020 use cases and optimizations of iotdbApache con 2020 use cases and optimizations of iotdb
Apache con 2020 use cases and optimizations of iotdb
 
Golang in TiDB (GopherChina 2017)
Golang in TiDB  (GopherChina 2017)Golang in TiDB  (GopherChina 2017)
Golang in TiDB (GopherChina 2017)
 
Analyzing and Interpreting AWR
Analyzing and Interpreting AWRAnalyzing and Interpreting AWR
Analyzing and Interpreting AWR
 
Optimizing InfluxDB Performance in the Real World by Dean Sheehan, Senior Dir...
Optimizing InfluxDB Performance in the Real World by Dean Sheehan, Senior Dir...Optimizing InfluxDB Performance in the Real World by Dean Sheehan, Senior Dir...
Optimizing InfluxDB Performance in the Real World by Dean Sheehan, Senior Dir...
 
Intro to Time Series
Intro to Time Series Intro to Time Series
Intro to Time Series
 
Treasure Data and AWS - Developers.io 2015
Treasure Data and AWS - Developers.io 2015Treasure Data and AWS - Developers.io 2015
Treasure Data and AWS - Developers.io 2015
 
InfluxDB 1.0 - Optimizing InfluxDB by Sam Dillard
InfluxDB 1.0 - Optimizing InfluxDB by Sam DillardInfluxDB 1.0 - Optimizing InfluxDB by Sam Dillard
InfluxDB 1.0 - Optimizing InfluxDB by Sam Dillard
 
Cloud Computing in the Cloud (Hadoop.tw Meetup @ 2015/11/23)
Cloud Computing in the Cloud (Hadoop.tw Meetup @ 2015/11/23)Cloud Computing in the Cloud (Hadoop.tw Meetup @ 2015/11/23)
Cloud Computing in the Cloud (Hadoop.tw Meetup @ 2015/11/23)
 
Migration to ClickHouse. Practical guide, by Alexander Zaitsev
Migration to ClickHouse. Practical guide, by Alexander ZaitsevMigration to ClickHouse. Practical guide, by Alexander Zaitsev
Migration to ClickHouse. Practical guide, by Alexander Zaitsev
 
Time Series Analysis
Time Series AnalysisTime Series Analysis
Time Series Analysis
 
Time Series Processing with Solr and Spark
Time Series Processing with Solr and SparkTime Series Processing with Solr and Spark
Time Series Processing with Solr and Spark
 
Time Series Processing with Solr and Spark: Presented by Josef Adersberger, Q...
Time Series Processing with Solr and Spark: Presented by Josef Adersberger, Q...Time Series Processing with Solr and Spark: Presented by Josef Adersberger, Q...
Time Series Processing with Solr and Spark: Presented by Josef Adersberger, Q...
 
Analyzing SQL Traces generated by EVENT 10046.pptx
Analyzing SQL Traces generated by EVENT 10046.pptxAnalyzing SQL Traces generated by EVENT 10046.pptx
Analyzing SQL Traces generated by EVENT 10046.pptx
 
R for Pirates. ESCCONF October 27, 2011
R for Pirates. ESCCONF October 27, 2011R for Pirates. ESCCONF October 27, 2011
R for Pirates. ESCCONF October 27, 2011
 
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
Introducing BinarySortedMultiMap - A new Flink state primitive to boost your ...
 
OpenTSDB 2.0
OpenTSDB 2.0OpenTSDB 2.0
OpenTSDB 2.0
 
In memory databases presentation
In memory databases presentationIn memory databases presentation
In memory databases presentation
 
AWR, ADDM, ASH, Metrics and Advisors.ppt
AWR, ADDM, ASH, Metrics and Advisors.pptAWR, ADDM, ASH, Metrics and Advisors.ppt
AWR, ADDM, ASH, Metrics and Advisors.ppt
 

More from InfluxData

Announcing InfluxDB Clustered
Announcing InfluxDB ClusteredAnnouncing InfluxDB Clustered
Announcing InfluxDB ClusteredInfluxData
 
Best Practices for Leveraging the Apache Arrow Ecosystem
Best Practices for Leveraging the Apache Arrow EcosystemBest Practices for Leveraging the Apache Arrow Ecosystem
Best Practices for Leveraging the Apache Arrow EcosystemInfluxData
 
How Bevi Uses InfluxDB and Grafana to Improve Predictive Maintenance and Redu...
How Bevi Uses InfluxDB and Grafana to Improve Predictive Maintenance and Redu...How Bevi Uses InfluxDB and Grafana to Improve Predictive Maintenance and Redu...
How Bevi Uses InfluxDB and Grafana to Improve Predictive Maintenance and Redu...InfluxData
 
Power Your Predictive Analytics with InfluxDB
Power Your Predictive Analytics with InfluxDBPower Your Predictive Analytics with InfluxDB
Power Your Predictive Analytics with InfluxDBInfluxData
 
How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base
How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base
How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base InfluxData
 
Build an Edge-to-Cloud Solution with the MING Stack
Build an Edge-to-Cloud Solution with the MING StackBuild an Edge-to-Cloud Solution with the MING Stack
Build an Edge-to-Cloud Solution with the MING StackInfluxData
 
Meet the Founders: An Open Discussion About Rewriting Using Rust
Meet the Founders: An Open Discussion About Rewriting Using RustMeet the Founders: An Open Discussion About Rewriting Using Rust
Meet the Founders: An Open Discussion About Rewriting Using RustInfluxData
 
Introducing InfluxDB Cloud Dedicated
Introducing InfluxDB Cloud DedicatedIntroducing InfluxDB Cloud Dedicated
Introducing InfluxDB Cloud DedicatedInfluxData
 
Gain Better Observability with OpenTelemetry and InfluxDB
Gain Better Observability with OpenTelemetry and InfluxDB Gain Better Observability with OpenTelemetry and InfluxDB
Gain Better Observability with OpenTelemetry and InfluxDB InfluxData
 
How a Heat Treating Plant Ensures Tight Process Control and Exceptional Quali...
How a Heat Treating Plant Ensures Tight Process Control and Exceptional Quali...How a Heat Treating Plant Ensures Tight Process Control and Exceptional Quali...
How a Heat Treating Plant Ensures Tight Process Control and Exceptional Quali...InfluxData
 
How Delft University's Engineering Students Make Their EV Formula-Style Race ...
How Delft University's Engineering Students Make Their EV Formula-Style Race ...How Delft University's Engineering Students Make Their EV Formula-Style Race ...
How Delft University's Engineering Students Make Their EV Formula-Style Race ...InfluxData
 
Introducing InfluxDB’s New Time Series Database Storage Engine
Introducing InfluxDB’s New Time Series Database Storage EngineIntroducing InfluxDB’s New Time Series Database Storage Engine
Introducing InfluxDB’s New Time Series Database Storage EngineInfluxData
 
Start Automating InfluxDB Deployments at the Edge with balena
Start Automating InfluxDB Deployments at the Edge with balena Start Automating InfluxDB Deployments at the Edge with balena
Start Automating InfluxDB Deployments at the Edge with balena InfluxData
 
Streamline and Scale Out Data Pipelines with Kubernetes, Telegraf, and InfluxDB
Streamline and Scale Out Data Pipelines with Kubernetes, Telegraf, and InfluxDBStreamline and Scale Out Data Pipelines with Kubernetes, Telegraf, and InfluxDB
Streamline and Scale Out Data Pipelines with Kubernetes, Telegraf, and InfluxDBInfluxData
 
Ward Bowman [PTC] | ThingWorx Long-Term Data Storage with InfluxDB | InfluxDa...
Ward Bowman [PTC] | ThingWorx Long-Term Data Storage with InfluxDB | InfluxDa...Ward Bowman [PTC] | ThingWorx Long-Term Data Storage with InfluxDB | InfluxDa...
Ward Bowman [PTC] | ThingWorx Long-Term Data Storage with InfluxDB | InfluxDa...InfluxData
 
Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022
Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022
Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022InfluxData
 
Steinkamp, Clifford [InfluxData] | Closing Thoughts | InfluxDays 2022
Steinkamp, Clifford [InfluxData] | Closing Thoughts | InfluxDays 2022Steinkamp, Clifford [InfluxData] | Closing Thoughts | InfluxDays 2022
Steinkamp, Clifford [InfluxData] | Closing Thoughts | InfluxDays 2022InfluxData
 
Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...
Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...
Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...InfluxData
 
Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022
Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022
Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022InfluxData
 
Jay Clifford [InfluxData] | Tips & Tricks for Analyzing IIoT in Real-Time | I...
Jay Clifford [InfluxData] | Tips & Tricks for Analyzing IIoT in Real-Time | I...Jay Clifford [InfluxData] | Tips & Tricks for Analyzing IIoT in Real-Time | I...
Jay Clifford [InfluxData] | Tips & Tricks for Analyzing IIoT in Real-Time | I...InfluxData
 

More from InfluxData (20)

Announcing InfluxDB Clustered
Announcing InfluxDB ClusteredAnnouncing InfluxDB Clustered
Announcing InfluxDB Clustered
 
Best Practices for Leveraging the Apache Arrow Ecosystem
Best Practices for Leveraging the Apache Arrow EcosystemBest Practices for Leveraging the Apache Arrow Ecosystem
Best Practices for Leveraging the Apache Arrow Ecosystem
 
How Bevi Uses InfluxDB and Grafana to Improve Predictive Maintenance and Redu...
How Bevi Uses InfluxDB and Grafana to Improve Predictive Maintenance and Redu...How Bevi Uses InfluxDB and Grafana to Improve Predictive Maintenance and Redu...
How Bevi Uses InfluxDB and Grafana to Improve Predictive Maintenance and Redu...
 
Power Your Predictive Analytics with InfluxDB
Power Your Predictive Analytics with InfluxDBPower Your Predictive Analytics with InfluxDB
Power Your Predictive Analytics with InfluxDB
 
How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base
How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base
How Teréga Replaces Legacy Data Historians with InfluxDB, AWS and IO-Base
 
Build an Edge-to-Cloud Solution with the MING Stack
Build an Edge-to-Cloud Solution with the MING StackBuild an Edge-to-Cloud Solution with the MING Stack
Build an Edge-to-Cloud Solution with the MING Stack
 
Meet the Founders: An Open Discussion About Rewriting Using Rust
Meet the Founders: An Open Discussion About Rewriting Using RustMeet the Founders: An Open Discussion About Rewriting Using Rust
Meet the Founders: An Open Discussion About Rewriting Using Rust
 
Introducing InfluxDB Cloud Dedicated
Introducing InfluxDB Cloud DedicatedIntroducing InfluxDB Cloud Dedicated
Introducing InfluxDB Cloud Dedicated
 
Gain Better Observability with OpenTelemetry and InfluxDB
Gain Better Observability with OpenTelemetry and InfluxDB Gain Better Observability with OpenTelemetry and InfluxDB
Gain Better Observability with OpenTelemetry and InfluxDB
 
How a Heat Treating Plant Ensures Tight Process Control and Exceptional Quali...
How a Heat Treating Plant Ensures Tight Process Control and Exceptional Quali...How a Heat Treating Plant Ensures Tight Process Control and Exceptional Quali...
How a Heat Treating Plant Ensures Tight Process Control and Exceptional Quali...
 
How Delft University's Engineering Students Make Their EV Formula-Style Race ...
How Delft University's Engineering Students Make Their EV Formula-Style Race ...How Delft University's Engineering Students Make Their EV Formula-Style Race ...
How Delft University's Engineering Students Make Their EV Formula-Style Race ...
 
Introducing InfluxDB’s New Time Series Database Storage Engine
Introducing InfluxDB’s New Time Series Database Storage EngineIntroducing InfluxDB’s New Time Series Database Storage Engine
Introducing InfluxDB’s New Time Series Database Storage Engine
 
Start Automating InfluxDB Deployments at the Edge with balena
Start Automating InfluxDB Deployments at the Edge with balena Start Automating InfluxDB Deployments at the Edge with balena
Start Automating InfluxDB Deployments at the Edge with balena
 
Streamline and Scale Out Data Pipelines with Kubernetes, Telegraf, and InfluxDB
Streamline and Scale Out Data Pipelines with Kubernetes, Telegraf, and InfluxDBStreamline and Scale Out Data Pipelines with Kubernetes, Telegraf, and InfluxDB
Streamline and Scale Out Data Pipelines with Kubernetes, Telegraf, and InfluxDB
 
Ward Bowman [PTC] | ThingWorx Long-Term Data Storage with InfluxDB | InfluxDa...
Ward Bowman [PTC] | ThingWorx Long-Term Data Storage with InfluxDB | InfluxDa...Ward Bowman [PTC] | ThingWorx Long-Term Data Storage with InfluxDB | InfluxDa...
Ward Bowman [PTC] | ThingWorx Long-Term Data Storage with InfluxDB | InfluxDa...
 
Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022
Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022
Scott Anderson [InfluxData] | New & Upcoming Flux Features | InfluxDays 2022
 
Steinkamp, Clifford [InfluxData] | Closing Thoughts | InfluxDays 2022
Steinkamp, Clifford [InfluxData] | Closing Thoughts | InfluxDays 2022Steinkamp, Clifford [InfluxData] | Closing Thoughts | InfluxDays 2022
Steinkamp, Clifford [InfluxData] | Closing Thoughts | InfluxDays 2022
 
Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...
Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...
Steinkamp, Clifford [InfluxData] | Welcome to InfluxDays 2022 - Day 2 | Influ...
 
Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022
Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022
Steinkamp, Clifford [InfluxData] | Closing Thoughts Day 1 | InfluxDays 2022
 
Jay Clifford [InfluxData] | Tips & Tricks for Analyzing IIoT in Real-Time | I...
Jay Clifford [InfluxData] | Tips & Tricks for Analyzing IIoT in Real-Time | I...Jay Clifford [InfluxData] | Tips & Tricks for Analyzing IIoT in Real-Time | I...
Jay Clifford [InfluxData] | Tips & Tricks for Analyzing IIoT in Real-Time | I...
 

Recently uploaded

The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 

Recently uploaded (20)

The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 

Paul Dix [InfluxData] The Journey of InfluxDB | InfluxDays 2022

  • 1.
  • 2. The Journey of InfluxDB Paul Dix Founder & CTO @pauldix
  • 3. 1.0 2.0 IOx 2013-2019 2019-2022 2022-
  • 5. Talk themes • What are time series? • What is a time series database? (TSDB)
  • 6.
  • 7.
  • 8.
  • 9.
  • 10. Time series are a method for interpreting and understanding data
  • 11. [[23.2, t1], [64.6, t2], [54.1, t3], [77.8, t4], [62.1, t5], [99.6, t6], …]
  • 12. Two ways to think about TSDBs: • Store values & metadata directly • Compute on the fly from raw data
  • 14.
  • 15. Round Robin Database Structure t0 marker t 1 t2 t20 Length: 20 Delta: 60s Start Epoch: ...
  • 16.
  • 17.
  • 18.
  • 19.
  • 21.
  • 22. mysql.bytes_received 1287333217 327810227706 schema=foo host=db1 mysql.bytes_sent 1287333217 6604859181710 schema=foo host=db1 mysql.bytes_received 1287333232 327812421706 schema=foo host=db1 mysql.bytes_sent 1287333232 6604901075387 schema=foo host=db1 mysql.bytes_received 1287333321 340899533915 schema=foo host=db2 mysql.bytes_sent 1287333321 5506469130707 schema=foo host=db2 Metric name Epoch Value Tags
  • 23. TSDB that store time series • Time series data • Metadata • Hierarchical (Graphite) • Tags (OpenTSDB)
  • 25.
  • 26.
  • 27. InfluxDB 0.8 data model C1 C2 C3 C4 C5 C6 time measurement 1 measurement2 C1 C2 C3 C4 time
  • 28. select value from response_times where time > now() - 1h limit 1000;
  • 29. select value from response_times where time > now() - 1h and server = ‘foo’ limit 1000; Range scan
  • 30. API changes: tags and line protocol
  • 31. API changes: tags and line protocol foo,tag1=bar,tag2=asdf field1=23i,field2=2.4,field3=“hello”,field4=true 12344321 measurement name Fields Timestamp Tags
  • 32. TSM Data Block 1 Series 1 Series 2 Block 2 Block 3 Series 3 Series 4 Block 1 Block 2 Block 3 Block 4
  • 33. Inverted Index weather,city=Denver,state=CO,zip=80222 temp=62.3,humidity=32 weather,city=Bellevue,state=WA,zip=98007 temp=50.7,humidity=76 weather,city=Brooklyn,state=NY,zip=11249 temp=58.2,humidity=55 weather,city=Denver,state=CO,zip=80222#temp – 1 weather,city=Denver,state=CO,zip=80222#humidity - 2 weather,city=Bellevue,state=WA,zip=98007#temp - 3 weather,city=Bellevue,state=WA,zip=98007#humidity – 4 weather,city=Brooklyn,state=NY,zip=11249#temp – 5 weather,city=Brooklyn,state=NY,zip=11249#humidity - 6 Line Protocol Series
  • 34. Inverted Index weather,city=Denver,state=CO,zip=80222 temp=62.3,humidity=32 weather,city=Bellevue,state=WA,zip=98007 temp=50.7,humidity=76 weather,city=Brooklyn,state=NY,zip=11249 temp=58.2,humidity=55 weather,city=Denver,state=CO,zip=80222#temp – 1 weather,city=Denver,state=CO,zip=80222#humidity - 2 weather,city=Bellevue,state=WA,zip=98007#temp - 3 weather,city=Bellevue,state=WA,zip=98007#humidity – 4 weather,city=Brooklyn,state=NY,zip=11249#temp – 5 weather,city=Brooklyn,state=NY,zip=11249#humidity - 6 Line Protocol Series
  • 35. Inverted Index – Posting Lists Measurements Fields Tags weather – [1,2,3,4,5,6] temp – [1,3,5] humidity – [2,4,6] city=Denver – [1,2] city=Bellevue – [3,4] city=Brooklyn – [5,6] state=CO – [1,2] state=NY – [5,6] state=WA – [3,4] zip=11249 – [5,6] zip=80222 – [1,2] zip=98007 – [3,4] select temp from weather where time > now() - 1h and state = “NY”;
  • 36. Inverted Index – Posting Lists Measurements Fields Tags weather – [1,2,3,4,5,6] temp – [1,3,5] state=NY – [5,6] select avg(temp) from weather where time > now() - 1h and state = “NY”; Intersect these postings lists = 5
  • 37. Inverted Index – Posting Lists Measurements Fields Tags weather – [1,2,3,4,5,6] temp – [1,3,5] select avg(temp) from weather where time > now(); [1, 3, 5]
  • 38. Time Series Blocks Lookup - [4, 73, 128, 222, 245, 278, 333, 561]
  • 39. Design Tradeoffs • Fast Low Cardinality Lookups & Execution • Inverted Index maintenance on Ingest • Sorted time series key space • Expensive and Slow Higher Cardinality
  • 40. InfluxDB had evolved to become a TSDB that stored time series
  • 41. 2.0 - Flux, all-in-one, cloud first delivery
  • 42. The problem with time series: you summarize everything before you get to the database
  • 43.
  • 44. http_request_duration_seconds_bucket{le=“0.1”} 23 http_request_duration_seconds_bucket{le=“0.5”} 30 http_request_duration_seconds_bucket{le=“2”} 34 http_request_duration_seconds_bucket{le=“+Inf”} 130 http_request_duration_seconds_sum http_request_duration_seconds_count
  • 45. http_request_duration_seconds_bucket{host=“foo”, le=“0.1”} 23 http_request_duration_seconds_bucket{host=“foo”, le=“0.5”} 30 http_request_duration_seconds_bucket{host=“foo”, le=“2”} 34 http_request_duration_seconds_bucket{host=“foo”, le=“+Inf”} 130 http_request_duration_seconds_sum{host=“foo”} http_request_duration_seconds_count{host=“foo”}
  • 46. http_request_duration_seconds_bucket{host=“foo”, le=“0.1”, service=“asdf”} 23 http_request_duration_seconds_bucket{host=“foo”, le=“0.5” , service=“asdf”} 30 http_request_duration_seconds_bucket{host=“foo”, le=“2” , service=“asdf”} 34 http_request_duration_seconds_bucket{host=“foo”, le=“+Inf” , service=“asdf”} 130 http_request_duration_seconds_sum{host=“foo”, service=“asdf”} http_request_duration_seconds{count host=“foo”, service=“asdf”}
  • 47. http_request_duration_seconds_bucket{customer=“1423”, host=“foo”, le=“0.1”, service=“asdf”} 23 http_request_duration_seconds_bucket{customer=“1423”, host=“foo”, le=“0.5” , service=“asdf”} 30 http_request_duration_seconds_bucket{customer=“1423”, host=“foo”, le=“2” , service=“asdf”} 34 http_request_duration_seconds_bucket{customer=“1423”, host=“foo”, le=“+Inf” , service=“asdf”} 130 http_request_duration_seconds_sum{customer=“1423”, host=“foo”, service=“asdf”} http_request_duration_seconds_count{customer=“1423”, host=“foo”, service=“asdf”}
  • 48. http_request_duration_seconds_bucket{customer=“1423”, host=“foo”, le=“0.1”, service=“asdf”} 23 http_request_duration_seconds_bucket{customer=“1423”, host=“foo”, le=“0.5” , service=“asdf”} 30 http_request_duration_seconds_bucket{customer=“1423”, host=“foo”, le=“2” , service=“asdf”} 34 http_request_duration_seconds_bucket{customer=“1423”, host=“foo”, le=“+Inf” , service=“asdf”} 130 http_request_duration_seconds_sum{customer=“1423”, host=“foo”, service=“asdf”} http_request_duration_seconds_count{customer=“1423”, host=“foo”, service=“asdf”} http_request_duration_seconds_bucket{customer=“52”, host=“foo”, le=“0.1”, service=“asdf”} 23 http_request_duration_seconds_bucket{customer=“52”, host=“foo”, le=“0.5” , service=“asdf”} 30 http_request_duration_seconds_bucket{customer=“52”, host=“foo”, le=“2” , service=“asdf”} 34 http_request_duration_seconds_bucket{customer=“52”, host=“foo”, le=“+Inf” , service=“asdf”} 130 http_request_duration_seconds_sum{customer=“52”, host=“foo”, service=“asdf”} http_request_duration_seconds_count{customer=“52”, host=“foo”, service=“asdf”}
  • 49. http_request_duration_seconds_bucket{customer=“1423”, host=“foo”, le=“0.1”, service=“asdf”} 23 http_request_duration_seconds_bucket{customer=“1423”, host=“foo”, le=“0.5” , service=“asdf”} 30 http_request_duration_seconds_bucket{customer=“1423”, host=“foo”, le=“2” , service=“asdf”} 34 http_request_duration_seconds_bucket{customer=“1423”, host=“foo”, le=“+Inf” , service=“asdf”} 130 http_request_duration_seconds_sum{customer=“1423”, host=“foo”, service=“asdf”} http_request_duration_seconds_count{customer=“1423”, host=“foo”, service=“asdf”} http_request_duration_seconds_bucket{customer=“52”, host=“foo”, le=“0.1”, service=“asdf”} 23 http_request_duration_seconds_bucket{customer=“52”, host=“foo”, le=“0.5” , service=“asdf”} 30 http_request_duration_seconds_bucket{customer=“52”, host=“foo”, le=“2” , service=“asdf”} 34 http_request_duration_seconds_bucket{customer=“52”, host=“foo”, le=“+Inf” , service=“asdf”} 130 http_request_duration_seconds_sum{customer=“52”, host=“foo”, service=“asdf”} http_request_duration_seconds_count{customer=“52”, host=“foo”, service=“asdf”} http_request_duration_seconds_bucket{customer=“999”, host=“foo”, le=“0.1”, service=“asdf”} 23 http_request_duration_seconds_bucket{customer=“999”, host=“foo”, le=“0.5” , service=“asdf”} 30 http_request_duration_seconds_bucket{customer=“999”, host=“foo”, le=“2” , service=“asdf”} 34 http_request_duration_seconds_bucket{customer=“999”, host=“foo”, le=“+Inf” , service=“asdf”} 130 http_request_duration_seconds_sum{customer=“999”, host=“foo”, service=“asdf”} http_request_duration_seconds_count{customer=“999”, host=“foo”, service=“asdf”}
  • 50. Pull represents full state every scrape
  • 51. Push an event http_request customer=“1423”, host=“foo”, le=“0.1”, service=“asdf”, response_time=23
  • 52. What about tracing? • Level of detail so high you must sample
  • 53.
  • 54.
  • 55.
  • 56. Match precision to use case • Query log • Auditing • Usage metering • Analytics of many kinds
  • 57. Columnar databases solve performance problems for storing events
  • 58. Back to Tables City State Zip Temp Humidity Time Denver CO 80222 62.3 32 1 Denver CO 80222 61.2 32 2 Bellevue WA 98007 50.7 76 1 Bellevue WA 98007 50.5 76 2 Brooklyn NY 11249 58.2 55 1 Brooklyn NY 11249 57.0 55 2 Tags Timestamp Fields
  • 59. Back to Tables City State Zip Temp Humidity Time Denver CO 80222 62.3 32 1 Denver CO 80222 61.2 32 2 Bellevue WA 98007 50.7 76 1 Bellevue WA 98007 50.5 76 2 Brooklyn NY 11249 58.2 55 1 Brooklyn NY 11249 57.0 55 2 select avg(temp) from weather where time < 100 and state = “NY”;
  • 60. Solving the performance problem • Per column compression (dictionary, RLE) • Vectorized execution • Parallelism • Partitioning • Pruning
  • 61. Per-column Compression City State Zip Temp Humidity Time Denver CO 80222 62.3 32 1 Denver CO 80222 61.2 32 2 Bellevue WA 98007 50.7 76 1 Bellevue WA 98007 50.5 76 2 Brooklyn NY 11249 58.2 55 1 Brooklyn NY 11249 57.0 55 2 Repeated values: Dictionary Encoding, RLE
  • 62. Partitioned Layout measurement 1 C1 C2 C3 C4 time 2022-11--01 2022-11--02 C1 C2 C3 C4 time
  • 63. Query Properties • Execution against all rows from included partitions • Accessing a single series through brute force • 1B rows/sec/core
  • 64. Partitioned Layout measurement2 C1 C2 C3 time 2022-11--01 2022-11--02 region=west region=east C1 C2 C3 time
  • 65. Time Series Blocks Partitions
  • 66. Problems to Solve • Wide Tables (many columns) • Sparse Tables • Repartitioning (automatic) • Secondary Indexes
  • 69. InfluxDB IOx • Columnar database • SQL natively supported • Cloud Database • Federated at the Edge
  • 70. Available in InfluxDB Cloud Today!
  • 71. InfluxDB IOx is a TSDB for storing AND calculating time series
  • 72. T H A N K Y O U