一、前言
本中心多年以來,一路協助公部門相關單位資訊服務的歷程,從早期的電子文件表單、共同資料庫、MIS資訊管理,到這十年來的單一入口整合、GIS地理資訊服務、大數據分析、跨瀏覽器平台、行動裝置APP開發,都緊跟著資訊IT技術軌跡,共同進步發展成長。近年來,隨著大數據及物聯網(IOT)的發展,加上IT資訊處理技術的提升,讓各行各業對於資料蒐集的數量及範圍需求越來越大,各單位都希望能透過不間斷的方式,蒐集因本身業務處理過程所產製的各項數據,以進行即時性的監控及預警。
以交通部公路總局為例,每日百餘名省道公路巡查人員,奔波於全臺灣各處的公路上,不間斷地超過60部以上的行動裝置APP,同時間回傳軌跡座標點位數據,平均每天超過150萬筆(約每秒60筆);另外,臺北市政府大地工程處針對臺北市的山坡地,建置至少1,000項以上的監測儀器,每日定時透過這些監測數據的回傳蒐集,作為坡地安全監測最重要的參考依據。
但由於資料的特性不同,在數據的快速累積之下,造成系統負荷量越來越大,透過傳統的資料庫來儲存如此龐大且使用率低的數據資料,可能連帶地將影響系統正常運作及效能。
二、問題分析
因此依據資料的重複使用頻率等特性,可將資料區分為熱資料與冷資料這兩種,其主要區別在於,熱資料屬於一般性的精確資料,必須長期儲存於資料庫內,反覆多次的查詢讀取利用或修改更新,例如:員工的基本資料、產品的銷售金額、工廠的生產數量等。
相對於冷資料就大不相同,這些資料可能是偵測儀器定量定時的持續產生,必須被記錄但是很少被讀取;具有時效性,過了數天或可能數小時後的數據資料,就完全沒有被參考或重複利用的價;對於資料的精確程度,可以不需要百分百正確的要求,例如:某工廠機台每分鐘監測的馬達轉速、山坡地邊坡水平儀每30分鐘監測數據、身體每分鐘監測一次的心跳數等。
這些冷資料的數據,可即時利用作為當下超過設定臨界值,提供預警的功能,而某一固定間隔時段的統計數據,可提供做為大數據分析之用。但是一旦數據失去時效性,沒有發生異常示警或統計上的意義時,這些資料就可能同時失去了留存的價值。
三、時序資料庫
綜上所述,配合冷資料這種新型態類型數據的出現,在資訊方面就必須透過新的技術工具,來解決資料處理的問題。相比於傳統的關聯式資料庫( Relational Database ),以及近來為了資料搜尋彈性儲存特性,所衍生的非關聯式型資料庫( NoSQL Database );本文所提的時序資料庫是以較新的科技技術,來處理特殊時效性的數據內容,目前尚未有行業標準,因此在很多方面還有待完善改進,但是很明顯地隨著感測儀器IOT的發展,時序資料庫將是未來資料處理的重要趨勢。
<儲存邏輯特性>
時序資料庫的最重要特性,就是以時間戳記(Timestamp)為主的儲存邏輯,讓所有資料透過時間分布的序列,分作標籤(Tag)值及場域(Field)值兩種類型資料進行存儲。
舉例1:2021年2月28日晚上8點25分37.625秒,臺北市士林區的陽明山(46693)氣象測站,10分鐘雨量為0.5毫米,1小時雨量為2.5毫米,6小時雨量為17.0毫米。
舉例2:2021年3月2日上午10點38分8.83秒,汐止辦公室第六會議室,溫度為21.5度C,濕度為76%。
|
時間戳記Timestamp |
標籤(Tag)值 |
場域(Field)值 |
舉例1 |
2021年2月28日晚上8點25分37.625秒 |
行政區=”臺北市士林區”, 測站別=”陽明山46693” |
10分鐘雨量= 0.5, 1小時雨量= 2.5, 6小時雨量= 17.0 |
舉例2 |
2021年3月2日上午10點38分8.83秒 |
地點=”汐止辦公室”, 空間=”第六會議室” |
溫度= 21.5, 濕度= 0.76 |
<操作應用特性>
如前所述,因為時序資料在儲存邏輯的不同,也直接衍生出特殊的應用特性,以配合數據資料的使用,例如:
時序插值:實際應用上經常在擷取儀器或讀取數據時,因為系統運行的先後順序影響,或數據資料產出時的時間不見得與伺服器同步,因此將數據寫入一般資料庫後,對於資料的時間記錄,就會特別地複雜且因此影響系統運行效能,在時序資料中可直接針對資料定義的時間,或系統讀取的時間,直接寫入資料庫,並作為快速索引統計的計算依據。
資料精度。依據不同使用場景,例如記錄了每分鐘的溫溼度,可是在資料的應用上,需要用到一天、一個月或一年的數據趨勢統計,則資料庫必須能快速降低時間精度,以日、月或年統計計算,並提供出最大值、最小值或平均值的相關數據。
讀寫差異:數據寫入速率穩定並且遠遠大於讀取,資料內容極少更新,可自定義期限的資料覆蓋或批量刪除,具備通用資料庫要求的高可用,高可靠,可伸縮特性,通常不需要具備事務的能力。
四、應用情境
因此在系統開發過程的需求訪談階段,資訊輔導顧問或系統分析師就應充分理解資料屬性的不同,配合各種不同的應用場景,適配不同的資料庫儲存技術加以應用,本文提出下列情境,提供顧問輔導作為適用時序資料庫判斷參考:
1.數據資料量
多數的IOT物聯網設備,都是在時間密集度大的情況下採集數據,使用的場景是以秒和毫秒精度以上為主,在一些高頻率採集的應用上,時間戳記甚至可以達到納秒級別。舉例來說,如果一秒採集一次溫度數據,這樣一天下來,光單一設備就至少採集了86,400筆溫度數據。而一棟醫院建物就可能有超過100個以上這樣的設備,甚至收集多種不同類型的數據。在時序資料庫中可透過壓縮或排除機制,大幅降低數據儲存空間。
2.無差別採集
數據採集取樣頻率,一般可分為2種,物聯網設備或數位產製的資料,都是以固定的時間周期頻率進行收集取樣;另一種如離散型的取樣,如網站的不定時到訪記錄。除非全面性更動數據採集策略,一般而言,都是在一定時間內進行穩定、持續,無差別的數據採集。
3.數據新鮮度
如果所遇資料只有近期的數據,才有應用或關注的價值,而時間相隔越久遠的數據,被使用到的機率趨近於零,這些數據資料就適合應用於時序資料庫之中。例如:近來相當流行的個人健康數據,心跳脈搏數、體溫、睡眠時數、行走的步數等。
4.統計精度
由於傳統資料庫僅扮演資料存取的角色,所以這樣的系統架構,一旦遇到例如:從每分鐘的溫度偵測值,統計出每日平均氣溫;或從路口經過的車輛偵測數據,統計出每小時的車流量等等,諸如此類的IOT物聯網所產生的巨量數據統計計算時,往往必須仰賴程式端的複雜設計運算,以至於耗費相當大的電腦處理資源。此時,時序資料庫就可以針對這類型的應用情境,發揮極其高效的時序統計功能,大幅降低系統演算的負荷。