TimescaleDB 專案是作為 PostgreSQL 的擴充功能來實現的
TimescaleDB 1.7 的變更包括:
- 新增了與 DBMS 整合的支持
PostgreSQL 12 。已棄用對 PostgreSQL 9.6.x 和 10.x 的支援(Timescale 2.0 將僅支援 PostgreSQL 11+)。 - 具有連續運行聚合函數(即時聚合連續傳入資料)的查詢行為已變更。此類查詢現在將物化視圖與新到達的尚未物化的資料結合(以前,聚合僅覆蓋已經物化的資料)。新行為適用於新建立的連續聚合;對於現有視圖,應透過「ALTER VIEW」設定「timescaledb.materialized_only=false」參數。
- 一些進階資料生命週期管理工具已從商業版轉移到社群版,包括重新組合資料和處理過時資料逐出策略的功能(允許您僅儲存當前資料並自動刪除、聚合或歸檔過時記錄)。
讓我們回想一下,TimescaleDB DBMS 允許您使用成熟的 SQL 查詢來分析累積的數據,將關係 DBMS 固有的易用性與專用 NoSQL 系統固有的擴展性和功能相結合。優化儲存結構,確保資料高速添加。支援資料集的批次新增、記憶體索引的使用、歷史切片的追溯載入以及事務的使用。
TimescaleDB 的一個關鍵功能是支援資料數組的自動分區。輸入資料流自動分佈在分區表中。根據時間(每個部分儲存特定時間段的資料)或與任意鍵(例如,設備 ID、位置等)相關的部分來建立。為了優化效能,分割區表可以分佈在不同的磁碟上。
對於查詢來說,分割資料庫看起來就像一個稱為超表的大表。超表是許多累積傳入資料的單一表的虛擬表示。超表不僅用於查詢和添加數據,還用於創建索引和更改結構(“ALTER TABLE”)等操作,向開發人員隱藏資料庫的低階分段結構。透過超表,您可以使用任何聚合函數、子查詢、與常規表的合併操作 (JOIN) 以及視窗函數。
來源: opennet.ru