我有一個程序,從某個來源每秒接收約20個任意測量。每個度量都有一個類型,時間戳,最小值,平均值和最大值。然後我需要創建每個度量類型的X個聚合。mysql硬盤的效率與數百萬行
該程序可以同時設置100個源代碼,這會產生大量需要快速存儲和快速檢索的數據。
這將運行的系統沒有內存/存儲/ CPU的限制,但是在那裏有另一項服務在寫入到硬盤的能力幾乎達到極限。對於這個問題,我們假設這是一個「頂級」硬盤,我將無法升級到硬盤。
我現在正在做的是根據每個測量類型(20x源)生成一個表格,並根據每個測量的時間戳值進行分區,作爲遇到新的測量類型。我這樣做是爲了避免在HDD上分割測量數據,這將使我能夠以最少的「尋找」來插入或查詢數據。
這是否有意義?我不需要做任何連接或複雜的查詢,它可以是直接的批量插入或按時間戳範圍的單個測量類型查詢。
MySql如何將數據存儲在硬盤中的表中?如何在插入&查詢期間更好地設計數據庫以最大限度地減少硬盤查找?