On Fri, Oct 16, 2009 at 2:25 PM, Rickard Öberg <[email protected]> wrote:
> On 2009-10-16 12.25, Niclas Hedhman wrote:
>>
>> Isn't this the equivalent of "Loading Policy" in JDO/JPA ??
>
> Pretty much, yes I think so. Except aren't those on structural rather than
> usecase level? I.e. regardless of usecase "if you load property1 always load
> property2,property3 at the same time".

IIRC, they are (or can be) established "per session".

> I think there are two issues: one is the expense per lookup, and one is that
> with more key->value mappings the database is going to be bigger, so will
> consume more disk space. The indices will also be bigger and thus slower.

Agree. Once this whole topic is picked into pieces there are probably
a lot other factors surfacing.

> What would be interesting is to have the store work on two levels: one is
> the identity lookup, and then the next level would be property(/association)
> lookup. If one index can have only identity lookup and another has the
> per-property lookup, it should be much faster.

Not totally sure what you mean here. Two-level index?


> The remaining question is whether having only a id->blob mapping like today
> is fine, or whether introducing extra fragmentation would be useful.

I think we need to measure before having any conclusive opinion on
what makes sense or not. But such performance testing is tedious and
perhaps the "Delayed Property creation" is a reasonable first step,
before we have effort available to do more elaborate things.

>> I think it is a complex area, with room for significant speed
>> improvements in large entities, but I also think that the answers will
>> surprise us once we start measuring.
>
> Any hints on what the surprise might be?

Well, for local stores there is the O/S that will pre-load buffers and
stuff like that, so for benchmarking it may show that big blobs
doesn't make a difference, because the O/S will manage to keep 500MB
of data in OS-level caches. Such thing would not happen in network
based ones, but there we have latency vs bandwidth to consider as
well. But, it could be anything...


Cheers
-- 
Niclas Hedhman, Software Developer
http://www.qi4j.org - New Energy for Java

I  live here; http://tinyurl.com/2qq9er
I  work here; http://tinyurl.com/2ymelc
I relax here; http://tinyurl.com/2cgsug

_______________________________________________
qi4j-dev mailing list
[email protected]
http://lists.ops4j.org/mailman/listinfo/qi4j-dev

Reply via email to