使用Azure存儲表構建類似博客發佈系統的圖像。 用戶發佈消息並且數據庫記錄用戶的區域,城市和語言。Azure存儲表記錄過濾建議
之後,用戶可以瀏覽所有其他用戶的帖子,並且可以通過區域,城市和語言的任意組合來篩選它們。或者兩者都看不到。
我看到幾個解決方案:
- 把每一個消息在8個不同的分區與區域 - 城市 - 語言的組合(優點:在讀快如閃電的點查詢;缺點:每封郵件的8筆上寫)。
- 將每條消息放在4個不同的分區中,並使用Region-City和分區掃描功能進行分組掃描,以便通過語言進行篩選(優點:比(1)更少的事務處理;缺點:分區掃描,每條消息4個事務)。
- 根據用戶ID(優點:每條消息的單個事務;每個消息都使用慢速表掃描和分區掃描)將每條消息放入分區。
的路上我看到它:
- 速讀,慢(也許是昂貴的)寫道。
- 平衡讀取/寫入/成本。
- 快寫,慢(但便宜)的讀取。
「成本/便宜」我的意思是基於交易(而不是空間)的定價。 而「平衡」我的意思是在這些變種之中。
想到使用索引表,但看不到他們在這裏如何幫助。 所以問題是,也許還有另一種更好的方法?
這真是意見徵集和廣泛 - 沒有正確的答案。您需要進行基準測試,併爲您的特定應用選擇正確的組合。不知道你的意思是「索引表」(也許你指的是額外的存儲表,特定的索引屬性作爲分區/行鍵?)。 –
是的。索引表就像你所描述的。我問是否有任何其他可能的解決方案。 –