c# - 如何通过分区使用 CosmosDB 中的地理空间数据

标签 c# .net azure azure-cosmosdb geospatial

将 CosmosDB 与地理空间数据结合使用的建议策略是什么? Cosmos DB 需要分区键,单个分区不能超过 10GB。因此,如果我有超过 10GB 的数据:

  1. 我无法选择地理空间索引作为分区键
  2. 我手动创建一个包含地理部分(即按城市)的分区键
  3. 单个空间查询不能跨越两个分区。因此,如果我在 EastLondonWestLondon 都有土地区域,我无法搜索数据库来确定它们是否相交。

实际使用方法是什么?

最佳答案

如果分区键只是地理空间属性,那就太理想了。然而,根据我的阅读,答案是您应该将分区数量限制为存储数据所需的最少数量。如果分区相交,则必须冗余存储相交的位。如果您限制 20GB(increased,因为您可能写了问题)分区的数量,那么跨分区查询的成本应该最小化。

解决此问题的一种可能方法是仅将 ID 与地理空间数据一起存储,然后您可以在其他地方存储和检索与该 ID 相关的详细信息。例如,这可以通过连接来完成。

关于c# - 如何通过分区使用 CosmosDB 中的地理空间数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50517221/

相关文章:

c# - 如何在 View 模型中设置总计属性的值

c# - 处理后SqlDataReader记录的使用

内容页面中的 JavaScript 验证

Azure AD Multi-Tenancy 登录 - 使用 microsoftonline.com 和 microsoftonline.de 中的租户

azure - 如何在新的 Azure 门户(预览版)上向我的 VM 添加新终结点?

c# - 在富文本框中的光标位置插入图像

c# - 流畅的 NHibernate 查询 : OrderBy column of joined table

.net - 在 32 位操作系统上编译的 .NET 程序可以在单声道下的 64 位 Linux 系统上运行而没有任何问题吗?

.net - 如何排除某些成员序列化到Json?

Azure - 启动多个 Web 角色项目时出错