[OSM-dev] Osmosis and Postgresql

80n 80n80n at gmail.com
Mon Jun 22 21:09:04 BST 2009


On Mon, Jun 22, 2009 at 2:29 AM, Brett Henderson <brett at bretth.com> wrote:

> Graham Jones wrote:
> > Brett,
> >
> > I'll have a look at --write-pgsql-dump and add some words about that
> > too.  Then I'll have a go at MySQL...
> >
> > The other thing I would like to add is a write-up on choosing a
> > database to use, because it is not obvious to me which would be the
> > best, but I suspect this has been looked at a lot before now.  I think
> > the choices are:
> I'm not aware of a page summarising this, so it sounds very useful.
> Lots of people ask about it.
> >
> >     * PostgreSQL/PostGIS - Can handle big datasets, and has geographic
> >       extensions.  What I do not know is whether these extensions are
> >       fast or not, or if for simple things like selecting for a
> >       bounding box it would be quicker to just select on lat/lon
> >       directly.   Mapnik uses this database, but the schema is
> >       optimised for rendering.
> >
> There's actually 3 PostgreSQL schemas which causes much confusion:
> 1. The API database.  This is the database behind the main OSM
> ruby-based API.  This is supported by the osmosis "apidb" tasks.  The
> only db capable of holding full history.
> 2. The Mapnik database.  Used by the mapnik renderer.  Loaded using
> osm2pgsql.  Not supported by osmosis.  Uses PostGIS extensions.  Holds a
> filtered subset of data appropriate for rendering.
> 3. The pgsql "simple" schema.  Badly named, but this is a schema I
> created for holding OSM snapshots (ie. doesn't maintain history).  It
> does support replication for keeping it up to date.  Uses PostGIS
> extensions.  Used by ROMA servers.
>
> All three schemas above can support minutely updates, 1 and 3 by
> osmosis, 2 by osm2pgsql.
> >
> >    *
> >
> >
> >     * MySQL - Can handle big datasets, but does not have geographic
> >       estensions.
> >
> This is the same schema as the PostgreSQL API schema, but implemented in
> MySQL.  Provides identical features, but no longer the preferred
> database of choice.  It's being maintained in the short term, but I
> suspect it will get dropped over time if PostgreSQL continues to work well.
> >
> >     * Sqlite - I have seen a discussion about this and I think there
> >       are doubts over how well it works for big datasets?
> >
> No idea on this one, but yes I'd be dubious about its use for large
> databases.  Not supported by osmosis.
>
> On this note, I've also messed about with the Berkeley DB Java Edition
> which didn't work well on large datasets.  I've long since deleted the
> osmosis tasks that used it.
> >
> >     * GT.M - I know nothing about this, but the xapi servers seem to
> >       use it?
> >
> I don't know anything about this either.
>

GT.M is a high performance schemaless datastore.  A bit like CouchDB.

Probably not what you are looking for.

80n



> >
> >    *
> >
> >
> > I would also like to include some example SQL queries to deal with
> > selecting nodes / ways etc. in a given bounding box, or searching for
> > points of interest.   These are not too difficult to do, but I suspect
> > that some ways are more efficient than others, so it would be nice to
> > include 'optimum' examples.
> Sounds reasonable.  You may wish to check out the osmosis "pgsql"
> queries in this space, it uses true geo-spatial queries if the optional
> way "linestring" and "bbox" columns are available.
> >
> > Do you know if this has already been done and written up somewhere?
> > If not I will set up a template and ask for help filling it in!
> I haven't seen it before (not that I've looked ...).  Sounds great to me!
>
> A couple of other db mechanisms are available, details are on the wiki.
> TRAPI - Stores data using a tile-based mechanism.
> http://wiki.openstreetmap.org/wiki/TRAPI
> osmbin - A compact custom storage mechanism.  Supported by osmosis via a
> plugin.
> http://wiki.openstreetmap.org/wiki/Osmosis/DetailedUsage#--write-osmbin-0.6
>
> Brett
>
>
> _______________________________________________
> dev mailing list
> dev at openstreetmap.org
> http://lists.openstreetmap.org/listinfo/dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstreetmap.org/pipermail/dev/attachments/20090622/6a9036a5/attachment.html>


More information about the dev mailing list