timescale/timescaledb

A time-series database for high-performance real-time analytics packaged as a Postgres extension

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 47 minutes ago
Added to GitGenius on April 8th, 2021
Created on March 7th, 2017
Open Issues & Pull Requests: 396 (+0)
Number of forks: 1,139
Total Stargazers: 23,404 (+0)
Total Subscribers: 307 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 6.3 days
Mean response time: 416.7 days
90th percentile: 1601.6 days
Tracked items: 992

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 80% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Work labelled "no-activity" is answered fastest, typically in about 2 days, while "hypertable" waits about 48 months. 42% of tracked open issues have had no activity in three months. Only 6% of issues opened in the past year have been closed.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 359
New in 7 days: 9
Closed in 7 days: 3
Avg open age: 1,027 days
Stale 30+ days: 336
Stale 90+ days: 297

Recent activity

Opened in 7 days: 8
Closed in 7 days: 2
Comments in 7 days: 1
Events in 7 days: 39

Top labels

  • bug (1,500)
  • waiting-for-author (340)
  • Continuous Aggregate (315)
  • feature-request (311)
  • Columnstore (291)
  • enhancement (251)
  • question (214)
  • segfault (102)

Detailed Description

TimescaleDB is a PostgreSQL extension written in C that enables high-performance real-time analytics on time-series and event data. It extends PostgreSQL's native capabilities to handle the specific demands of time-series workloads, allowing users to store and query massive volumes of timestamped data efficiently. The extension is distributed under the tigerdata brand and serves use cases spanning IoT, financial analysis, and general analytics applications.

The core architectural innovation in TimescaleDB is the hypertable, which automatically partitions data into time-based chunks for efficient querying and storage. This chunking strategy enables the database to optimize query execution by scanning only relevant time ranges and columns rather than entire datasets. TimescaleDB implements columnstore functionality that achieves typical compression ratios exceeding 90 percent while enabling faster vectorized queries. The extension also provides the time_bucket function, a specialized aggregation tool designed specifically for time-series data analysis that simplifies temporal grouping operations.

Continuous aggregates represent another key feature, functioning as incrementally refreshable materialized views that distinguish themselves from standard PostgreSQL materialized views. Rather than rebuilding aggregations from scratch on each refresh, continuous aggregates process only new or changed data, making them suitable for maintaining real-time analytical summaries across large datasets. Users can attach refresh policies to continuous aggregates to automate updates at specified intervals, with configurable windows that balance freshness against computational overhead.

The codebase shows sufficient overlap with major projects including microsoft/vscode, microsoft/typescript, and rust-lang/rust through shared contributors.

The quick-start documentation guides users through creating hypertables with columnstore enabled, inserting data, and executing analytical queries, with deployment options including one-line installation scripts and Docker containers. The extension exposes PostgreSQL on port 6543 by default in development setups to avoid conflicts with standard PostgreSQL instances.

The project positions itself as foundational infrastructure for data-heavy applications requiring low-latency queries on continuously arriving data. It addresses retention policy management, horizontal scaling capabilities, and query optimization as core concerns. The extension maintains compatibility with standard SQL while adding time-series specific functions and operations, allowing developers to leverage PostgreSQL's ecosystem and familiarity while gaining specialized performance characteristics for temporal data workloads.