天蓝色表存储中基于位置的数据

时间:2015-02-14 22:32:50

标签: azure geolocation azure-table-storage google-geolocation

我正在设计一个应用程序,其功能允许用户存储基于地理位置的数据,然后允许其他用户查询属于当前地理位置的给定半径范围内的数据。

问题是设计表可扩展并具有出色性能的最佳方法是什么?我想的是将一个包含纬度的表作为分区键(pk),将经度作为行键(rk),然后将dataid列映射到另一个使用该表的表dataid作为其分区键。

我的想法是,使用双向查找可以提高我的性能,因为两次查找都是即时的。这是正确的思维方式吗?我正在读某个地方,寻找属于某个范围的分区键很糟糕。如果是这样的话我该如何处理呢? Google地图 Apple地图套件通常如何实现这些功能?

1 个答案:

答案 0 :(得分:0)

如果不完全了解您的访问模式和方案,这很难完全回答。您可以使用最近发布的Azure存储表设计指南来帮助您为问题找到一个好的设计

http://azure.microsoft.com/en-us/documentation/articles/storage-table-design-guide/

对于读取,Azure表存储设计用于快速查询,其中客户端知道分区键和行键,因此您需要在数据模型中考虑该因素。对于写入,您需要均匀分布并避免追加/前置模式以实现高规模。