[Cosmo-dev] hibernate prototype
rletness at simdeskcorp.com
rletness at simdeskcorp.com
Tue Aug 15 12:17:52 PDT 2006
Brian Moseley wrote:
>
> did you notice that we're only expanding recurring events out to 2008?
> :) before that we were going to i think 2050, and that was causing
> PUTs of these events to take several seconds.
>
> something to consider for later, assuming we adopt the prototype, is
> how to handle infinitely recurring events (or even ones that recur
> past 2008). clearly it's tempting to index everything at write time,
> but at least with jcr, that had severe performance implications. we
> considered strategies like expanding two years at write time and then
> doing some sort of "just in time" expansion when servicing queries for
> time ranges that are outside that two year segment. love to hear any
> ideas you have.
>
Yeah I saw that. One way to solve this is to just not allow recurring
events
that go past a certain number of recurrences. What percentage of events
are infinitely recurring?? It has to be very small. The other idea I
had was
instead of indexing time ranges, just compute a start and end date (could be
infinity) based on the recurrence rules. This range would be computed and
indexed at creation time. This means a database query gets a superset of
the events you are interested in. Recurring events returned as part of a
time-range query would be passed through some business logic to filter out
events that don't have a recurrence in the timerange. This works for
simple
time ranges, but when you have nested timeranges, like you can in a caldav
calendar filter, it gets complicated.
Because infinitely recurring events are such a small percentage of events
it would suck to have to implement such complicated logic just for that.
> have you seen commons-id? we're using it to generate uuids for scooby.
> maybe you can replace jug with it? i've never heard of jug, do you
> have a link?
I'll check it out...and probably just swich to using commons-id to make
it easy.
Here is a link to jug: http://jug.safehaus.org/
-Randy
More information about the cosmo-dev
mailing list