我有一些軟件可以在很長一段時間內收集大約200個讀數/秒的數據。它爲此使用了一個SQL數據庫。我期待使用Azure將大量舊的「歸檔」數據移至。Azure Table Storage分區設計
該軟件使用多租戶類型體系結構,因此我計劃爲每個租戶使用一個Azure表。每個租戶可能正在監控10-20個不同的度量標準,因此我打算將度量標識(int)用作分區密鑰。由於每個指標每分鐘只有一個讀數(最大值),因此我計劃使用DateTime.Ticks.ToString(「d19」)作爲我的RowKey。
我對這將如何縮放比較缺乏一點理解;所以希望有人能夠清除它:
對於性能Azure可能會/可能會通過partitionkey拆分我的表以保持事情的快捷。在這種情況下,這將導致每個指標一個分區。
但是,我的rowkey可能會代表大約5年的數據,所以我估計大約有250萬行。
Azure是否足夠聰明,然後基於rowkey進行拆分,或者我正在設計未來的瓶頸?我通常不會過早地優化,但是像Azure這樣的東西似乎不像平常那樣明智!
尋找一位Azure專家,讓我知道我是否在正確的路線上,或者我是否應該將數據劃分到更多的表中。
謝謝您的意見。可能的用例是用戶僅爲單個度量請求一系列數據。這個範圍很小(可能是一個24小時的窗口)。如果需要多個度量標準,則可以通過多個查詢完成。 – KingCronus 2013-04-04 11:31:09
此外,在這種情況下,prepadding並不需要,因爲指標不需要按照特定的順序,但感謝您的提升。 – KingCronus 2013-04-04 11:31:58
上面更新了我的答案。希望這可以幫助。 – 2013-04-04 17:50:37