On Thu, Apr 14, 2011 at 12:29 AM, Andrea Aime
<[email protected]>wrote:
> On Thu, Apr 14, 2011 at 2:20 AM, Tim Schaub <[email protected]> wrote:
> > WFS 2.0 describes both paging with and without transactional
> > consistency. It's not a requirement to be consistent there even
> > (PagingIsTransactionSafe can be true or false), right?
> >
> >> Also it seems that WMS GetMap already supports paging... and this is
> >> more or less following suite what it is doing.
> >>
> >>
> >> Also curious about sorting... I remember something like sorting by
> >> default
> >> on the feature id while paging, but my memories of it are foggy, we
> >> discussed
> >> this with Gabriel a loong time ago (when the paging machinery was
> >> added to
> >> GeoTools).
> >>
> >>
> >> As I understand things how they are implemented now using startIndex
> >> requires the underlying datastore to be able to do sorting. And when the
> >> client does not specify an explicit attribute to sort on this means
> >> doing a natural sort (feature id). If you look at
> >> ContentFeatureSource.getReader(Query) you will see a check there.
> >>
> >> Which more or less means that paging can only be used with jdbc
> >> datastores. Which personally I think is fine since they are the only
> >> ones that can really do it efficiently. Thoughts on that?
> >
> > Would it be possible (later) to do sorting for all stores? I understand
> > it would be inefficient, but it's a bigger drawback (in my opinion) to
> > have a feature be store specific. As the client has no way to know
> > about these distinctions.
>
> A trivial way to implement sorting is to do it in memory. The day someone
> decides to sort on that 2GB shapefile boom!
> We'd need a secondary storage sort approach (mergesort), writing one would
> require quite a bit of time and the assurance everything in the feature is
> serializable.
> Another approach would be to have a hsql db, dump everything in it, and
> make it do the sort.
>
> In both cases it is to be noted that we first have to sort the large
> collection
> and then extract the page of data we need, so in the case of the large
> shapefile
> you'd have to first sort everything in order to get your 50 records page.
> Not efficient... (a db could do that efficiently only if it has a
> index on the sorting
> column, something that is normally available for the primary key)
>
A silly idea. What if we didn't sort in these cases. We just applied the
offset with a wrapper that skipped the first n entries. And the limitation
is that there no notion of stable at all unless you are using a database
rather than throwing an exception if your not using a database. It would
allow those sources that do provide a stable iteration order (but not
necessarily capable of native sorting) to work as well.
Not sure which one is better... fail fast or try to do something. I sort of
draw a parallel to transactions in which again unless you are using a
database you can't really do transactions well... but we at least try with
the other data stores.
> Cheers
> Andrea
>
> --
> -------------------------------------------------------
> Ing. Andrea Aime
> GeoSolutions S.A.S.
> Tech lead
>
> Via Poggio alle Viti 1187
> 55054 Massarosa (LU)
> Italy
>
> phone: +39 0584 962313
> fax: +39 0584 962313
> mob: +39 333 8128928
>
> http://www.geo-solutions.it
> http://geo-solutions.blogspot.com/
> http://www.youtube.com/user/GeoSolutionsIT
> http://www.linkedin.com/in/andreaaime
> http://twitter.com/geowolf
>
> -------------------------------------------------------
>
>
> ------------------------------------------------------------------------------
> Benefiting from Server Virtualization: Beyond Initial Workload
> Consolidation -- Increasing the use of server virtualization is a top
> priority.Virtualization can reduce costs, simplify management, and improve
> application availability and disaster protection. Learn more about boosting
> the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev
> _______________________________________________
> Geoserver-devel mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/geoserver-devel
>
--
Justin Deoliveira
OpenGeo - http://opengeo.org
Enterprise support for open source geospatial.
------------------------------------------------------------------------------
Benefiting from Server Virtualization: Beyond Initial Workload
Consolidation -- Increasing the use of server virtualization is a top
priority.Virtualization can reduce costs, simplify management, and improve
application availability and disaster protection. Learn more about boosting
the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev
_______________________________________________
Geoserver-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-devel