2013-02-15 25 views
0

我正在考慮構建一個基於Web的數據記錄和可視化服務。基本思想是在某個時間間隔(例如傳感器)向服務器報告一個值(例如溫度)。服務器將此值記錄到數據庫中。將會有一個基於網絡的用戶界面,允許我在基於時間的圖上查看這些數據。理想情況下,這個圖表會有各種分辨率(最近30秒,上週,去年等)。在超理想的世界中,我可以放大任何時間點的數據。如何存儲和檢索圖形可視化的大量數據點?

問題是傳感器將產生大量的數據。例如,每5秒報告一次數值的傳感器每天將產生約18k的數值。我想象一個擁有數千傳感器的系統。隨着時間的推移,這會變成大量的數據。

天真的解決方案是將這些數據放到關係數據庫中,並以我想要的各種方式檢索它,但這不會縮放。

簡單的解決方案是通過定期彙總數據來減少數據量。新數據可能會進入每5秒鐘有數據點的表格。每個小時,一些系統會將這些數據輸出到另一個表格中,該表格每分鐘都有數據點並刪除原始數據。這重複了幾個級別。不利的一面是,你走的時間越晚,數據的細節就越少。這可能很好。與具有這種彙總的系統相比,我會想象我需要大量的硬件來支持全部數據的全分辨率。

有沒有更好的方法來做到這一點?有沒有現有的解決方案?我必須想象這是一個相當普遍的問題。

回答

相關問題