Freedom251 › Time-Series Databases
BTrDB

What BTrDB is
BTrDB is an open-source, self-hosted time-series database for dense telemetry, including high-precision sensor data. It partitions data by time and clusters deployments, while recording stream changes as new versions. Queries can target a selected version; each stream has a unique UUID, and collections group streams with tags and annotations. The documented Python client connects to a BTrDB server, supports stream lookup and retrieval, and can query with nanosecond timestamps. Its StatPoint queries return minimum, maximum, mean, count, and standard deviation without reading every underlying point, with query time proportional to the number of results. Data can be inserted through the Python Stream.insert API, PyArrow tables, or pandas DataFrames. StreamSets can be filtered and converted to pandas DataFrames or CSV. Documentation includes plotting examples with Dash and Plotly, plus a serializer for sending connections, streams, and StreamSets to Ray workers. Arrow-based tabular methods are available to commercial customers using Arrow-enabled servers. BTrDB documents TLS access on port 4411 and API-key authentication, which requires TLS. The project describes very large smart-grid aggregation as one target, while noting support for other use cases.
Who it suits
BTrDB suits teams that need to store and query dense streaming telemetry or high-precision sensor data in a self-hosted deployment. It may also fit Python data workflows that use pandas, Dash, Plotly, or Ray.
What it does well
- Open-source software with self-hosted deployment.
- Versioned streams let queries target a specific state.
- StatPoint queries provide five statistical summaries.
- Python client supports nanosecond timestamp queries.
- StreamSets convert to pandas DataFrames or CSV.
- Horizontal scaling is supported.
What to know first
- No SQL support.
- Arrow-based tabular methods require commercial customers and Arrow-enabled servers.
- Data requests are fully materialized; generator-based processing is planned for a future release.
Limits
The BTrDB plan is free, with no plan or usage limits stated. Arrow-based tabular methods are documented for commercial customers using Arrow-enabled servers.
Plans
| Plan | Billed and limits | Price |
|---|---|---|
| BTrDB | No plan or usage limits stated on the opened pages | Free |
As btrdb.readthedocs.io lists them, read 11 Oct 2026. The maker's own page has the final word.
Getting started
- Open the BTrDB documentation website.
- Install the btrdb-python client with pip, or use the documented Anaconda installation.
- Choose the data-science or all-optional-dependency extras if needed.
- Connect the Python client to a BTrDB server.
- Use stream lookup and retrieval or insert data through the Python API, PyArrow tables, or pandas DataFrames.
Verdict
Choose BTrDB if you need an open-source, self-hosted store for dense telemetry, with versioned streams and Python-based querying. Look elsewhere if SQL support is required or if your workflow depends on Arrow-based tabular methods without commercial access and an Arrow-enabled server.
Questions
How much does BTrDB cost?
The BTrDB plan is listed as free. The pricing model is free, and the project is open source.
What platforms does it support?
BTrDB is listed for API, Linux, and self-hosted use.
Does BTrDB support SQL?
No. SQL support is listed as unavailable.
How can I use BTrDB from Python?
The documented btrdb-python client connects to a BTrDB server and supports stream lookup and time-series retrieval. Installation is documented with pip and Anaconda.
What integrations are documented?
The documentation includes examples with Dash and Plotly, plus a serializer for passing connections, streams, and StreamSets to Ray workers. StreamSets can also be converted to pandas DataFrames or CSV.
Who makes BTrDB, and how is it licensed?
The server repository identifies its license as MIT. The project describes BTrDB as deployable software and invites pull requests or GitHub issues for additions and corrections.
Facts from BTrDB's own pages
- Aggregates
- StatPoint queries can return min, max, mean, count, and standard deviation, with query time proportional to the number of results. · btrdb.readthedocs.io, 4 Oct 2026
- Client library
- The documentation provides Python access to BTrDB through the btrdb package. · btrdb.readthedocs.io, 4 Oct 2026
- Commercial feature limit
- The documentation says native tabular data formats are enabled for commercial customers. · btrdb.readthedocs.io, 11 Oct 2026
- Compression
- The documentation reports 2.93x compression for high-precision nanosecond streams. · btrdb.readthedocs.io, 11 Oct 2026
- Data formats
- StreamSets can be filtered and converted to formats including pandas DataFrames and CSV files. · btrdb.readthedocs.io, 4 Oct 2026
- Data integrations
- The documentation describes StreamSet conversions to pandas DataFrames and CSV, and Arrow-enabled methods for tabular data. · btrdb.readthedocs.io, 11 Oct 2026
- Data request behavior
- The docs state that data requests are fully materialized and that generator-based processing is planned for a future release. · btrdb.readthedocs.io, 11 Oct 2026
- Install
- The maker recommends installing btrdb-python with pip and also documents installation with Anaconda. · btrdb.readthedocs.io, 4 Oct 2026
- Installation
- The maker recommends installing btrdb-python with pip and offers data-science and all-optional-dependency extras. · btrdb.readthedocs.io, 11 Oct 2026
- Integrations
- The Python documentation includes examples using Dash and Plotly to plot data queried from BTrDB. · btrdb.readthedocs.io, 4 Oct 2026
- License
- The BTrDB server repository identifies its license as MIT. · github.com, 11 Oct 2026
- Nanosecond timestamps
- BTrDB’s example client uses nanosecond timestamps to query time-series values. · btrdb.readthedocs.io, 4 Oct 2026
- Parallel processing
- The client documents a serializer for passing BTrDB connections, streams, and StreamSets to Ray workers. · btrdb.readthedocs.io, 4 Oct 2026
- Performance
- The documentation reports 53 million inserted values per second and 119 million queried values per second on a measured four-node cluster of large EC2 nodes. · btrdb.readthedocs.io, 11 Oct 2026
- Product
- BTrDB is a time-partitioned, version-annotated clustered time-series database for high-density univariate data. · btrdb.readthedocs.io, 11 Oct 2026
- Python client
- The documented btrdb-python library connects to a BTrDB server and supports stream lookup and time-series retrieval. · btrdb.readthedocs.io, 11 Oct 2026
- Query summaries
- Statistical points can provide min, max, mean, count, and standard deviation without reading every underlying point. · btrdb.readthedocs.io, 11 Oct 2026
- Security
- The documentation describes TLS access on port 4411 and API-key authentication, which requires the TLS port. · btrdb.readthedocs.io, 4 Oct 2026
- Self-hosting and audience
- The project describes BTrDB as deployable software and says Smartgrid.store targets very large city- or country-scale aggregation from smart-grid devices, while noting BTrDB can support other use cases. · github.com, 4 Oct 2026
- Stream collections
- Streams have unique UUIDs and can be grouped into collections with tags and annotations for metadata. · btrdb.readthedocs.io, 4 Oct 2026
- Support
- The documentation invites users to submit pull requests or open a GitHub issue for additions or corrections. · btrdb.readthedocs.io, 11 Oct 2026
- Use case
- The documentation describes BTrDB as designed for dense, streaming telemetry, including high-precision sensor data. · btrdb.readthedocs.io, 11 Oct 2026
- Versioning
- Data is version annotated, allowing queries against a specific stream version for reproducible results. · btrdb.readthedocs.io, 11 Oct 2026
- Visualization
- The docs show examples using BTrDB data with Dash and Plotly. · btrdb.readthedocs.io, 11 Oct 2026
Where BTrDB stands on Freedom251
- Time-Series Databases#5 of 36