Am 04.05.2010, 19:20 Uhr, schrieb Laurence Rowe <>:

> I suspect that databases such as CouchDB and the others you mention
> are not well suited to graph traversal. Efficient traversal must occur
> near the data, otherwise you pay the latency cost on each edge
> traversed. In ZODB this is achieved through the object cache - you
> expect most of the target object's parents to already be present in
> the cache when serving a request. In other systems traversal happens
> in the database - for an example see


"In essence, each traversal along a link in a graph is a join, and joins  
are known to be very expensive."

Whilst agreeing enthusiastically with Laurence's assertion that you need  
to be close to the data for efficient traversal, I'm baffled by the  
reference to Neo4j which contains such guff.

Regarding the original question: BFG is well-suited to using different  
persistence strategies depending on use-case and preference.  
"Semi-structured data" is, however, an oxymoron albeit a fashionable one.

Charlie Clark
Managing Director
Clark Consulting & Research
German Office
Helmholtzstr. 20
D- 40215
Tel: +49-211-600-3657
Mobile: +49-178-782-6226
Repoze-dev mailing list

Reply via email to