2011-02-10 102 views
0

工廠數據是來自工廠過程的實時數據,如壓力,溫度,氣體流量等。這些數據的數據模型通常是這樣的:
(Point Name, Time stamps, value(float or integer), state(int))如何存儲工廠數據和存儲位置?

我們有數千個點和長時間存儲。而且重要的是,我們希望在需要時方便快捷地進行搜索。

一個典型的搜索請求是這樣的:

get data order by time stamp 
    from database 
    where Point name is P001_Press 
    between 2010-01-01 and 2010-01-02

類似MySql數據庫是不適合我們,因爲記錄實在是太多了,查詢是過於緩慢。

那麼,如何存儲數據(如上)以及在哪裏存儲它們呢?任何NOSQL數據庫?

謝謝!

回答

0

這個數據和查詢模式實際上非常適合SQL數據庫中的平坦表,這意味着在NoSQL中實現它將比在SQL中修復查詢性能的工作量大得多。

如果您的數據是實時插入的,您可以刪除order by子句,因爲日期已經按時間戳排序,並且不需要浪費時間對它進行排序。關於點名稱和時間戳的索引應該可以讓您在查詢的其餘部分獲得良好的性能。

如果你真的想要了解SQL表格可以容納的限制(數百萬條記錄),你可以選擇分片 - 每個數據點的表格可能工作得很好。

+0

感謝您的回答。這很有幫助。 – 2011-02-11 08:52:53