SlideShare a Scribd company logo
Paul Dix
InfluxData – CTO & co-founder
paul@influxdata.com
@pauldix
Replication, durability and
subscriptions in InfluxDB IOx
InfluxDB IOx components
• Write Buffer
• Write segment persistence
• Subscriptions
• In-memory database
• Parquet persistence
• Catalog
• Configuration, partition summaries
InfluxDB IOx Tech Talks: Replication, Durability and Subscriptions in InfluxDB IOx
Routing Layer
• Parse LP
• Split into shards
• Split into partitions
• Write one Entry per
shard
Possible Destinations
• Single server or
multiple servers
• Write Buffer
• In-memory DB
The Write Buffer
• Subscriptions
• Persistence
• Replication
The Write Buffer
• Router to Buffer
The Write Buffer
• Buffer assigns
clock value &
writer id
(unique)
• Makes request
to peers
• Note the
request from
Router to Buffer
still open
The Write Buffer
• Buffer 2 takes
the write,
updates its
clock to max
• Buffer 2
responds with
its clock value
• Buffer 1
updates its
clock to the
max of the two
The Write Buffer
• Buffer 1 sends
success
response to
routing layer
• Routing layer
responds to the
client (after all
shards succeed)
The Write Buffer
• Continues to
retry
The Write Buffer
• Consistency
checks
The Write Buffer
• Ask peers for
anything
missing
• Logical clock +
entry id
• High water mark
The Write Buffer
• Persistence to
object storage
• Entries in
segments
• Time or size
Subscriptions
• Everything
• Table (or regex)
• Predicate
• Push or Pull
• Or poll object
storage for
segments
Subscriptions
• Scale query tier
Catalog & Parquet
• Persist in larger
blocks
InfluxDB IOx Tech Talks: Replication, Durability and Subscriptions in InfluxDB IOx
Thank You

More Related Content

InfluxDB IOx Tech Talks: Replication, Durability and Subscriptions in InfluxDB IOx