对空间数据库系统的建议

对空间数据库系统的建议

我正在寻找有关用于存储大量空间主数据的数据库的建议。数据本身不是关系型的,但可以这样表述。数据的结构如下:

纬度、经度、时间序列(整数“数组”)

目前,我们正在使用 MySQL,但在我们的大型表设置中,它的性能不佳。在我们最大的表(4.2 亿行,500GB 大小)上索引空间点花了一周时间才放弃。我们目前还面临着服务器频繁崩溃的问题(仍在研究原因)。

由于这些问题,我正在寻找有关其他数据库的建议。Oracle 是一个选择,但我想知道我们是否只是用复杂问题来换取复杂问题。有人知道其他数据库的良好空间数据体验吗?

答案1

PostgreSQL 与后地理信息系统扩展应该非常匹配。PostGIS 被广泛使用,例如开放街道地图项目,所以它应该能够处理您的数据。

答案2

OpenStreetMap 过去使用 MySQL 和定制的基于四分片的空间扩展。该代码肯定还在某个地方。实际上,它运行正常。据我所知,促使这一举措的并不是空间查询。而是数据库操作(查询优化和在不锁定表的情况下更改架构)的普遍性能不佳

该项目转而使用 Postgres2009 年,OpenStreetMap 将其作为主数据库。事实上,不是 PostGIS。OpenStreetMap 甚至没有在其主地理数据库中使用 postgres 几何类型。OpenStreetMap 图块渲染服务器(以及使用 OpenStreetMap 数据设置 Mapnik 图块渲染服务器的其他人)使用 PostGIS 数据库,但这是一个单独的系统。

请注意,PostGIS 只是在数据库中添加了一堆功能的 Postgres。

答案3

补充一点,所有“重型” Oracle GIS 都是一项额外成本选项他们的企业版,因此成本可能会变得昂贵。

功能的一个子集,称为定位器,是标准版的一部分。

您没有详细说明您对数据进行了哪些处理,因此很难确定您需要什么。我假设,至少您会进行某种“距离”或“最近”计算。如果没有,那么您甚至可能不需要将数据视为“空间”。

也很难说哪种产品更能解决​​问题而不是解决问题。这在很大程度上取决于您团队的技能组合(或您可以聘请的技能组合)。Oracle 经验的人才库可能比您提到的其他人才库要多(不包括 SQL Server,但也可能值得考虑)。

相关内容