Using the Downsampling Plugin in InfluxDB 3

Navigate to:

Modern systems generate huge volumes of time series data. Advances in hardware and edge instrumentation enable sensors and applications to capture new values every second—or faster—which makes high-frequency measurement easy and affordable. When applied effectively, this steady flow of data reveals early warning signs, highlights subtle performance shifts, and helps teams understand how systems behave in real-time.

Volume, however, rises fast. As systems expand and more signals come online, incoming metrics grow at a pace that pushes dashboards, queries, and storage beyond their limits. The same data that strengthens observability can place increasing strain on the tools meant to interpret it. Teams need more than raw detail; they need a clear view of how values change over time and a system that can keep up with the data it collects.

When data growth slows systems

As high-frequency data grows, the strain shifts from individual queries to the entire monitoring workflow. Dashboards take longer to refresh because they must scan large time ranges. Queries require more computing, which increases cloud spend and slows routine investigations. Storage fills sooner than expected, often forcing earlier retention cuts or more aggressive archiving.

These slowdowns carry a tangible business impact. Delayed dashboards mean engineers spot issues later, which increases the risk of prolonged incidents or missed early indicators. Higher compute usage drives up operational costs, especially for teams managing large-scale cloud deployments. Shortened retention removes the historical context needed for forecasting and capacity planning, leading to decisions based on partial or incomplete information. Over time, organizations pay more for monitoring while seeing less.

Taken together, these pressures limit how effectively teams can investigate anomalies, validate system health, and track behavior across longer time windows. Reduced visibility lowers confidence in day-to-day operations and slows the ability to act when systems show early signs of change.

Organizations need a long-term strategy that keeps datasets manageable, preserves signal quality, and maintains visibility as systems scale.

What downsampling is

Downsampling reduces the volume of time series data by grouping older points into wider intervals and summarizing them with aggregates. Instead of storing every reading, the system creates buckets—such as 30 seconds, 1 minute, or 5 minutes—and computes values like averages, minimums, or maximums for each bucket. Recent data remains at full resolution while older data becomes lighter and easier to work with.

This structure supports multi-resolution storage: short windows stay detailed, mid-range summaries support operational analysis, and longer intervals preserve the trends needed for multi-day insight. The result is a clearer dataset that scales without overwhelming dashboards, compute resources, or storage.

Downsampling makes long-term time series analysis sustainable. By transforming high-frequency values into structured summaries, teams gain a clearer view of patterns that emerge over hours, days, or weeks. Trend lines become easier to compare, multi-day windows load faster, and queries stay efficient even as telemetry grows. This approach gives organizations a reliable foundation for forecasting, capacity planning, and understanding how behavior changes over extended periods.

Downsampling in action

Consider vibration sensors mounted on industrial pumps. Each sensor records a new amplitude every second to detect early signs of mechanical wear. A single device generates more than 80,000 readings per day. A fleet of 250 sensors produces more than 20 million points daily. Querying a 30-day window of raw data forces dashboards to scan hundreds of millions of rows, slowing analysis and increasing compute cost.

Converting 1-second vibration readings into 1-minute rollups reduces data volume by more than 98% while preserving the overall vibration pattern. Engineers still see changes in amplitude, identify spikes, and compare trends across pumps, but queries return faster, and storage consumption remains manageable.

This same pattern benefits application latency metrics, infrastructure telemetry, and IoT data streams. Downsampling connects these layers so systems stay responsive in real-time while maintaining a clear historical record.

The downsampling plugin in InfluxDB 3

The downsampling plugin in InfluxDB 3 automates the entire rollup process. Instead of maintaining custom scripts or recurring SQL jobs, teams configure a small set of rules that the plugin applies on schedule. The plugin reads the source table, groups older values into defined time buckets, computes aggregates, and writes the results into a dedicated summary table. Because InfluxDB 3 stores data in a columnar format, these operations run efficiently even at a large scale. Teams gain consistent summaries without changing how they write queries or manage retention.

Using the downsampling plugin: A step-by-step guide

Once you understand why downsampling matters, the next step is to turn that understanding into a reliable workflow. This tutorial walks through how to identify the right measurement to summarize, create a rollup table, configure the plugin, and confirm that the summarized values reflect the underlying time series data. The goal is simple: keep insight high and long-term data manageable as systems scale.

Before You Begin

You will need an InfluxDB 3 instance, a measurement that receives high-frequency time series data, and access to run SQL. This guide assumes a raw measurement, such as metrics_raw, that records values at least once per second.

1. Identify the data that needs downsampling

Not every measurement benefits from summarization. The best candidates are those that grow quickly and slow down long-range queries or dashboards. A quick count over a single day helps reveal how quickly a dataset expands:

SELECT COUNT(*)
FROM metrics_raw
WHERE time >= now() - interval '1 day';

If the result shows millions of points, downsampling will likely improve performance. Measurements with second-level or sub-second readings usually generate the highest volume and offer the clearest benefit.

2. Clarify your rollup goals

Before building any rollups, decide how much detail you need for long-term analysis. Downsampling works best when intervals match the time ranges your team uses. A 1-minute view is typical for operational dashboards, while 5- or 15-minute summaries help with trend analysis. Wider intervals, such as 30 minutes or an hour, support multi-day or multi-week reviews.

Aggregates define what the summary represents. AVG() captures overall direction, MIN() and MAX() preserve the range of behavior, and COUNT() confirms sample density. The right mix keeps meaningful variation while reducing noise and storage.

3. Create a table for summarized data

Rollups work best when written to their own table, separate from the raw measurement. This keeps data organized and makes it easier to query the correct layer for each use case. Use the SQL time_bucket function to group older points into predictable intervals that match your rollup needs.

CREATE TABLE metrics_1m AS
SELECT
  time_bucket(INTERVAL '1 minute', time) AS bucket,
  device_id,
  AVG(value) AS avg_value,
  MIN(value) AS min_value,
  MAX(value) AS max_value,
  COUNT(*) AS samples
FROM metrics_raw
GROUP BY bucket, device_id;

This reduces 1-second readings to 1-minute summaries. The trend remains clear, but the volume becomes far easier to work with.

4. Configure the downsampling plugin

With the rollup table in place, the downsampling plugin automates the summarization process. The plugin reads new points from your raw table, applies the defined interval and aggregates , then writes updated summaries to the rollup table.

You can configure and schedule this job directly through the InfluxDB 3 plugin library, where each plugin includes its own setup options.

Most teams schedule the plugin to run every few minutes to keep dashboards fresh. A five-minute schedule works well for 1-minute rollups, while 15-minute or hourly schedules work for wider intervals. Each run processes only new data, which keeps the workload efficient even as datasets grow.

Once configured, the plugin maintains the entire pipeline without manual cleanup or recurring scripts.

5. Direct queries to the right data layer

Once rollups are in place, you can query data with SQL against the raw or summarized tables, depending on the time range you need to explore. Raw time series data is ideal for short-term investigation, but long-range dashboards benefit from summarized data. After rollups are in place, point dashboards and analytics tools to the rollup table for wider windows. This reduces the number of rows scanned and makes charts more responsive.

A typical pattern looks like this:

  • Last hour uses raw data
  • Last 24 hours uses 1-minute rollups
  • Multi-day or monthly windows use 5-minute or hourly rollups

Here’s how the difference plays out in practice.

Raw data:

SELECT time, device_id, value
FROM metrics_raw
WHERE device_id = 'sensor-101'
  AND time >= now() - interval '30 days';

Rollups:

SELECT bucket AS time, device_id, avg_value
FROM metrics_1m
WHERE device_id = 'sensor-101'
  AND bucket >= now() - interval '30 days';

The rollup query is lighter, faster, and more predictable at scale.

6. Validate your summaries

Before fully relying on rollups in production, confirm that your summarized values reflect the raw measurement. Compare both layers over a small window:

-- Raw data
SELECT MIN(value), MAX(value), AVG(value)
FROM metrics_raw
WHERE time >= now() - interval '1 hour';
-- Rollups
SELECT MIN(avg_value), MAX(avg_value), AVG(avg_value)
FROM metrics_1m
WHERE bucket >= now() - interval '1 hour';

The values should align closely. If results fall outside expected ranges, check the job schedule or confirm that your buckets line up with the raw timestamps.

7. Build additional rollup layers if needed

Some teams need views that span weeks or months. In these cases, multiple layers of rollups help maintain fast queries without sacrificing clarity. A common structure moves from 1-second data to 1-minute summaries, then to 5-minute summaries, and finally to hourly summaries for long-term storage.

Use these layers only when your dashboards require them. Too many layers can add more complexity than value.

8. Putting the workflow in place

Once you configure the downsampling plugin, InfluxDB 3 maintains a clear data lifecycle. High-frequency data stays at full resolution for recent troubleshooting. Summaries provide efficient visibility across longer windows. Dashboards load quickly, queries run with less compute, and storage grows at a predictable rate. The workflow stays consistent as systems scale.

Optimizing data with downsampling

As time series volume grows, so does the cost of storing and querying it. Enterprises feel this impact in higher compute usage, slower analysis, and retention strategies that no longer align with operational needs. Downsampling gives teams a reliable way to control these costs by shaping data into structures designed for long-range visibility and efficient retrieval. With automated rollups in place, organizations reduce the overhead of wide-window queries and build monitoring workflows that stay responsive as environments expand.

See how downsampling fits into a cost-efficient monitoring strategy. Get started with a free download of InfluxDB 3 Core OSS or a trial of InfluxDB 3 Enterprise.