我必須做一個應用程序,將檢查每秒35項變化。每個項目有3個值,每個項目可放入5個字節,因此每個項目有15個字節。值不會改變每一秒,但沒有一個模式,也許他們連續改變或者拖延一段時間...如何高效地存儲這麼大量的數據?數據庫還是什麼?
所以我做了一個小的計算和我得到的存儲所有領域各第二對關係數據庫(SQL)我將有:
35 * 15個字節* 60秒*的60分鐘* 24小時* 365 = 16.5一年GB。
這對於SQL數據庫來說太多了。你會怎麼做,以減少數據的大小?我在考慮只在存在變化時才存儲數據,但是當變更完成時需要存儲數據,並且如果數據變化太頻繁,這可能需要比其他方法更多的空間。
我不知道除SQL數據庫之外是否還有其他存儲庫更符合我的要求。
您認爲如何?
編輯:更多信息。
除了我爲了節省空間而創建的數據之外,數據之間沒有任何關係。我只需要存儲這些數據並進行查詢。這些數據可以像(把它們都放在一個表,並保存數據每秒):
Timestamp Item1A Item1B Item1C Item2A Item2B ....
whatever 1.33 2.33 1.04 12.22 1.22
whatever 1.73 2.33 1.04 12.23 1.32
whatever 1.23 2.33 1.34 12.22 1.22
whatever 1.33 2.31 1.04 12.22 1.21
我能感覺到那一定是更好的解決方案,而不是這種形式給出...
編輯2:
我通常會查詢有關該產品的隨時間,通常我不會從多個項目中查詢數據的值的數據...
我會補充一點:它不包括記錄和索引的開銷,你可能會想要放一個時間戳! – xanatos
你需要什麼數據?僅用於存儲嗎?你需要做分析嗎?它的「關係」部分在哪裏?它只是一個有一些分區的大桌子嗎? – xanatos
不知道數據是什麼樣的,你會用它做什麼,它不可能正確回答你的問題。 –