InfluxDB
A time-series database for ingesting, storing, querying, and processing metrics, events, and timestamped application data.
Why consider InfluxDB?
InfluxDB 3 Core is an open-source time series database built with Rust, Apache Arrow, and DataFusion for high-throughput real-time metrics and analytics. It provides developers and infrastructure teams with low-latency querying, Parquet storage persistence, and an embedded Python processing engine.
Learn InfluxDB by building
Practical setup notes, real use cases, and copy-ready examples in one focused guide.
In this guide4 sections
Overview of InfluxDB 3 Architecture
Time series data infrastructure requires high ingestion throughput alongside immediate query accessibility for monitoring telemetry, financial ticks, and industrial sensors. InfluxDB 3 Core serves as an open source time series database designed for real-time events, analytics, and monitoring, built on Apache Arrow, DataFusion, and Parquet. By adopting Apache Arrow in-memory columnar representations and Apache Parquet persistent file formats, the engine achieves exceptional compression and analytical performance on modern multicore hardware.
Modern observability stacks demand immediate feedback loops when telemetry arrives from thousands of distributed agents. The database is built to collect, process, transform, and store event and time series data for systems requiring real-time ingest and rapid query responses. This enables engineering teams to feed interactive dashboards, real-time alert triggers, and automated anomaly detection systems without relying on sluggish batch consolidation pipelines.
Storage flexibility is a cornerstone of modern cloud-native architectures where separating compute from storage lowers operational overhead. InfluxDB 3 Core features a diskless architecture supporting object storage providers like S3, Azure, and GCP, as well as local disk without external dependencies. Operators can deploy lightweight container instances that stream columnar Parquet files directly to cost-effective cloud buckets while maintaining fast local caching for hot queries.
Query Engine and Performance Capabilities
Interactive user interfaces and alerting rules rely heavily on instantaneous responses for state inspection and filtering operations. The engine delivers fast query response times, clocking under 10ms for last-value lookups and 30ms for distinct metadata queries. These latency characteristics ensure that web applications rendering charts and tracking metric distributions receive data without noticeable lag.
Interfacing with analytical datasets is straightforward because the engine natively exposes modern standard querying interfaces. Developers can query their time series data using a standard SQL query engine with support for Apache Arrow Flight SQL and an HTTP query API. By leveraging Flight SQL, client applications stream tabular Arrow record batches with zero serialization overhead, maximizing network throughput for large analytical extractions.
Migrating existing telemetry pipelines does not require rewriting collection collectors or agent configurations. The platform maintains backwards compatibility with InfluxDB 1.x and 2.x write APIs, allowing line protocol ingestion from existing pipelines. Popular collectors like Telegraf, Prometheus remote write integrations, and custom shell scripts can point directly to port 8181 and write line protocol metrics without breaking changes.
Extensible Processing Engine with Embedded Python
Complex stream processing and data enrichment workflows often require programmatic flexibility beyond standard declarative SQL statements. The InfluxDB 3 processing engine functions as an embedded Python VM for running custom data transformation logic directly inside the database. Users can author Python triggers and scheduled plugins to clean incoming telemetry, perform anomaly calculations, and emit secondary derived series on the fly.
The seamless integration between high-performance Rust internals and dynamic Python scripts is achieved through mature bindings. InfluxDB leverages the PyO3 crate to integrate embedded Python capabilities, enabling the processing engine by default. This bridge allows the Rust runtime to safely manage execution contexts, memory boundaries, and native data structures when invoking Python hooks.
To avoid dependency conflicts and variations across diverse host environments, the distribution model encapsulates its interpreter dependencies. Official InfluxDB distributions bundle a pre-built release of python-build-standalone to deliver a portable and consistent CPython runtime across supported operating systems. This packaging strategy guarantees that Python virtual environments and imported wheels behave identically on Linux, macOS, and Windows.
Building and Verifying InfluxDB 3 from Source
Developers wishing to contribute or inspect internal data structures benefit from a modern Rust codebase designed for high concurrency and memory safety. InfluxDB 3 is developed primarily in idiomatic Rust and adheres to official Rust API guidelines. Maintainers enforce strict formatting rules, comprehensive static analysis, and type safety across all workspace crates to maintain high code quality.
Compiling the engine locally gives engineers full freedom to evaluate development branches, test custom processing plugins, and run benchmarks. Building the InfluxDB 3 binary from source requires installing a recent Rust toolchain using rustup before compiling the project with Cargo. Before submitting contributions, developers format code across the repository:
cargo fmt --allTo catch common mistakes and enforce idiomatic patterns during continuous integration, contributors run static checks across all workspace targets. InfluxDB 3 Core embeds a dedicated Python virtual machine for executing custom plugins and event-driven triggers directly inside the engine. You can verify code style and linter requirements with the following clippy command:
cargo clippy --all-targets --workspace -- -D warningsRunning the full automated test suite ensures that changes do not break existing SQL execution pathways, storage compaction, or ingestion endpoints. The open source software we build is licensed under the permissive MIT or Apache 2 licenses at the user’s choosing. You can run tests using cargo-nextest:
cargo nextest run --workspaceLicensing transparency gives organizations full confidence when embedding the database into their production clusters. The Apache Software License Version 2.0 provides permissive terms for reproduction, modification, and distribution of source code and binaries. You can inspect the canonical repository at InfluxDB Repository and review release artifacts at InfluxDB Releases.
Related tools
More options with a similar category or technology profile.
dash.
Simple, modern server dashboard and hardware monitor for homelabs.
Xen Orchestra
Complete web-based management and backup solution for XCP-ng and XenServer.
Cockpit Project
Web-based graphical interface for Linux servers with zero overhead.
Kresus
Self-hosted personal finance manager with automatic bank synchronization.