> ## Documentation Index
> Fetch the complete documentation index at: https://mintlify-poc.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Understand capabilities

> Learn how TimescaleDB capabilities work together to power time-series and analytics workloads

export const CLOUD_LONG = 'Tiger Cloud';

export const TIMESCALE_DB = 'TimescaleDB';

{TIMESCALE_DB} extends PostgreSQL with powerful capabilities designed specifically for time-series data,
real-time analytics, and event-driven workloads. These capabilities work together to provide a complete
solution for ingesting, storing, querying, and analyzing massive datasets efficiently.

## Capabilities overview

{TIMESCALE_DB} capabilities fall into the following categories:

### Data storage and organization

* **[Hypertables][hypertables]**: automatically partition time-series data into chunks for efficient data
  management at scale

* **[Hypercore][hypercore]**: automatically provides columnar storage with advanced compression, delivering
  90-95% storage reduction

### Data processing and aggregation

* **[Continuous aggregates][continuous-aggregates]**: automatically maintain pre-computed aggregations that
  update incrementally as new data arrives

* **[Hyperfunctions][hyperfunctions]**: provide specialized SQL functions for time-series analysis, including
  statistical aggregation and percentiles

### Data lifecycle management

* **[Data retention][data-retention]**: policies automatically drop old data based on time intervals, keeping
  storage costs under control

* **Compression**: (superseded by Hypercore) provides row-based compression for older data in existing deployments

### Schema optimization and automation

* **[Optimize your schema][optimize-schema]**: using PostgreSQL features like indexes, constraints, triggers,
  tablespaces, and foreign data wrappers

* **[Jobs][jobs]**: automate recurring tasks like compression, continuous aggregate refreshes, data retention,
  and custom maintenance

## Typical workflow

Here's how {TIMESCALE_DB} capabilities work together in a typical time-series application:

1. **[Data ingestion][hypertables]**

   Start by [creating a hypertable][hypertables-setup] for your time-series data. The hypertable
   automatically partitions data into time-based chunks, enabling efficient inserts and queries. As data
   arrives, it's written to the appropriate chunk based on timestamp.

   For high-volume ingestion, [optimize your schema][optimize-schema] with appropriate indexes and
   constraints. Use bulk insert methods like COPY or multi-row INSERT statements for best performance. For
   migrating existing data or importing from external sources, see [import and ingest data][import-ingest].

2. **[Real-time analytics][continuous-aggregates]**

   As data lands in hypertables, [continuous aggregates][continuous-aggregates-setup] automatically update to
   maintain pre-computed summaries. Use [hyperfunctions][hyperfunctions] in your aggregates to calculate
   statistics, percentiles, time-weighted averages, and other specialized metrics.

   Query continuous aggregates instead of raw data for instant results on dashboards and reports. Real-time
   aggregates ensure you see the latest data without waiting for batch processing.

3. **[Data optimization][hypercore]**

   [Hypercore][hypercore-setup] automatically provides columnar storage with advanced compression for all new
   hypertables, dramatically reducing storage costs and speeding up analytical queries. Data is automatically
   converted to columnar format and optimized for analytical access patterns.

   This columnar storage reduces storage by 90-95% while maintaining full query capabilities and delivering
   100-1000x performance improvements for analytics workloads.

4. **[Data lifecycle][data-retention]**

   [Configure retention policies][data-retention] to automatically drop old data when it's no longer needed.
   Retention works seamlessly with Hypercore and compression, removing entire chunks efficiently without
   impacting performance.

   Retention policies can preserve aggregated data in continuous aggregates even after dropping raw data,
   enabling long-term trend analysis without storing every data point.

5. **[Automation][jobs]**

   [Schedule jobs][jobs] to automate compression, continuous aggregate refreshes, retention, and custom
   maintenance tasks. Jobs run reliably in the background and provide execution history for monitoring and
   troubleshooting.

   Use job scheduling for regular data quality checks, statistics updates, or data transformations that need
   to run on a schedule.

## Capabilities by use case

### IoT and sensor data

For IoT workloads with millions of devices generating continuous metrics:

* **[Hypertables][hypertables]**: partition data by time and optionally by device ID for optimal performance
* **[Hypercore][hypercore]**: automatic columnar storage compresses sensor readings with 95%+ storage reduction
* **[Continuous aggregates][continuous-aggregates]**: pre-compute device statistics, fleet-wide metrics, and
  anomaly detection
* **[Data retention][data-retention]**: automatically drop raw sensor data after a retention period
* **[Hyperfunctions][hyperfunctions]**: use downsampling (LTTB) for visualization, time-weighted averages for
  irregular samples

### Financial analytics

For financial data with high-frequency trading, market data, and portfolio analytics:

* **[Hypertables][hypertables]**: store tick data, OHLCV bars, and trade executions with automatic columnar storage
* **[Hyperfunctions][hyperfunctions]**: calculate candlestick aggregates, percentiles, statistical measures
* **[Continuous aggregates][continuous-aggregates]**: maintain pre-computed OHLCV bars, technical indicators,
  portfolio valuations
* **[Hypercore][hypercore]**: automatic compression enables cost-effective long-term backtesting on historical
  market data
* **[Optimize schema][optimize-schema]**: use indexes for symbol lookups, constraints for data integrity

### Observability and monitoring

For system metrics, logs, and distributed tracing:

* **[Hypertables][hypertables]**: ingest metrics, logs, and traces with automatic partitioning and columnar storage
* **[Continuous aggregates][continuous-aggregates]**: maintain service health metrics, error rates, latency percentiles
* **[Hyperfunctions][hyperfunctions]**: calculate uptime/downtime (heartbeat aggregation), detect anomalies,
  analyze distributions
* **[Hypercore][hypercore]**: automatic compression enables cost-effective long-term retention of historical
  metrics and traces
* **[Data retention][data-retention]**: drop raw data after debugging period while keeping aggregated metrics

[continuous-aggregates]: /manage-data/capabilities/continuous-aggregates/understand-continuous-aggregates

[continuous-aggregates-setup]: /manage-data/capabilities/continuous-aggregates/setup-continuous-aggregates

[data-retention]: /manage-data/capabilities/data-retention

[hypercore]: /manage-data/capabilities/hypercore/understand-hypercore

[hypercore-setup]: /manage-data/capabilities/hypercore/setup-hypercore

[hyperfunctions]: /manage-data/capabilities/hyperfunctions/understand-hyperfunctions

[hypertables]: /manage-data/capabilities/hypertables/understand-hypertables

[hypertables-setup]: /manage-data/capabilities/hypertables/setup-hypertables

[import-ingest]: /manage-data/import-and-ingest/live-migration

[jobs]: /manage-data/capabilities/create-and-manage-jobs

[optimize-schema]: /manage-data/capabilities/optimize-your-schema/understand-database-schemas
