1參考資料
(1)實時數據庫簡介, http://blog.csdn.net/liqfyiyi/article/details/6862886
(2)實時數據庫簡介和比較, http://www.cnblogs.com/zljini/archive/2006/05/17/402422.html
2實時數據庫簡介
實時數據庫(RTDB-Real Time DataBase)是數據庫系統發展的一個分支,是數據庫技術結合實時處理技術產生的。實時數據庫是“對實時性要求高的時標型信息的數據庫管理系統”
實時數據庫雖是系統軟件,但更多是一個應用平台軟件,原因是實時數據庫還沒有一個像SQL一樣的標准,而且其功能太過綜合,各廠商推出的產品功能各有側重。
2.1在工業監控領域中,數據庫應用的特點
工業監控系統的定義非常大,所有需要對運行設備進行自動化監視、控制的系統都可以定義為工業監控系統,這里面就包括火電廠廠級監控系統(SIS),在這類應用領域中,數據庫應用有如下特點:
測點數量多
一個新建300WM的火電廠的SIS系統,需要處理的測點數超過了10000點,這些測點的變化周期通常在1秒鍾之內,也就是說,需要將超過10000點的數據在1秒鍾之內保存到數據庫中。
存儲量大
實時數據庫的核心就是對大量的實時信息進行處理,由於成年累月的數據將占據大量的硬盤空間。例如對於 1萬點的系統,每 1秒鍾存儲一次,每次單點占用 8個字節,那么保存 10年的數據量將有 10000*8*10*365*86400=25228800000000字節,也就是 23TGB。若用 80GB的硬盤存放,需要存放 293塊硬盤!
點評:可見,這種數據量完全不是我們的系統所能比的。
時效性強
每個需要處理的測點的值都與時間相關,一秒鍾之后的數據與一秒鍾之前的數據可能就不一樣了,因此,在保存測點值的同時,必須通過某種方法將其對應的時間也紀錄起來。
2.2不選擇關系型數據庫的理由
關系型數據庫,較難處理工業控制領域的數據。主要原因是:
插入速度慢
一般關系型數據庫是基於事務處理的,在處理失效后,還要回滾作業。所以至少要存放兩處,該機制使速度較慢;既使用今日的Intel P4 雙至強類CPU,在對2000 個測點進行插入時也用占用10s 以上的時間。而工業監控系統需要面對的是數萬點的實時數據以秒級的間隔存放數據。
維護困難
商用數據庫為了保證完整性,所有的內容往往放在一個文件內,這對海量數據的存放維護發生困難。如果有一個200G 的數
據庫,完全備份就可能要一天。備份文件中有一個錯誤就可能導致200G 的備份文件失效,所以不實用。
不能滿足實時應用的需求
用數據庫存放實時數據據及查詢方式不能滿足實時應用的需要。一個簡單的例子是假定以1 秒為間隔存放好了數據,一周有數據604800 組,但是現要以60 秒為間隔取出其中10080 組或者以等間隔原則取出8888 組,標准SQL 語法就較難實現。
因此,工業監控領域以及電廠SIS應用領域,必須尋找適合實時應用需要的實時數據庫系統。
2.3實時數據庫的壓縮算法介紹
實時數據庫系統的技術核心在於數據壓縮。需要將數據經壓縮后再存入硬盤,當需要用數據時再解壓縮硬盤上的數據。目前用於國內外實時數據庫上的壓縮算法通常分為兩類:無損壓縮和有損壓縮。
2.3.1無損壓縮
大多數信息的表達都存在着一定的冗余度,通過采用一定的模型和編碼方法,可以降低這種冗余度。Huffman編碼是無損壓縮中非常著名的算法之一。WinRar和WinZip等軟件都采用了類似Huffman編碼的壓縮方式。這些壓縮方法的共同特點是:壓縮和解壓過程中,信息不會發生變化。
在實時數據庫中,也可以采用這些無損壓縮技術,但是在實現時,必須要考慮壓縮和解壓縮的效率,如果某個壓縮算法的壓縮比非常高,但是其解壓的速度非常慢,則肯定不能用於實時數據庫中,否則,人們在查詢數據時,會等待得失去耐心。
2.3.2有損壓縮
相對於無損壓縮,有縮壓縮肯定會丟失一些信息,但必須要保證這些丟失的信息不能影響系統數據的精度。大家在其它領域中也遇到過有損壓縮的應用,比如:JPG圖像壓縮就是一種有損壓縮,MP3聲音壓縮也是一種有損壓縮。
在實時數據庫中,有損壓縮主要有兩種方法:死區壓縮和趨勢壓縮。
死區壓縮
所謂死區就是定義某一測點的值不變的范圍。采用死區壓縮就是記錄該點死區之外的數據值。例如有一測點 A,定義其死區為 1%,上次記錄的測點值為 110.00,那么此次采集的測點值為 111.00,那么兩者差值(111-110)/110<1%,那么認為此次測點值在該點的死區范圍內,則認為不變化,即不記錄。若下一次測點值為 120.00,那么兩者差值(120-110)/110>1%,那么認為此次測點值在該點的死區范圍外,則認為變化,記錄。
趨勢壓縮
趨勢壓縮,是根據測點的階段性趨勢進行壓縮,原則上只記錄滿足趨勢條件的起點和終點。PI的旋轉門壓縮技術是該類算法的典范。
一般的趨勢壓縮如上圖所示,T1到 T2時刻某測點的值保持者該趨勢,那么在此趨勢上下的兩條容差線將是下一時刻點的死區范圍,若下一時刻 T3在此兩條兩條容差線之間,那么不記錄此值,兩條容差線將適用於下一時刻,若下一時刻 T4在此兩條兩條容差線之外,則記錄該值,趨勢發生改變,兩條容差線將發生改變,下一時刻測點將按改變后的容差線來判斷。
2.4實時數據庫的訪問方式
使用實時數據庫提供的API
這種方式效率最高,也最簡單。
使用ODBC
大部分實時數據庫提供了標准的ODBC接口,也提供了SQL查詢語言,通過這些方法,用戶可以將實時數據庫當作一個標准的數據庫來使用。但這種方法速度較慢,且不能體現實時數據的全部優勢。
使用OPC方式(OLE for Process Control)
因為太多的數據庫和DCS使用自己的API方式存取數據,無法做到算法的通用,因為工業監控領域提出了一個標准的存取接口,這就是OPC,如今有超過兩百家產商加入到OPC組織中,聲勢浩大。
3實時數據庫系統的主要內容
實時數據庫技術是實時系統和數據庫技術相結合的產物,實時數據庫系統的主要內容包括:
實時數據庫模型;
實時事務調度:包括並發控制、沖突解決、死鎖等內容;
容錯性與錯誤恢復;
內存組織與管理;
訪問准入控制;
I/O與磁盤調度;
主內存數據庫系統;
不精確計算問題;
放松的可串行化問題;
實時SQL;
實時事務的可預測性;
4實時數據庫的空間占用
PI 采用了旋轉門壓縮專利技術和獨到的二次過濾技術,使進入到PI數據庫的數據經過了最有效的壓縮,極大地節省了硬盤空間。據計算,每秒1萬點數據存儲一年,僅需要4G的空間,即一只普通硬盤也可存貯五到十年的數據。
http://blog.csdn.net/liqfyiyi/article/details/6862886
5實時數據庫的存取性能
每個PI服務器可容納150萬點(高端服務器),在PI的高端產品服務器中可以處理每秒鍾150萬點的數據。在客戶端軟件ProcessBook上,可以在秒級時間內從2年或3年歷史中取到1000點數據。
參考OSI公司提供的數據:實時信息點的數據值1天的平均變化次數為500,每個信息點所占的存儲空間為3個字節,那1萬個點在線存儲1年所需的存儲空間是:
變化次數 × 單點存儲空間 × 信息點數 × 1年的天數 = 總空間要求
500 × 3 × 10000 × 365 = 5.475GB
6實時數據庫的價格
以5000點數據庫和20客戶端應用為例,幾個數據庫價格分別是:
PI----10萬美元,每個接口6000美元,OPC接口收費;
InfoPlus.21----11萬美元,每個接口1萬美元,OPC接口不收費;
Industrial SQL Server----6.5萬美元,每個IDAS1200美元,OPC Link免費。
7常見的實時數據庫
目前進入國內市場比較成熟的實時數據庫產品如下所列:
美國OSIsoft公司,PI;
美國Wonderware公司,IndustrialSQL Server,簡稱INSQL;
美國 GE,Intellution公司,iHistorian;
美國 InStep公司,eDNA;
美國HONEYWELL公司,Process History Database,簡稱PHD ;
美國AspenTech公司,InfoPlus;
總的來說,國外實時數據庫產品在工業監控行業占壟斷地位。其中OSIsoft公司的PI采用了旋轉門壓縮專利技術和獨到的二次過濾技術,使進入到PI數據庫的數據經過了最有效的壓縮,極大地節省了硬盤空間,是效率最高,使用最簡單,使用最廣泛的實時數據庫。因為其傑出的性能,PI已經多次提高了它的價格。
7.1InSQL
這是Wonderware公司的產品,原名叫做Industrial sql server,從這個名字就可以看出,他是基於SQL SERVER來實現的, 是一款基於關系數據庫的實時數據庫。最新的名字叫做 Wonderware Historian,Wonderwaer已經被施耐德收購了,估計是收購之后把名字也換了,我看網上可以找到的關於InSQL的最新的版本大概就是2005年左右的9.0版。
http://global.wonderware.com/CN/Pages/WonderwareHistorian.aspx
7.1.1概述
Wonderware Historian歷史庫軟件 是工業企業的一種高性能實時數據庫,能提供無與倫比的可擴展性,支持多達 500,000 條標簽,與以往產品相比,具有更大的檢索吞吐量。Historian 可以配置為單一的數據收集和集合系統,也可作為更大的、多層級架構系統的一部分。如局部設施具有高分辨率數據,它們需要詳細的故障診斷,企業決策者可以通過集合數據來比較多個工廠的性能。
對於在地理位置上分散的工廠,Wonderware Historian 是最理想的選擇,因為它有能力在處理間斷、延遲或破碎的數據時維護數據的完整性。
許多工業企業需要7 天24 小時不間斷訪問流程數據,同時還要保持他們的管理網絡與商業網絡間彼此隔離。Wonderware Historian 為上述兩個要求提供高成本效益的解決方案。我們的冗余歷史庫選項提供了一個簡單、低成本、高可用性的解決方案,同時在管理網絡與商業網絡之間實現極具成本效率的隔離。
擁有 Wonderware Historian 客戶端的新增功能和多功能性,您可以迅速的看到您流程中有問題的地方,從而快速進行決策、故障排除和流程優化。因此,Historian 可以 SQL 兼容大量可以訪問您流程數據的其他報告性解決方案。
新品登場!!!Wonderware Historian 現在以雲托管解決方案的形式提供給希望降低資本支出和 IT 負擔的企業。與 Microsoft 合作,借助 Microsoft 的 Windows Azure 雲環境,以軟件即服務 (SaaS) 的形式提供此創新性軟件,為關鍵流程數據的數據安全和高可用性提供保障。Wonderware Historian 在線版本能夠收集和匯總其他 Wonderware Historians 中的數據,還具有數據報告和分析客戶端,絕對是一款完備的運營信息管理解決方案。