postgresql – 如何有效地扩展OpenStreetMap数据
发布时间:2020-12-13 16:25:42 所属栏目:百科 来源:网络整理
导读:一年多来,我正在运行一个内部的PostGIS服务器,里面装满了OSM数据,用于基于Mapnik的区块生成和基于Nominatim的地理编码,并通过日复制进行更新.这非常有效. 但是,随着使用量呈指数级增长,我希望通过添加额外的PostgreSQL服务器来提高可靠性和性能.我有点迷茫.
一年多来,我正在运行一个内部的PostGIS服务器,里面装满了OSM数据,用于基于Mapnik的区块生成和基于Nominatim的地理编码,并通过日复制进行更新.这非常有效.
但是,随着使用量呈指数级增长,我希望通过添加额外的PostgreSQL服务器来提高可靠性和性能.我有点迷茫. 由于PostgreSQL本身似乎不能处理复制,我会考虑使用像PgPool-II这样的中间件来保持服务器同步.但我担心这种用法只是必要的:非常高的读写比,所有写入都是在每天的同一时间完成的. 我的问题很简单:你会做些什么来保持这些服务器同步?而且,在OpenStreetMap Foundation,MapQuest,Mapbox或CloudMade中为此做了些什么? 谢谢.
首先,Postgres 9及更高版本确实具有内置复制支持,这就是我们(OpenStreetMap运营团队)期望在现在使用Postgres 9.1为主数据库运行的(大约90分钟前).
要回答关于OSM做什么的问题,迄今为止我们没有进行任何类型的复制 – 有一个大的Postgres数据库充当网站后面的主数据库并保存原始数据.然后有用于渲染和地理编码的辅助Postgres Postgis数据库,这两个数据库都使用行星转储和差异进行填充以进行更新. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |