Native vs OGR db drivers (Re: A MapServer 5.0 Branch?) (Re: RFC
17: Dynamic Arr
Steve Lime
Steve.Lime at DNR.STATE.MN.US
Wed May 17 12:55:19 EDT 2006
In my opinion it all comes down to performance. If maintaining native
drivers provides a significant boost in speed then it seems to me to be
worth the effort since speed is one of MapServer's calling cards.
Has the overhead of OGR been quantified relative to something like
native access in MapServer?
Steve
>>> Howard Butler <hobu at IASTATE.EDU> 5/16/2006 2:51 PM >>>
At 02:15 PM 5/16/2006, Attila wrote:
>On Monday 15 May 2006 16:44, Sean Gillies wrote:
> > advantage of the opportunity to ditch some unsupported or outdated
> > aspects of MapServer: non-OGR mysql, image maps, flash, cartoline.
>
>Note that the functions from non-ogr mysql are used for the mysql joins, and
>from the feedback I'm getting, that is one of the major usages of this
>otherwise admittedly rarely used data source. I'm not sure, maybe this
>functionality is now available through different means, but keep this in
>mind, too.
I don't know off the top of my head for sure if OGR supports JOINs in
a similar fashion as the MyGIS driver or Shapefiles. I would agree
that the spatial side of MySQL is probably covered pretty well by
OGR, but not something like JOINs that cross LAYERs (you could write
a pure MySQL sql statement that joined some tables together to get
results with OGR's MySQL support or use some OVF).
A downside of MySQL with OGR on MapServer is taking on the overhead
of OGR. But again, "if you want performance -- use shapefiles" has
seemed to be our mantra in that regard.
A somewhat related issue is whether we want start to move "native"
drivers down to OGR, implement single-pass querying, and start to get
MapServer out of the data reading business (keeping shapefiles, of
course :). As the SDE maintainer, there are some things that
mapsde.c does right now that OGR doesn't (but could be made to). I
would rather bother with maintaining one set of code (and providing
much leverage for lots of folks) than having two sets of SDE reading
code with different feature sets etc. Also, user confusion about
using the OGR or native drivers (and it can make a big difference
because of how things are implemented) seems to be an issue. Native
drivers aren't plugins at this time, and this means trouble for folks
wishing to not compile their own (mostly SDE and Oracle in this
regard). And the purist in me feels that two different drivers is redundant.
All four of the native MapServer db drivers (Oracle, PostGIS, MyGIS,
and SDE) have tweaks and features specific to MapServer. It's
possible that it isn't realistic to do this either. What do people think?
>That MyGIS is fairly obsolete in itself and is in need of a rewrite
>to use the
>spatial features (although OGR might be capable of doing what this would be
>good for) or a shrink from a complete backend to a join provider. I would
>really like to do the rewrite, my C at the time of writing the module was
>sloppy at best - I feel I have improved much since then, but unfortunately
>the time to do this properly this time around is what I don't have :(
More information about the mapserver-dev
mailing list