[OSM-dev] Proposal: Database accelerator and dirty tile marker based on simple algorithm.

Nick Hill nick at nickhill.co.uk
Thu Sep 21 00:35:33 BST 2006


Hello Anselm

OSM has a lot of potential growth, which seems to usually be limited 
software and hardware technology.

A server upgrade myself and Steve completed a few months ago gave us 
good performance for a short time. The system then became extremely slow 
as demand caught up with supply. I recently isolated an SQL query which 
I posted an improvement for, which was soon improved again. This has led 
to the current state of affairs where the database and API systems are 
easily able to cope with current demands. I have made further database 
optimisations which provide further growth potential.

It is only a matter of time before demand and OSM growth rate bring the 
system back to it's knees.

Looking for method changes which can improve performance possibly by 
another order of magnitude is really what we need. We should do this 
before attempting to deploy massively parallel systems (something our 
budget will not currently stretch to in any case).

OSM is different from any other GIS project. Funding is almost zero, 
potential userbase is massive, and the data set is growing at a very 
fast rate. More than any other GIS project, OSM needs to provide 
cost-effective delivery of geodata.

If there is usable existing GIS code to make OSM more efficient, then we 
need to evaluate it, just like we have been evaluating ideas on this 
list. If you know of such code, please add to the discussion. It will 
require analysis of the technology. If it is promising, we'll need side 
by side comparisons in situations which simulate a working environment, 
considering all aspects of computational load including I/O memory and 
CPU requirements.

Myself and Steve have already evaluated R-tree indexes and independently 
found shortcomings. These tests have to a large extent molded the shape 
of OSM's current storage and delivery strategy.

Myself and Nigel have been arriving at solutions which have not yet been 
tested for use by OSM. They are very promising and provide the potential 
for delivery improvements.

There are also other approaches, such as partitioned databases. A 
partitioned database could itself provide the extra order of magnitude 
improvement we need. That does not stop consideration of yet more models 
which could be better still, and could be integrated with database 
partitioning.

OSM is more than a housekeeping operation of existing GIS technology. 
Anyone who thinks the necessary technology is already out there to make 
OSM more efficient ought to prove it.




> If you look at the discussion: Nick proposing a dirty tile marking
> scheme, Nigel Magnay noting that tiles are only marked dirty at the
> end-points of a line-segment (rather than more correctly dirtying a
> bresenhams or a boundary of the line-segment) and proposing a quadtree.
> Then the discussion moving onto using decimal integer coefficients (I
> personally used hexadecimal coefficients for performance in
> http://thingster.org/client.html which is an adobe svg only demo with
> precomputed tiles)...  Overall you see a lot of possible branching
> decisions that take significant mental computation to evaluate.
>
> I do agree with Lars, although not the tone used, that PostGIS, GRASS and
> the like should be leveraged.  The OpenLayers and the OSGEO community I
> think would be more than happy to help standardize the back end data
> representation and storage of line segments in such a way that all of the
> concerns could be satisfied; such as making sure that tiles are never
> obsolete.  The 'Mapping Hacks' book is worth spending a few days browsing
> over; and it is worth even just trying mapserver, playing with postgresql,
> ka-maps and the like such as OpenLayers is pushing.  There is even still
> possibly a role for squid where it could be used as a tile invalidation
> scheme.  For me, putting together http://maps.civicactions.net was pretty
> trivial aside from the javascript mostly because I just used off the shelf
> solutions.  I feel like there is so much value in what OSM is doing that
> if there were some way that the strengths of GIS approaches could be used
> without having to discard them due to gating considerations such as
> concern over tile invalidation, that it would be best.
> 
> So no technical advice; just basically a 10,000 foot view comment...
> 
>  - a
> 
> 
> 
> 
> _______________________________________________
> dev mailing list
> dev at openstreetmap.org
> http://lists.openstreetmap.org/cgi-bin/mailman/listinfo/dev
> 




More information about the dev mailing list