0

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

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

我的想法是,使用 2-way 查找将提高我的性能,因为两种查找都是即时的。这是正确的思维方式吗?我在某处读到,寻找属于某个范围的分区键是不好的。如果是这种情况,我应该如何处理?谷歌地图苹果地图套件通常如何实现这些功能?

4

1 回答 1

0

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

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

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

于 2015-02-17T17:26:59.700 回答