1
A
回答
5
掃描從第一個分區開始按順序完成,因爲實體通過PartitionKey/RowKey組合存儲。
2
Gaurav Mantri是正確的。
如果你想強制它並行執行,你必須按照所有可能的PartitionKeys進行過濾,然後在代碼中並行執行這些查詢。這可能會或可能不會「更好」(更快/更容易/更便宜),因爲它取決於不同的事情。
最終,我不會爲典型情況提供此建議。你可能會更好地組織你的數據。
1
正如Gaurav所說,它不是自動的。但這並不意味着它無法完成。
如果您可以對PartitionKey進行某些假設,則可以非常容易地並行執行Azure表。例如,如果您的PartitionKey是GUID,則可以通過在範圍中搜索數據來啓動10個線程。以下是您將在第一個線程上使用的範圍示例,檢索範圍[a,e [中的所有實體。請注意,您可以根據需要調整它,並根據需要運行20個線程。
(PartitionKey GE「a」和PartitionKey LT「E」)
相反,如果你使用一個非唯一值的GUID,讓我們說國家的名單,因爲你有你只會啓動多少線程國家。
您真正需要掃描整個Azure表的唯一情況是當所有實體的PartitionKey相同時,在這種情況下您可能面臨設計問題。
0
幾個月後,我想發佈一個答案來討論並行掃描全表掃描的性能影響。
我使用了128分區方案,使用具有出色分佈的密鑰生成算法,並給出Guid行密鑰種子值。
經驗測試表明,單線程查詢可以在某些情況下執行得更好,更好。我認爲,表格大小和Azure分配部件的方式似乎有所不同。
總之,它需要在產品生命週期中檢查一個區域,看看不同的策略是否會提高性能。
因此,我所做的是在自動化測試中放置一個預期的持續時間,以便任何降級都可以閃爍紅光再次檢查。
相關問題
- 1. 並行查詢Azure存儲
- 2. Azure存儲表查詢,這是更快?
- 3. Azure表存儲過濾器查詢
- 4. 查詢沒有LINQ的Azure表存儲
- 5. Azure存儲表,有關查詢和查詢處理的問題
- 6. 如何通過Azure表存儲中的partitionkey進行查詢?
- 7. 查詢Azure表存儲中的非分區和非行鍵
- 8. Howto允許GZIP進行Azure表存儲查詢
- 9. 運行沒有PartitionKey的Azure表存儲查詢
- 10. 提高azure blob存儲查詢速度
- 11. Azure表存儲
- 12. Azure存儲表 - 插入批次行並檢查它們是否存在
- 13. Azure表上的查詢存儲的分區鍵
- 14. AZURE表存儲,ODATA和更友好的URI查詢
- 15. Azure表存儲OnStart構造函數查詢
- 16. 使用Windows Azure查詢表存儲數據
- 17. Azure表存儲查詢返回錯誤分區的數據?
- 18. 對存儲在Azure表中的數據執行高級查詢(DW?MR?)
- 19. 如何使用Azure表存儲器進行大量查找
- 20. Azure表存儲增量備份到Azure存儲Blob
- 21. MacOS上的Azure表存儲
- 22. Azure ACS +表單值存儲
- 23. Azure存儲表VS SQL
- 24. 優化Windows Azure表存儲?
- 25. 保護Azure表存儲
- 26. Azure存儲表尋呼
- 27. Azure表存儲SAS REST
- 28. Azure Blob存儲列表Blob
- 29. Azure的表存儲大小
- 30. 在Azure表格存儲的插入功能中查詢其他表格
感謝您的回覆。我看到它的方式,碎片的重點是能夠在許多較短的數據集上運行令人尷尬的並行查詢。不得不自己編寫代碼很不幸,結果是許多小的聯合SQL Azure實例變得更具吸引力。 – 2013-02-26 21:18:03
在進行並行搜索時,不需要查詢所有可能的分區鍵。您可以使用「小於」和「大於」的組合在同一個線程中搜索多個PartitionKey實例。 – 2013-03-05 01:25:34
@HerveRoggero是正確的,儘管您仍然希望確保在所有查詢中包含所有可能的PartitionKeys,即使一次打多個。 – Jaxidian 2013-04-01 20:43:25