On Fri, Oct 1, 2010 at 10:13 AM, Rini Angreani <rini.angre...@csiro.au> wrote:
>
> Hi Andrea,
>
> I also thought that the main reason to use feature chaining like you said,
> is to avoid managing large denormalised views. The table/view gets really
> big when you have deeply nested features (sub features that have also have
> features), especially when multiple multi-valued properties are involved (in
> sub features). Although, according to Ben, it wasn't possible to map
> multiple multi-valued properties using grouping alone (without feature
> chaining). Sorry, I don't fully remember the limitations of grouping in old
> app-schema. Anyway, the whole grouping mechanism has been removed now, but
> still remains in 1.6, so if multiple multi-valued properties are involved,
> feature chaining must be used for 2.0 and beyond.

So in the current one it's possible to have multiple multivalued properties
and still use a single table?


> I played around with the alternative solution you proposed a while ago, i.e.
> querying by fids, but when the dataset gets really large, we ran out of
> memory pretty quickly (having to store the fids somewhere).

Yep, pretty understandable.
What you can do is to use paging: retrieve the fids, store them on disk
temporarily using a data output stream, then for each sub query you have
to run get, say, 1000 of those fids and run a first query, then repeat for
the next 1000 and so on. This should avoid keeping in memory a large
list of fids and at the same time avoiding too large queries.

Do you happen to have your experiments somewhere? I'd like to have
a look at that code.

> The only current plan to improve performance is to possibly halve the time
> it takes, since the queries are run twice (1st one to get size or
> numberOfFeatures printed on the header, and then to actually encode the
> features). This makes sense for simple features, because they're streamed,
> so getting numberOfFeatures before encoding is straight forward. Anyway,
> even when this is fixed, it's still not fast enough.
> There is a plan for improving the performance properly (on the database join
> level or using hibernate), but not in the near future.

Pity :-)

Cheers
Andrea

-----------------------------------------------------
Ing. Andrea Aime
Senior Software Engineer

GeoSolutions S.A.S.
Via Poggio alle Viti 1187
55054  Massarosa (LU)
Italy

phone: +39 0584962313
fax:     +39 0584962313

http://www.geo-solutions.it
http://geo-solutions.blogspot.com/
http://www.linkedin.com/in/andreaaime
http://twitter.com/geowolf

-----------------------------------------------------

------------------------------------------------------------------------------
Start uncovering the many advantages of virtual appliances
and start using them to simplify application deployment and
accelerate your shift to cloud computing.
http://p.sf.net/sfu/novell-sfdev2dev
_______________________________________________
Geoserver-users mailing list
Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

Reply via email to