2008-11-01 170 views
3

什麼是存儲大量數據點的最佳方式?存儲大量數據點?

對於被測量過大量的位置,每分鐘例如溫度值?

每個數據點,一行SQL數據庫似乎並不十分有效。

+0

您是否在尋找速度效率或存儲效率? 你究竟打算如何處理數據? 你需要多長時間保持數據? – EvilTeach 2008-11-01 19:03:03

回答

3

我想知道爲什麼你看它是「效率不高」。可能您需要解釋您的數據模型和模式以提供更好的場景背景。

將多個數據點存儲到單個行中時,如果它們彼此不相關,並且確實應該獨立運行,則不是一個好方法。一起網格化將導致非常直觀且奇特的查詢語句,以提取給定場景所需的正確數據點。

我們之前在發電站做過工作,從各種系統和計量設備收集數據,需要監測和彙總各種各樣的氣體和電氣參數。根據參數的類型,它們可以每3-5分鐘到30-60分鐘。這些自然會導致每月有數百萬條記錄。

關鍵是正確索引表,以便它們的物理順序與記錄進入的順序相關聯。(聚簇索引)新頁面和區段是按傳入數據順序創建和填充的。這應該可以防止大量的頁面拆分和重新洗牌。

+0

關於數據到達的物理順序和聚簇索引,這是一個很好的觀點。按日期/時間戳記 – 2008-11-01 08:53:30

+0

表分區是分散負載,特別是如果你需要保留歷史的長時間的另一種方法。 – 2008-11-01 16:07:26

1

像這樣的表可能工作:

LocationID,溫度,時間戳

我不明白爲什麼這不會是有效的。畢竟,這是數據庫的用途。

2

關鍵questiopn可能是:你需要以後如何訪問它們?

如果需要使用時間戳和位置ID每個點關聯,以後需要檢索基於來自多個客戶的時間/時間範圍和位置單獨測量,一個數據庫可能的確是最有效的檢索

OTOH,如果您的客戶端將加載並處理一個位置一整天的數據,將數據存儲在每個位置和一天的一個文件中可減少依賴關係,並且可能更容易。

其他問題是備份和存檔,如果您的用戶可以/應該自己處理。