我有一个项目,需要将大多数查询与纬度/经度以及日期+时间分开。
最初,我在考虑一个标准的 RDBMS,其中 lat、long 和 datetime 字段被正确索引。然后,我开始考虑一个基于文档的系统,其中文档本质上是一个时间戳,每个文档都有纬度/经度。每个文档可以有 n 个与之关联的对象。
我正在寻找关于什么是这类事情的最佳存储引擎类型的建议 - 上述想法中的哪一个会更好,或者如果有其他完全是理想的解决方案。
编辑:寻找开源/免费解决方案。可惜价格是个问题!
谢谢
我有一个项目,需要将大多数查询与纬度/经度以及日期+时间分开。
最初,我在考虑一个标准的 RDBMS,其中 lat、long 和 datetime 字段被正确索引。然后,我开始考虑一个基于文档的系统,其中文档本质上是一个时间戳,每个文档都有纬度/经度。每个文档可以有 n 个与之关联的对象。
我正在寻找关于什么是这类事情的最佳存储引擎类型的建议 - 上述想法中的哪一个会更好,或者如果有其他完全是理想的解决方案。
编辑:寻找开源/免费解决方案。可惜价格是个问题!
谢谢
我使用 PostGres(免费开源数据库)和 PostGIS 扩展来处理位置数据。它们非常好,即使我在 MS 环境中工作,所有生产数据库都使用 MSSQL 2005,但我使用带有 GIS 的 PostGres 来操作和预先计算大量地理数据。
PostGis 具有用于导入 arcview .shp 文件的实用程序,这是一个巨大的优势,因为这是大多数地理数据的存在方式。它还提供了许多基于位置的 sql 函数,例如 contains( ... ) 和 near( ... );它提供了一种索引空间数据的机制。
自从我使用它已经有一段时间了,但我记得它坚如磐石并且非常有用。
PostGIS: http: //postgis.refractions.net/
除了通常的日期和时间类型之外,SQL Server 2008 还具有用于存储和处理地理信息的新数据类型。
请参阅“使用空间数据(数据库引擎) ”。
SQL Express 是一个免费的数据库 + 支持存储 lat/long 和 dateTime
只是一个提示 - 如果您的应用程序需要了解不同的位置,请特别使用 UTC 时间作为 dateTime...
hth。