你们中有人有过使用NoSQL(非关系型)数据库存储空间数据的经验吗?使用此类数据库来保存桌面应用程序的数据(与使用 SpatiaLite 或 PostGIS 相比)是否有任何潜在的好处(速度、空间……)?

我见过 有关使用 MongoDB 处理空间数据的帖子, ,但我对一些性能比较感兴趣。

有帮助吗?

解决方案

图形数据库,例如 新4j 非常适合,特别是当您可以动态添加不同的索引方案时。您可以对基础数据执行的典型操作当然是一维索引(例如Timline 或 B 树)或更时髦的东西,如希尔伯特曲线等,请参阅 尼克的博客. 。另外,对于一些现场演示,请查看 AWE 开源 GIS 桌面工具 这里, ,底层索引图在时间 07:00 左右可见。

其他提示

的CouchDB还具有简单的空间扩展

http://vmx.cx/cgi-bin/blog/的index.cgi /类别/ CouchDB的

目前,MongoDB使用具有B-树,这将是比的PostGIS的R树(我不能给出确切的数字,恐怕,但有大量的理论文献的上的差异)较慢geohashing。然而,在这些幻灯片, http://www.slideshare.net / nknize / RTREE空间索引与 - MongoDB的-mongodc了解根据地理位置关键词追加R-树的MongoDB和分片笔者会谈。请您谈一下桌面使用,所以geosharding可能不感兴趣,因为分片的好处将体现更多的大规模数据集。 最终,这可能归结更要与您的空间数据做什么。 POSTGIS已大大更多的功能和支持的拓扑结构,光栅,三维坐标系统,所以如果这是你在找什么,PostGIS的仍然是最好的选择之间的转换。如果你有兴趣在存储数十亿美元/空间物体万亿,只是运行基本接近找到的所有点/基于一些标准,这点里面,然后MongoDB是一个可能非常不错的选择。

我已经存储与ZODB空间数据。有没有在访问本地文件数据(spatialite)或Unix套接字(PostGIS的)相比,TCP或HTTP请求(CouchDB的等),可以肯定,但有一个空间索引,使最大的区别一些固有的性能优势。我使用MongoDB的文章中提到的相同的R-树,但也有很多很好的选择。所述JTS拓扑套件具有不同的空间索引的Java。

Tarantool支持与最近邻搜索空间的二维索引(RTREE),重叠,包含,和其它空间的运营商。 Tarantool维持RAM整个数据集,成为唯一OSS内存数据库与空间索引的支持。 https://github.com/tarantool/tarantool /维基/ R-树索引快速启动和 - 使用

MarkLogic(企业的NoSQL)提供了空间的功能。这NoSQL的产品提供GIS应用混为一谈多个对象成一个实体的能力。这提供了用于在一个单一的实体管理有关数据,历史和时间表信息等跨结构化和非结构化内容,来源和系谱信息关系的支持。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top