BTrDB
btrdb.readthedocs.io
What it is
BTrDB is a free, MIT-licensed, self-hosted time-series database for dense, high-precision univariate data. It partitions data by time, supports clustered deployments, and records stream changes as new versions that queries can target. Streams have unique UUIDs and can be grouped into collections with tags and annotations. The Python btrdb package supports nanosecond-timestamp queries and insertion through Stream.insert, PyArrow tables, or pandas DataFrames. Statistical queries can return minimum, maximum, mean, count, and standard deviation without reading every underlying point. StreamSets can be filtered and converted to pandas DataFrames or CSV files. Documentation shows Dash and Plotly visualization, Ray-worker serialization, TLS on port 4411, and API-key authentication requiring that TLS port. Arrow-based tabular methods are documented for commercial customers with Arrow-enabled servers. BTrDB reports measured cluster throughput and compression figures, and describes smart-grid aggregation at city or country scale as one target use case.
Spec sheet
- Product
- BTrDB is a time-partitioned, version-annotated clustered time-series database for high-density univariate data.Read 11 Oct 2026 · btrdb.readthedocs.io
- Integrations
- The Python documentation includes examples using Dash and Plotly to plot data queried from BTrDB.Read 4 Oct 2026 · btrdb.readthedocs.io
- Security
- The documentation describes TLS access on port 4411 and API-key authentication, which requires the TLS port.Read 4 Oct 2026 · btrdb.readthedocs.io
- Support
- The documentation invites users to submit pull requests or open a GitHub issue for additions or corrections.Read 11 Oct 2026 · btrdb.readthedocs.io
- License
- The BTrDB server repository identifies its license as MIT.Read 11 Oct 2026 · github.com
- Aggregates
- StatPoint queries can return min, max, mean, count, and standard deviation, with query time proportional to the number of results.Read 4 Oct 2026 · btrdb.readthedocs.io
- Client library
- The documentation provides Python access to BTrDB through the btrdb package.Read 4 Oct 2026 · btrdb.readthedocs.io
- Commercial feature limit
- The documentation says native tabular data formats are enabled for commercial customers.Read 11 Oct 2026 · btrdb.readthedocs.io
- Compression
- The documentation reports 2.93x compression for high-precision nanosecond streams.Read 11 Oct 2026 · btrdb.readthedocs.io
- Data formats
- StreamSets can be filtered and converted to formats including pandas DataFrames and CSV files.Read 4 Oct 2026 · btrdb.readthedocs.io
- Data integrations
- The documentation describes StreamSet conversions to pandas DataFrames and CSV, and Arrow-enabled methods for tabular data.Read 11 Oct 2026 · btrdb.readthedocs.io
- Data request behavior
- The docs state that data requests are fully materialized and that generator-based processing is planned for a future release.Read 11 Oct 2026 · btrdb.readthedocs.io
- Install
- The maker recommends installing btrdb-python with pip and also documents installation with Anaconda.Read 4 Oct 2026 · btrdb.readthedocs.io
- Installation
- The maker recommends installing btrdb-python with pip and offers data-science and all-optional-dependency extras.Read 11 Oct 2026 · btrdb.readthedocs.io
- Nanosecond timestamps
- BTrDB’s example client uses nanosecond timestamps to query time-series values.Read 4 Oct 2026 · btrdb.readthedocs.io
- Parallel processing
- The client documents a serializer for passing BTrDB connections, streams, and StreamSets to Ray workers.Read 4 Oct 2026 · btrdb.readthedocs.io
- 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.Read 11 Oct 2026 · btrdb.readthedocs.io
- Python client
- The documented btrdb-python library connects to a BTrDB server and supports stream lookup and time-series retrieval.Read 11 Oct 2026 · btrdb.readthedocs.io
- Query summaries
- Statistical points can provide min, max, mean, count, and standard deviation without reading every underlying point.Read 11 Oct 2026 · btrdb.readthedocs.io
- 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.Read 4 Oct 2026 · github.com
- Stream collections
- Streams have unique UUIDs and can be grouped into collections with tags and annotations for metadata.Read 4 Oct 2026 · btrdb.readthedocs.io
- Use case
- The documentation describes BTrDB as designed for dense, streaming telemetry, including high-precision sensor data.Read 11 Oct 2026 · btrdb.readthedocs.io
- Versioning
- Data is version annotated, allowing queries against a specific stream version for reproducible results.Read 11 Oct 2026 · btrdb.readthedocs.io
- Visualization
- The docs show examples using BTrDB data with Dash and Plotly.Read 11 Oct 2026 · btrdb.readthedocs.io
Plans and prices
Strong points and limits
Strong points
- Self-hosted clustered deployment
- Nanosecond timestamp queries
- Versioned streams and collections
- Multiple Python insertion methods
- TLS and API-key authentication
Limits
- Arrow tabular methods require commercial customers with enabled servers
- Data requests are fully materialized
- No SQL support listed
Who it suits
BTrDB suits teams self-hosting clustered storage for dense streaming telemetry, including high-precision sensor or smart-grid data. Python, pandas, PyArrow, visualization, and Ray users have documented integration paths.
Verdict
BTrDB offers versioned, clustered time-series storage with a substantial Python data workflow. Its self-hosted model and documented commercial limitation for Arrow methods matter when planning deployment and tooling.
Where Specifiction places it
- Time-Series Databases#3 of 368.8