Skip to content

Latest commit

 

History

History
40 lines (29 loc) · 2.38 KB

File metadata and controls

40 lines (29 loc) · 2.38 KB

$HYPERCORE_CAP is a hybrid row-columnar storage engine in $TIMESCALE_DB. It is designed specifically for real-time analytics and powered by time-series data. The advantage of $HYPERCORE is its ability to seamlessly switch between row-oriented and column-oriented storage, delivering the best of both worlds:

Hypercore workflow

$HYPERCORE_CAP solves the key challenges in real-time analytics:

  • High ingest throughput
  • Low-latency ingestion
  • Fast query performance
  • Efficient handling of data updates and late-arriving data
  • Streamlined data management

$HYPERCORE_CAP’s hybrid approach combines the benefits of row-oriented and column-oriented formats:

  • Fast ingest with $ROWSTORE: new data is initially written to the $ROWSTORE, which is optimized for high-speed inserts and updates. This process ensures that real-time applications easily handle rapid streams of incoming data. Mutability—upserts, updates, and deletes happen seamlessly.

  • Efficient analytics with $COLUMNSTORE: as the data cools and becomes more suited for analytics, it is automatically converted to the $COLUMNSTORE. This columnar format enables fast scanning and aggregation, optimizing performance for analytical workloads while also saving significant storage space.

  • Faster queries on compressed data in $COLUMNSTORE: in the $COLUMNSTORE conversion, hypertable chunks are compressed by up to 98%, and organized for efficient, large-scale queries. Combined with chunk skipping, this helps you save on storage costs and keeps your queries operating at lightning speed.

  • Fast modification of compressed data in $COLUMNSTORE: just use SQL to add or modify data in the $COLUMNSTORE. $TIMESCALE_DB is optimized for superfast INSERT and UPSERT performance.

  • Full mutability with transactional semantics: regardless of where data is stored, $HYPERCORE provides full ACID support. Like in a vanilla $PG database, inserts and updates to the $ROWSTORE and $COLUMNSTORE are always consistent, and available to queries as soon as they are completed.

For an in-depth explanation of how $HYPERTABLEs and $HYPERCORE work, see the Data model.