你们有使用 NoSQL(非关系型)数据库来存储空间数据的经验吗?使用这样的数据库来保存桌面应用程序的数据(与使用 SpatiaLite 或 PostGIS 相比)是否有任何潜在的好处(速度,空间等)?
我看过posts about using MongoDB for spatial data,但我对一些性能比较感兴趣。
像Neo4j这样的图形数据库非常合适,特别是因为您可以在运行时动态添加不同的索引方案。您可以对基本数据执行的典型操作当然是 1D 索引(例如 Timline 或 B-Trees)或更有趣的东西,例如 Hilbert Curves 等,请参见Nick's blog。此外,对于一些现场演示,请查看 AWE 开源 GIS 桌面工具 07 的基础时间索引图
目前,MongoDB 使用 geohashing 与 B-trees,这将比 PostGIS 的 R-trees 更慢 (恐怕我不能给出确切的数字,但有很多关于差异的理论文献)。但是,在这些幻灯片中,http://www.slideshare.net/nknize/rtree-spatial-indexing-with-mongodb-mongodc作者谈到将 R-trees 添加到 MongoDB 并在 geo key 上进行分片。你谈论桌面使用,所以地理分片可能不会带来更多的好处。
Couchdb 也有一个简单的空间扩展
http://vmx.cx/cgi-bin/blog/index.cgi/category/CouchDB我一直在使用 ZODB 存储空间数据。与 TCP 或 HTTP 请求 (CouchDB 等) 相比,访问本地文件数据 (spatialite) 或 unix 套接字 (PostGIS) 确实有一些固有的性能优势,但拥有空间索引会产生最大的不同。我正在使用 MongoDB 文章中提到的相同的 R 树,但有很多不错的选择。JTS 拓扑套件具有 Java 的各种空间索引。
本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处
评论列表(81条)