On 04/06/10 14:15, Andrea Aime wrote:
> Wondering if you can open a Transaction, set it into the feature
> sources, so that all of them operating against the same db will
> share a single connection. That would improve the scalability
> significantly....

A more difficult problem is orchestrating multiple filter queries so 
that a single complex feature WFS response can be built from multiple 
simple FeatureSources, where the FeatureSources interact to reassemble 
the filter queries into an efficient join.

The implementation of app-schema builds on the existing simple 
FeatureSources, one FeatureSource per table/view. This makes navigating 
relationships very inefficient, because GeoServer has to take the simple 
features and find their relationship so they can be reassembled into a 
complex feature, with one as a nested property of the other. This 
typically involves making a new filter query for each complex property 
of each enclosing feature (yes, you read that right, feature, not 
feature type). The volume of the generated SQL can exceed the volume of 
the encoded response. This query pattern would be more naturally and 
efficiently represented in SQL by a JOIN on the fields defining the 
relationship.

So, is it possible to take a complex information model, flatten it into 
a collection of simple feature types, and reassemble it just in time to 
make an efficient SQL query appropriate to the complex information 
model? (And pass the result back through the simple FeatureSources). My 
gut feeling is no. This is in my view one of the fundamental 
architectural limitations of GeoServer app-schema. Even thinking about 
it leads me into wondering whether we end up trying to solve the general 
object-relational mapping problem.

Andrea, have you got an experimental git local repo that does this?  ;-)

-- 
Ben Caradoc-Davies <[email protected]>
Software Engineering Team Leader
CSIRO Earth Science and Resource Engineering
Australian Resources Research Centre

------------------------------------------------------------------------------
ThinkGeek and WIRED's GeekDad team up for the Ultimate 
GeekDad Father's Day Giveaway. ONE MASSIVE PRIZE to the 
lucky parental unit.  See the prize list and enter to win: 
http://p.sf.net/sfu/thinkgeek-promo
_______________________________________________
Geoserver-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geoserver-devel

Reply via email to