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
>>
>