NoSQL 和空间数据

发布于 2024-08-17 03:12:16 字数 276 浏览 11 评论 0 原文

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

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

Has any of you had any experience with using NoSQL (non-relational) databases to store spatial data? Are there any potential benefits (speed, space, ...) of using such databases to hold data for, say, a desktop application (compared to using SpatiaLite or PostGIS)?

I've seen posts about using MongoDB for spatial data, but I'm interested in some performance comparison.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

少钕鈤記 2024-08-24 03:12:16

Neo4j 这样的图形数据库非常适合,特别是当您可以动态添加不同的索引方案时。您可以对基础数据执行的典型操作当然是一维索引(例如 Timline 或 B-Trees)或更有趣的操作,例如希尔伯特曲线等,请参阅 此处,底层索引图是时间 07:00 左右可见。

graphs databases like Neo4j are a very good fit, especially as you can add different indexing schemes dynamically as you go. Typical stuff you can do on your base data is of course 1D indexing (e.g. Timline or B-Trees) or funkier stuff like Hilbert Curves etc, see Nick's blog. Also, for some live demonstration, look at the AWE open source GIS desktop tool here, the underlying indexed graph being visible around time 07:00 .

那支青花 2024-08-24 03:12:16

目前,MongoDB 使用 B 树进行地理散列,这比 PostGIS 的 R 树慢(恐怕我无法给出确切的数字,但有大量关于差异的理论文献)。但是,在这些幻灯片中, http://www.slideshare.net /nknize/rtree-spatial-indexing-with-mongodb-mongodc 作者讨论了将 R 树添加到 MongoDB 并在地理键上进行分片。您谈论的是桌面使用,因此地理分片可能不会引起您的兴趣,因为分片的好处在海量数据集上会更明显。
最终,它可能更多地取决于您想要如何处理空间数据。 Postgis 具有更多的功能并支持拓扑、栅格、3D、坐标系之间的转换,因此如果这就是您所寻找的,PostGIS 仍然是最佳选择。如果您有兴趣存储数十亿/万亿的空间对象,并且只是根据某些标准运行基本查找该点附近/内部的所有点,那么 MongoDB 可能是一个非常好的选择。

Currently, MongoDB uses geohashing with B-trees which will be slower than the R-trees of PostGIS (I can't give exact numbers, I'm afraid, but there is plenty of theoretical literature on the differences). However, in these slides, http://www.slideshare.net/nknize/rtree-spatial-indexing-with-mongodb-mongodc the author talks about adding R-trees to MongoDB and sharding on a geo key. You talk about desktop use, so geosharding may not be of interest, as sharding's benefits will be felt more on massive datasets.
Ultimately, it probably comes down more to what you want to do with your spatial data. Postgis has vastly more functions and support for topology, rasters, 3D, conversions between coordinate systems, so if this is what you are looking for, PostGIS would still be the best option. If you are interested in storing billions/trillions of spatial objects and just running basic find all points near/inside this point based on some criteria, then MongoDB is likely a very good choice.

黑凤梨 2024-08-24 03:12:16

Couchdb 还有一个简单的空间扩展

http://vmx.cx/cgi- bin/blog/index.cgi/category/CouchDB

Couchdb also has a simple spatial extension

http://vmx.cx/cgi-bin/blog/index.cgi/category/CouchDB

晨与橙与城 2024-08-24 03:12:16

我一直使用 ZODB 存储空间数据。与 TCP 或 HTTP 请求(CouchDB 等)相比,访问本地文件数据(spatialite)或 unix 套接字(PostGIS)当然有一些固有的性能优势,但拥有空间索引会带来最大的区别。我使用 MongoDB 文章中提到的相同 R 树,但还有很多不错的选择。 JTS 拓扑套件具有 Java 的各种空间索引。

I've been storing spatial data with ZODB. There's some inherent performance advantage in accessing local file data (spatialite) or unix socket (PostGIS) compared to TCP or HTTP requests (CouchDB etc), surely, but having an spatial index makes the biggest difference. I'm using the same R-trees mentioned in the MongoDB article, but there are plenty of good options. The JTS topology suite has various spatial indexes for Java.

拥抱我好吗 2024-08-24 03:12:16

Tarantool 支持具有最近邻搜索、重叠、包含和其他空间运算符的空间二维索引 (RTREE)。 Tarantool 在 RAM 中维护整个数据集,使其成为唯一支持空间索引的 OSS 内存数据库。
https://github.com/tarantool/tarantool /wiki/R-tree-index-快速启动和使用

Tarantool supports spatial two-dimensional index (RTREE) with nearest neighbor search, overlaps, contains, and other spatial operators. Tarantool maintains the entire data set in RAM, making it the only OSS in-memory database with spatial index support.
https://github.com/tarantool/tarantool/wiki/R-tree-index-quick-start-and-usage

南烟 2024-08-24 03:12:16

MarkLogic(企业NoSQL)提供空间功能。这一 NoSQL 产品为 GIS 应用程序提供了将多个对象合并为一个实体的能力。这为在单个实体中管理跨结构化和非结构化内容、有关数据的出处和谱系信息、历史和时间线信息等的关系提供了支持。

MarkLogic(Enterprise NoSQL) provides spatial functionality. This NoSQL product provides GIS applications the ability to conflate multiple objects into one entity. This provides support for managing relationships across structured and unstructured content, provenance and pedigree information about the data, historic and timeline information, etc. in a single entity.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文