隨著世界儀表化程度的不斷提升,IBM 的智慧地球 愿景也逐漸成為現實,IBM Informix TimeSeries 的價值越來越明顯。由于起源于關鍵架構突破性 Informix Dynamic Server (IDS) 版本 9,Informix TimeSeries 是一款獨特而又強大的技術,人們普遍將其視為處理大
隨著世界儀表化程度的不斷提升,ibm 的智慧地球? 愿景也逐漸成為現實,ibm? informix? timeseries 的價值越來越明顯。由于起源于關鍵架構突破性 informix dynamic server (ids) 版本 9,informix timeseries 是一款獨特而又強大的技術,人們普遍將其視為處理大量時間戳數據的卓越工具。
Informix TimeSeries 的核心技術最初被描述為“對象關系模型”或“通用”。Informix 運用了專有(但并不十分生動)的營銷術語“數據刀片”。
無論將它稱作什么,這個概念都十分強大。您可以運用這項技術開放數據庫,這樣才能添加新的數據類型,其中包括通過運用新數據類型的特定操作人員來擴展標準 SQL 語言,從而添加新的“方法”。
由于用于添加這些擴展(數據刀片開發人員工具包)的應用程序編程接口 (API) 已經對客戶端、合作伙伴和 Informix 開發人員完全開放,所以這些群體現在可以添加新數據類型支持。目前已經創建了數十種有趣的數據刀片,但其中的兩種最為流行、對客戶最有吸引力:處理時間序列數據和空間數據的擴展。
這些擴展得到廣泛接受是有一定道理的。幾乎每一家機構(無論是企業還是政府機構)都具有地點和時間數據。
位置數據案例
位置(空間)數據對于現今已向許多數據庫添加此類數據處理機制的機構而言十分有用,還有一些公司的業務基于提供與此搭配使用的空間數據和地圖。例如,如果您每次使用網站時,網絡均要求您提供郵政編碼,然后向您顯示最近的業務位置(如最近的 ATM),那么您使用的很可能是支持空間數據的數據庫。
即使沒有專門的時間序列數據和空間數據功能,您仍然可以在自己的數據庫中保留地址,但您卻很難對“從 26 Cherry St. 到 52 Adams St. in Springfield, OR. 有多遠這類簡單問題進行解答”。對于保存為未引用地理數據庫的字符串的地址,它所包含的信息不足以回答此類查詢。
時間序列數據需求
雖然通過空間數據擴展典型關系數據類型從概念上很容易掌握,但仍然需要對時間序列數據類型需求稍作解釋。畢竟,自最早的數據庫系統問世以來,時間和日期一直是重要元素,并且始終是數據庫系統不可或缺的組成部分。任何聯機事務處理 (OLTP) 系統中的常規事務都會用時間戳來標記。計費系統通常基于計費周期,以日期和時間為界限。因此,如果從一開始 SQL 中便支持日期和時間數據格式,那么為什么還需要使用特殊時間序列數據類型和相關方法?
簡言之,時間序列數據是一個特殊案例,一些數據變化十分迅速,因而創建了大量數據點。對使用傳統時間元素與時間序列數據進行比較十分有用。一個普通的銀行帳戶每天可能執行幾筆交易;使用 SQL 時間和日期格式,為每項交易創建一個新行,這樣做十分簡單明了。從另一極端角度,需要思考大型股票交易創建的數據點數,例如,IBM 股票平均每天近四百萬宗交易。紐約證券交易所每個交易日 6.5 小時,每分鐘產生約 10,000 宗交易(換算成每秒鐘 170 宗交易),投資公司可能需要充分適應這種節奏。
當然,使用標準 SQL 數據類型和格式記錄此類信息是可以實現的。TPC-C 基準幾十年前就已發明出來,可以幫助客戶了解這些類型的方案涉及的各種供應商系統的吞吐能力。但是,如果我們的要求更高,將會怎么樣?如果我們不僅需要寫入大量交易,而且同時還要對大量輸入執行一些操作,該怎么辦?此外,如果我們需要將數據存儲在同一位置以便持續運行查詢,又該怎樣做?掃描數十乃至數百個包含幾百萬行數據的表聽起來很難快速獲得查詢結果。
這些都是現實問題,Informix 工程師和架構師正是被派遣通過 Informix TimeSeries 技術解決問題。至于 TimeSeries,早期采用者都是一些服務于大型投資公司的高價套利交易員。
開發 TimeSeries 技術
Informix 團隊創造了多項技術,運用 IDS 并通過全新的數據類型和方法進行擴展。
首先,Informix 團隊開創了更加有效的存儲機制,用戶不再需要為時間序列數據創建數百萬冗余數據行。這種存儲機制是一種 TimeSeries 數據,專門設計用于存儲數據點(或“刻度”,如金融交易所使用的紙帶)。此數據類型大大縮小了數據庫規模,而且還減少了數據庫中行數,使其能夠承載套利交易員所需的海量交易數據(參見圖 1)。隨后,Informix 團隊向查詢語言 (SQL) 中添加了新的擴展,不再需要使用數十個語句才能提出簡單問題,這簡化了問題提問過程。
此外,Informix 團隊還開發了一種更加迅速的數據庫數據錄入方法,其速度比 OLTP 系統使用的典型方法更加迅速。Informix 團隊構建了高速加載器,以滿足這種客戶端關鍵任務需求。
圖 1. Informix TimeSeries 通過避免創建數百萬冗余行來簡化存儲。
從概念上了解 Informix TimeSeries 如何存儲時間序列數據十分容易,并且演示了該產品的其他功能如何運用這種思想。我們的目標是確保其快速、有效且易于理解。當開發人員提取信息時,數據庫系統十分有用。簡單的概念模型才能實現輕松查詢,并最終加速新型交易戰略的開發和部署。這是競爭激烈的商品貿易世界的一項關鍵要求。
如果定期(例如,實驗室以 1/10 秒為間隔測量傳感器數據)提供時間序列數據,則需要通過進一步的細化來提高效率。Informix TimeSeries 不會存儲時間戳,因為用戶可以根據初始值來輕松計算時間戳。例如,如果傳感器從 2:00:00.0 開始讀取,而數據點是序列中的第 251 個數據點,那么時間戳將讀取為 2:00:25.1。
在這篇文章的第 2 部分中,我們將探討電力行業如何能夠快速采用 Informix TimeSeries,并將其作為適應智能電表生成的海量時間戳數據的有效途徑。