This is just some rant, you may ignore this. We have put too many
effect in db4o already -- I don't think we should change it now.
However, in case if you (anybody reading this list) are planning to
db4o for a new project, please consider something else.
IMO, relational (sql) database work better then it.

1. Activation / Deactivation Hell
    -- if you use "complex" object like the freenet db4o project does,
       you have to activate / deactivate object manually

    -- if you use it in the relational-like way (just like what xmlspider do)
       miss "join" select.

2. no "GC" of object
    When you delete object, you have to delete (and reference count)
    its children.

3. no aggregated query
    COUNT(*) --> query all object
    MIN/MAX() --> query all object, sort them (cause all object activated)

4. No "unique" constrain or trigger
    Duplicated object have to check manually

5. No Index for arrays, comparable, etc..
    index only for the string and primitivies.

6. no ObjectManager for 7.x

7. unusbale subversion repository
   the subversion repository have many access limit,
   unreadable logs, etc... it's unusable.

8. development version moving too fast
    moving too fast, no stability at all.

9. LAZY / SNAPSHOT mode are broken.
    see below

On Wed, Dec 17, 2008 at 2:14 PM, Daniel Cheng <j16sdiz+freenet at gmail.com> 
wrote:
> On Wed, Dec 17, 2008 at 2:10 PM,  <j16sdiz at freenetproject.org> wrote:
>> Author: j16sdiz
>> Date: 2008-12-17 06:10:29 +0000 (Wed, 17 Dec 2008)
>> New Revision: 24414
>>
>> Modified:
>>   trunk/plugins/XMLSpider/XMLSpider.java
>> Log:
>> aruuugh! i am going crazy
>>
>> Modified: trunk/plugins/XMLSpider/XMLSpider.java
>> ===================================================================
>> --- trunk/plugins/XMLSpider/XMLSpider.java      2008-12-17 06:05:30 UTC (rev 
>> 24413)
>> +++ trunk/plugins/XMLSpider/XMLSpider.java      2008-12-17 06:10:29 UTC (rev 
>> 24414)
>> @@ -1052,6 +1052,7 @@
>>                query.descend("status").constrain(status);
>>                query.descend("lastChange").orderDescending();
>
> in snapshot mode:
>  set.size() works only if I sort with lastChange .
>  afaik this cause all object activated.
>
> in lazy mode:
>   set.size() always work.. but it return much small value then the
> current count.
>
>>
>> +               ObjectSet<Page> set = query.execute();
>>                return set.size();
>>        }
>>
>>
>> _______________________________________________
>> cvs mailing list
>> cvs at freenetproject.org
>> http://emu.freenetproject.org/cgi-bin/mailman/listinfo/cvs
>>
>

Reply via email to