如何有效存储包含地理空间数据的大型JSON文件

时间:2016-01-05 12:18:30

标签: sql-server json mongodb azure

我的应用程序在SQL数据库中存储车辆行程的地理空间数据。地理空间数据是车辆每五秒钟的纬度和经度值。 JourneyData表如下所示:

For Journey Id = 1; GeoSpatial Data is [[40.1,50.2],[40.2,50.3].......[60.1,70.1]]

For Journey Id = 2; GeoSpatial Data is [[40.1,50.2],[40.2,50.3].......[50.1,60.1]]

此处Journey IdintGeoSpatial Datantext

地理空间数据非常庞大。例如最大的地理空间数据用于5天的旅程,其中有5*24hrs*60min*60sec/5sec = 86400个坐标。当我试图在mongodb中存储5天的地理空间数据阵列时,文档大小约为40MB。

MongoDB的文档大小限制为16MB。因此我使用MongoDB提供的gridfs将数据存储在一个文件中。我不确定这是否是最佳解决方案。

有200万旅程记录。当前地理空间数据的大小从几KB到40MB不等,具体取决于jouney的长度。 JourneyData SQL表的大小约为40GB。我需要将这些数据有效地转换,存储和检索到另一个数据库,然后将其绑定到谷歌地图中以显示旅程路线。我的应用程序托管在azure上。请让我知道实现这一目标的最佳方法。

我应该使用mongodb或azure blob还是其他任何东西?

1 个答案:

答案 0 :(得分:0)

您是否尝试将其存储为地理数据类型?我只是运行以下测试生成(确实是假的)数据并将其存储为线串。它出现在1.5 Mb以下

<xs:choice>