Am 04.05.2010, 19:20 Uhr, schrieb Laurence Rowe <l...@lrowe.co.uk>:
> 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.
Clark Consulting & Research
Repoze-dev mailing list