隨著計算機和物聯網技術的發展,智能倉庫管理系統的越來越人性化、系統化,對工器具本身的精準管理也越來越細致,深入到工器具每一次的使用記錄;工器具及車輛保存環境的嚴苛控制,實驗測試設備對工器具性能的精準分析。服務前端優秀的服務能力,需要后端數據庫系統的嚴密配合。當然數據庫系統除了提供強大的讀、寫、刪、改的能力,也需要對歷史數據能長時間保存,以便更好的服務工器具的日常維護,新設備的采購決策,工器具性能故障的提前預警。
現存的倉庫管理系統中,數據庫的使用多為一般的如MySQL、SQL Server等關系型數據庫。較一般的使用而言,這類數據庫的使用能達到初級的應用水平。在孤立的單獨系統中能簡單的對工器具的出入庫進行記錄,使用情況查找。而對于控制設備或者頻度使用程度較高的檢測設備。這類數據的使用由于數據量大,且關系粘合度較低。則使用此類的關系庫在性能和功能上就難以達到需求的效果。如在關系庫存儲環境數據、設備運行時間數據、工器具檢測,檢驗數據等操作時,由于數據量過大,為了保證系統的持續運行,通常只保留1個月以內的數據,大量的數據被無情刪除拋棄。這對客戶來說,是一種無形的損失,在大數據時代,最為重要的莫過于對大量樣本數據的有效保存及整理。在數據分析時才能有理可依,有資源可用。
本文通過對傳統關系型數據庫及非關系型數據庫、非關系型實時歷史數據庫在智能倉庫系統中的應用分析,結合實際的應用案例。探索出了一種新的數據系統模型。
關系型數據庫以行和列的形式存儲數據, 這一系列的行和列被稱為表,一組表組成了數據庫。用戶用查詢 (Query) 來檢索數據庫中的數據。一個Query是一個用于指定數據庫中行和列的SELECT語句。關系型數據庫通常包含下列組件:客戶端應用程序 (Client) 、數據庫服務器 (Server) 和數據庫 (Database) 。Structured Query Language (SQL) 是Client端和Server端的橋梁,Client用SQL來向Server端發送請求,Server返回Client端請求的結果。
關系型數據庫并不是唯一的高級數據庫模型,也完全不是性能最優的模型,但是關系型數據庫確實是現今使用最廣泛、最容易理解和使用的數據庫模型。關系型數據庫的最大特點就是事務的一致性,一個關系型數據庫就是由二維表及其之間的聯系所組成的一個數據組織。關系型數據庫容易理解,使用方便,易于維護,支持SQL,可用于復雜的查詢。但是關系型數據庫為了維護一致性所付出的巨大代價就是其讀寫性能比較差,只能使用固定的表結構。
NoSQL (Not Only SQL) 提倡運用非關系型的數據存儲,相對于鋪天蓋地的關系型數據庫運用,這一概念無疑是一種全新的思維的注入。NoSQL數據庫可以分為四大類:鍵值 (Key-Value) 存儲數據庫,這一類數據庫主要會使用到一個哈希表,這個表中有一個特定的鍵和一個指針指向特定的數據;列存儲數據庫,這部分數據庫通常是用來應對分布式存儲的海量數據。鍵仍然存在,但是它們的特點是指向了多個列。這些列是由列家族來安排的;文檔型數據庫,該類型的數據模型是版本化的文檔,半結構化的文檔以特定的格式存儲。文檔型數據庫可以看作是鍵值數據庫的升級版,允許之間嵌套鍵值。而且文檔型數據庫比鍵值數據庫的查詢效率更高;圖形 (Graph) 數據庫,圖形結構的數據庫同其他行列以及剛性結構的SQL數據庫不同,它是使用靈活的圖形模型,并且能夠擴展到多個服務器上。
非關系型數據庫在以下的這幾種情況下比較適用:
(1)數據模型比較簡單;
(2)需要靈活性更強的IT系統;
(3)對數據庫性能要求較高;
(4)不需要高度的數據一致性;
(5)對于給定key,比較容易映射復雜值的環境。
非關系型數據庫使用鍵值對存儲數據,一般不支持ACID特性,嚴格上不是一種數據庫,應該是一種數據結構化存儲方法的集合。因此非關系型數據庫無需經過sql層的解析,讀寫性能很高;基于鍵值對,數據沒有耦合性,容易擴展;存儲數據的格式更靈活多樣。但是非關系新數據庫不提供sql支持,學習和使用成本較高;無事務處理,附加功能和報表等支持也不好。
非關系型實時歷史數據庫是一款高效處理時域數據的工業級非關系型實時/歷史數據庫。它將時間加入到時間計算的關鍵鍵值參與計算。系統內置大量智能算法,可對海量時域數據實行高效管理。因此非關系型實時/歷史數據庫具備高可靠性、高安全性、高穩定性工作特性,系統內置大量智能算法,可對海量時域數據進行高效管理。其開放的、可擴展的分布式設計架構和良好的API體系可滿足用戶構建各種實時數據監控領域應用的需求。
非關系型實時歷史數據庫的時間軸參與計算,具有波形無損壓縮算法。因此讀寫性能優于一般的非關系型數據庫;能高速求取趨勢線,趨勢線時間長度絕對無限制;能高速歷史數據回放、歷史數據回補無上限。但是非關系型實時歷史數據庫與時間無關的數據使用此數據庫意義不大,非時間相關事務處理能力較差。
各種數據庫的性能比較見表1。
智能倉庫管理系統主要針對傳感器及控制類設備數據、工器具及人員信息數據、工器具檢測信息記錄數據進行管理。其中傳感器數據和控制類設備數據由于是7*24小時不間斷采集,在系統運行幾年后,僅這部分數據總量將達到千萬或過億條。這對于僅僅使用一般的工控機作為運算中心的智能倉庫管理系統來講,對數據庫的使用上將是一次挑戰。如果這部分數據選擇使用普通的關系型數據庫來處理勢必拖慢整個系統的運行效率。對于繪制數據曲線,進行智能控制都將是更大的挑戰。工器具及人員信息等數據量不大的數據,因智能倉庫管理系統中,工具和人的信息是隨著時間的推移,不斷有新的出入信息加入,盡管少有瞬間突變的情況但需要更高的性能用于對象及JSON數據的存儲。工器具檢測信息數據與時間成強相關性,但由于所檢測的對象每次都可能不同,處理這部分數據要求數據庫不僅僅需要將時間帶入計算預測工具的性能預期,又要對每個工具的指標區分對待。因此在數據庫選型方面,我們選用非關系型實時歷史數據庫+非關系型數據庫的模式來對數據進行處理,得到了較為理想的性能指標。與使用傳統的關系型數據庫相比,我們做了對比,見表2。
由此可見,在智能的倉庫管理系統中,針對于傳感器及控制類設備數據設計使用非關系型實時歷史數據庫進行管理,有利于做到對控制系統的全生命周期記錄及控制;工器具及人員信息數據則使用非關系型數據庫進行數據存儲,不僅僅能夠為系統提供強大的數據儲存計算性能,由于其對JSON的友好性也有利于倉庫管理系統與外部支撐的硬件設備的數據交互;工器具檢測信息記錄數據則采用非關系型實時歷史數據庫+非關系型數據庫兩種數據庫進行數據存儲,其中非關系型數據庫負責對每個工器具每次的檢測情況進行記錄,而非關系型實時歷史數據庫則用于分析隨著時間推移每次工器具檢測結果反應的工器具性能微量變化情況,對工器具的使用預期做預測。實踐結果表明,非關系型實時歷史數據庫+非關系型數據庫組合在性能上強于傳統的關系型數據庫。
標簽:
上一篇: 電商倉庫小件商品倉儲管理優化研究——以廣東某電商倉儲企業為例
下一篇: 要熟練掌握倉庫選址的方法論