TimescaleDB 1.7 release

Published DBMS release TimescaleDB 1.7, designed for storing and processing data in the form of a time series (slices of parameter values ​​at specified time intervals, a record forms a time and a set of values ​​corresponding to this time). This form of storage is optimal for applications such as monitoring systems, trading platforms, systems for collecting metrics and sensor states. Provides tools for integration with the project grafana и Prometheus.

The TimescaleDB project is implemented as an extension to PostgreSQL and spreads licensed under Apache 2.0. A piece of code with advanced features comes under a separate proprietary license time scale (TSL), which does not allow changes, prohibits the use of code in third-party products and does not allow free use in cloud databases (database-as-a-service).

Among the changes in TimescaleDB 1.7:

  • Added support for DBMS integration PostgreSQL 12. Deprecated support for PostgreSQL 9.6.x and 10.x (Timescale 2.0 will only support PostgreSQL 11+).
  • Changed the behavior of queries with continuously executed aggregate functions (aggregation of continuously incoming data in real time). Queries like this now combine materialized views with recent data that hasn't been materialized yet (previously, aggregation covered only already materialized data). The new behavior applies to newly created continuous aggregations, for existing views, set the parameter "timescaledb.materialized_only=false" via "ALTER VIEW".
  • Some advanced data lifecycle management tools have been transferred to the Community version from the commercial edition, including the ability to regroup data and process stale data exclusion policies (allow you to store only up-to-date data and automatically delete, aggregate or archive outdated records).

Recall that the TimescaleDB DBMS allows you to use full-fledged SQL queries to analyze the accumulated data, combining the convenience of work inherent in relational DBMSs with the scaling and capabilities inherent in specialized NoSQL systems. The storage structure is optimized to provide high data addition speed. Batch addition of data sets, use of in-memory indexes, retroactive loading of historical slices, application of transactions are supported.

A key feature of TimescaleDB is support for automatic partitioning (partitioning) of a data array. The input data stream is automatically distributed across partitioned tables. Sections are created depending on time (each section stores data for a certain period of time) or in relation to an arbitrary key (for example, device ID, location, etc.). To optimize performance, partitioned tables can be striped across different disks.

To queries, a partitioned database looks like one large table called a hypertable. A hypertable is a virtual representation of many individual tables that store incoming data. The hypertable is used not only for queries and adding data, but also for operations such as creating indexes and changing the structure (“ALTER TABLE”), hiding the low-level segmented structure of the database from the developer. With a hypertable, you can use any aggregate functions, subqueries, merge operations (JOIN) with regular tables, and window functions.

Source: opennet.ru

Add a comment