我目前正在監控5個不同的建築物,每棟建築物大約有300個房間。每個房間都有4個傳感器,其中3個監測室內不同位置的溫度,一個監測房間消耗的功率量(killowatts)。RRD工具結構和理解
我目前每15分鐘輪詢一次傳感器,每天產生576,000個條目,我監測的建築物數量很快就會增加。我現在在MySQL中存儲所有的信息,我有一個每個傳感器類型的MySQL表,所以這些表被命名爲'電源','temp1','temp2','temp3'。這些表格中的列是'id','building_id','epoch','value'。
然後,我使用這些數據生成圖表,使用Chart.js庫和統計數據(如某個時間段內每個建築物使用的功率量等),我使用PHP來完成所有這些工作。
我不相信我的MySQL數據庫將是能夠處理這種無嚴重的規模和集羣
我需要能夠查看歷史數據5年,儘管一些粒度可後丟失一段時間。
我被告知RRD可能能夠解決我的問題,並已對其做了一些研究,但仍有一些問題。
它仍然允許我使用專門的Chart.js庫創建自己的圖表嗎?如果我能從RRD獲得時間/價值的JSON數據,那應該沒問題。
我還需要創建多少個不同的RRD文件?我需要每個建築物嗎?每個房間?每個傳感器?它是否仍然易於管理。
我有15分鐘的間隔運行的PHP腳本,使用SNMP從傳感器中獲取數據,然後將數據插入到MySQL中,如果我可以使用相同的腳本插入到RRD中,我看到你可以使用PHP插入RRD,以便應該沒問題。
編輯:我正在閱讀http://michael.bouvy.net/blog/en/2013/04/28/graph-data-rrdtool-sensors-arduino/已開始回答我的一些問題。