Informix時間序列數據庫解決海量數據處理的應用實例

Informix 時間序列(Informix TimeSeries)是 Informix 數據庫解決海量數據處理的一項重要技術。該技術采用特殊數據存儲方式,極大提高了時間相關數據的處理能力,相對于關系型數據庫它的存儲空間減半。在智能電表的應用里,用戶在一個時間序列列中設定固定時

時間序列函數優越的查詢速度遠超過關系型。此等函數的應用是成就智能電網的基本手段。informix 時間序列目前廣泛應用于股票交易系統,網絡管理系統,智能電表系統,電信計費系統等多個領域中取得了良好的效果。

1. 概述

Informix 時間序列(Informix TimeSeries)是 Informix 數據庫解決海量數據處理的一項重要技術。該技術采用特殊數據存儲方式,極大提高了時間相關數據的處理能力,相對于關系型數據庫它的存儲空間減半,查詢速度提高。在智能電表里,用戶在一個時間序列列中設定固定時間間隔的數據,并通過使用時間序列函數(TimeSeries Function)實現對這些數據的實時查詢、更新、刪除等操作。時間序列函數優越的查詢性能遠超過關系型數據庫。

2. Informix 時間序列介紹

時間序列可以廣泛應用于多個領域中,以下以智能電表系統為例通過與關系型數據表的對比來說明 Informix 時間序列的基本原理。

2.1 關系型表模型

關系型數據庫表(Relational Database Table)模型采用行列結構,一般會包含用來標識唯一行的主鍵,每一行標識一條記錄。如下表所示,主鍵為 (meter_id, data_date),即電表編號 + 時間點來唯一標識一條記錄。一個電表在每一個有效時間點都有相應的記錄。

圖 1. 關系型表的表結構

Informix時間序列數據庫解決海量數據處理的應用實例

2.2 Informix 時間序列模型

TimeSeries 模型把時間相關部分的數據存儲在一個 TimeSeries 類型字段中。可以簡單的把 TimeSeries 模型表分成兩個部分:頭部分和時間序列部分。其中頭部分包含每一個電表的基本信息,如電表 ID 等,使用時間序列模型來表示一個電表可以省去大部分的重復信息,提高字段的存儲和訪問效率。如下圖所示是一個時間序列模型表。

圖 2. 時間序列表的表結構
Informix時間序列數據庫解決海量數據處理的應用實例

2.3 時間序列模型和關系模型的比較

時間序列模型的這種存儲模型適合與時間相關的大量數據的處理,下圖是時間序列表和關系型表隨查詢范圍變化查詢時間比較圖。

圖 3. 時間序列模型和關系模型的比較圖
Informix時間序列數據庫解決海量數據處理的應用實例

從上圖可以看出關系型數據庫表隨時間的增長,查詢效率將下降越來越快,而對于 TimeSeries 性能受時間影響非常小。其查詢效率是關系型表的幾十倍。

? 版權聲明
THE END
喜歡就支持一下吧
點贊9 分享