立即開(kāi)始使用Informix TimeSeries解決方案

IBM Informix 為處理時(shí)間序列數(shù)據(jù)提供了本機(jī)支持。IBM Informix 中提供的 TimeSeries 數(shù)據(jù)類型有助于減少存儲(chǔ)的成本,以及在您選擇和加載大量時(shí)間序列數(shù)據(jù)時(shí)改善性能。在本文中,您將學(xué)習(xí)如何開(kāi)始創(chuàng)建和加載時(shí)間序列數(shù)據(jù)。

另外,virtual table interface 讓時(shí)間序列看起來(lái)像正常的表。本文還將描述 ibm informix 時(shí)間序列組件的一般架構(gòu)、創(chuàng)建和加載一個(gè)時(shí)間序列的步驟,以及使用 open admin 工具管理一個(gè)時(shí)間序列。

IBM Informix TimeSeries 解決方案改進(jìn)了功能,擴(kuò)展了對(duì)時(shí)間序列數(shù)據(jù)進(jìn)行存儲(chǔ)、操作和訪問(wèn)的支持。它使您能夠通過(guò)選擇時(shí)間序列間隔和指定時(shí)間序列的存儲(chǔ)位置,自由地管理時(shí)間序列數(shù)據(jù)。

時(shí)間序列數(shù)據(jù)是一組數(shù)據(jù),其中每一項(xiàng)都具有時(shí)間戳并按時(shí)間順序訪問(wèn),可以按時(shí)序進(jìn)行處理和分析。Informix TimeSeries 解決方案的主要優(yōu)勢(shì)包括以下方面。

  • 相比傳統(tǒng)的關(guān)系方法,節(jié)省了高達(dá) 80% 的存儲(chǔ)空間。
  • 相比傳統(tǒng)的關(guān)系方法,在處理時(shí)態(tài)數(shù)據(jù)方面的性能改進(jìn)了幾個(gè)數(shù)量級(jí)。
  • 通過(guò)內(nèi)置的例程減少了應(yīng)用程序開(kāi)發(fā)成本。
  • 通過(guò) Open Admin 工具簡(jiǎn)化了管理。

本文將介紹處理時(shí)間序列數(shù)據(jù)的步驟。創(chuàng)建和加載一個(gè) TimeSeries 的步驟涉及到處理以下組件。

  • 日歷
  • 日歷模式
  • TimeSeries 列
  • TimeSeries 容器

本文還會(huì)向您展示如何執(zhí)行以下活動(dòng)。

  • 創(chuàng)建一個(gè) TimeSeries
  • 加載數(shù)據(jù)

要開(kāi)始使用 TimeSeries,您需要首先創(chuàng)建一個(gè)緩沖的日志數(shù)據(jù)庫(kù)。

TimeSeries 架構(gòu)

TimeSeries 子類型是一個(gè) ROW 集合。一個(gè) ROW 數(shù)據(jù)類型是由具有相同數(shù)據(jù)類型或不同數(shù)據(jù)類型的列組成。在定義一個(gè) TimeSeries 時(shí),Informix 可使用其自身的日歷和 TimeSeries 開(kāi)始日期。

TimeSeries 的總體架構(gòu)和不同組件如下所述。這兩個(gè)主要組件是 TimeSeries 數(shù)據(jù)類型和 TimeSeries 子類型(Row 數(shù)據(jù)類型)。TimeSeries 數(shù)據(jù)類型充當(dāng) TimeSeries 子類型(一個(gè) ROW 集合)的一個(gè)類型構(gòu)造函數(shù)。ROW 數(shù)據(jù)類型包含由一組命名列所組成的單一數(shù)據(jù)庫(kù)列,這些列具有您定義的相同或不同的數(shù)據(jù)類型。

時(shí)間戳列必需是第一列并具有 DATETIME YEAR TO FRACTION(5) 類型。在圖 1 中所示的示例中,該表包含 meter_id 列(包含儀表編號(hào))和 meter_data 列(包含 TimeSeries)。每個(gè)表行包含不同的 TimeSeries。在此示例中,表中的 3 行擁有一個(gè)子類型 meter_data 的 TimeSeries。元素的結(jié)構(gòu)是由 TimeSeries 行子類型進(jìn)行定義。

圖 1. TimeSeries 架構(gòu)
立即開(kāi)始使用Informix TimeSeries解決方案

日歷和日歷模式數(shù)據(jù)類型

日歷定義何時(shí)需要 TimeSeries 數(shù)據(jù)。在開(kāi)始定義包含 TimeSeries 列的表之前,您需要依據(jù)想要的 TimeSeries 數(shù)據(jù)頻率來(lái)創(chuàng)建日歷。有一些內(nèi)置的日歷可供快速使用。

要設(shè)置日歷,您必需創(chuàng)建日歷模式并創(chuàng)建日歷。

創(chuàng)建日歷模式

要?jiǎng)?chuàng)建日歷模式,必需在 CalendarPatterns 表中插入值。

清單 1 中的示例展示了如何創(chuàng)建一個(gè)名為 sm_15min 的日歷模式。該模式以分鐘為單位,每 15 分鐘就有一個(gè)有效的輸入。

清單 1. 創(chuàng)建日歷模式

 				 INSERT INTO CalendarPatterns values ( 'sm_15min', '{1 on , 14 off}, minute');

創(chuàng)建日歷

要?jiǎng)?chuàng)建日歷,您必需在 CalendarTable 表中插入值。清單 2 展示了如何將一個(gè)名為 cal_15min 的日歷插入到 CalendarTable 表中。

清單 2. 創(chuàng)建日歷

 				 insert into CalendarTable(c_name, c_calendar) values ('cal_15min', 'startdate(2012-01-01 00:00:00),  pattstart(2012-01-01 00:00:00), pattname(sm_15min)');

這個(gè)日歷從 2012 年 1 月 1 日開(kāi)始。其模式也從 2012 年 1 月 1 日 00:00:00 開(kāi)始,它使用上一步中創(chuàng)建的模式 sm_15min。

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊15 分享