[Geoserver-devel] Hibernate backend for GeoWebCache

So it's time to write some new code for organizing tiles (and soon WFS stuff)

I've not been to keen on Hibernate because it forces me to give up flexibility and control. But in the end I've concluded that if I want to write something that's reasonable to maintain (no self-modifying code... leading us to JOINs), I'll have to make approximately the same concessions that Hibernate requires. So I'll try to type it up fully with Hibernate, do more rigorous benchmarking afterwards and see from there.

The challenge is to come up with a database structure that is fast, at least in the default case. I've outlined my current plan of action here, watch out for gaping holes and feel free to fill them in, http://geowebcache.org/trac/wiki/hibernate_backend

I'm a complete newbie at Hibernate, so I think it'll take another week before anything solidifies in code. It should remain easy to change things for another two weeks after that, so that leaves a fair amount of room for discussion.

Comments, please?

Please respond on the geowebcache-devel list, I just took the liberty to cross post since this is a pretty big thing.

-Arne

--
Arne Kepp
OpenGeo - http://opengeo.org
Expert service straight from the developers

Hi Arne,
the plan sounds good.
It just came to my mind, though, if you ever considered other options than a
RDBMS. I of course don't have any benchmark at hand, but wonder if you want to
keep GWC response times down to millisecons, whether hibernate is going to be
fast enough?
As I understand it, you need to persist mosaics of tile metadata, then the
tile info points to cached tile image on disk? (I'm totally ignorant of GWC so
forgive me if I'm plain wrong).
And all this wording is to finally ask you if you know of, or would be
interested in, a plain in memory with journaling to disk persistence solution,
called Prevayler <http://www.prevayler.org/wiki/&gt;\.
The ammount of data you need to store would fit in memory? if so, do you think
it the blazing fast access times you can get by doing so represent a big wish
for gwc, compared to the overhead of a remote rdbms plus the O/R mapper
(hibernate)?.

Gabriel
On Wednesday 21 January 2009 15:53:15 Arne Kepp wrote:

So it's time to write some new code for organizing tiles (and soon WFS
stuff)

I've not been to keen on Hibernate because it forces me to give up
flexibility and control. But in the end I've concluded that if I want to
write something that's reasonable to maintain (no self-modifying code...
leading us to JOINs), I'll have to make approximately the same
concessions that Hibernate requires. So I'll try to type it up fully
with Hibernate, do more rigorous benchmarking afterwards and see from
there.

The challenge is to come up with a database structure that is fast, at
least in the default case. I've outlined my current plan of action
here, watch out for gaping holes and feel free to fill them in,
http://geowebcache.org/trac/wiki/hibernate_backend

I'm a complete newbie at Hibernate, so I think it'll take another week
before anything solidifies in code. It should remain easy to change
things for another two weeks after that, so that leaves a fair amount of
room for discussion.

Comments, please?

Please respond on the geowebcache-devel list, I just took the liberty to
cross post since this is a pretty big thing.

-Arne

--
Gabriel Roldan
OpenGeo - http://www.opengeo.org