我想知道使用NoSQL数据库(如Azure的DocumentDB)是否适合Android GIS应用程序。为了更好地解释我的需求,这里是我的应用程序的快速细分:
根据我从Microsoft Azure支持获得的建议,我正在考虑在Managed Azure Services上使用Parse Server和DocumentDB。但是,我的一篇论文顾问已经提出了这个解决方案可能不明智的担忧,因为DocumentDB是一个NoSQL数据库。他说,支持空间数据的SQL数据库效率更高,可以执行更多的空间查询。我想知道是否有人能够解决这些问题以及NoSQL数据库是否支持我的应用程序的需求?为了使我的论文获得批准,我需要能够证明我对技术的选择是正确的。为了更好地解释我的应用程序,以下是数据库需要促进的一些潜在用例:
关于是否适合我的应用程序用例的NoSQL数据库的任何建议都将非常感谢。
答案 0 :(得分:0)
当作为NoSQL数据库服务时,DocumentDB实际上对空间数据和空间查询非常有效。 DocumentDB支持GeoJSON,在场景后面它为JSON文档生成空间索引。因此,它允许您通过利用空间索引有效地执行空间查询。
以下是有关DocumentDB地理空间支持的两个链接:
https://azure.microsoft.com/en-us/blog/announcing-geospatial-support-in-azure-documentdb/ https://azure.microsoft.com/en-us/documentation/articles/documentdb-geospatial/
如果您感到好奇,以下是描述我们如何索引和查询场景背后的地理空间数据的段落:
简而言之,几何体是从大地坐标投射出来的 然后在2D平面上使用a逐步分割成细胞 四叉树。这些单元格根据位置映射到1D 希尔伯特空间填充曲线内的细胞,保留了局部性 点。此外,当位置数据被索引时,它会通过a 称为曲面细分的过程,即与a相交的所有细胞 位置被标识并存储为DocumentDB索引中的键。在 查询时间,点和多边形等参数也被细分为 提取相关的单元格ID范围,然后用于从中检索数据 索引。