The Graph Traversal Programming Pattern at slide 41 (42 of 76) has an uncanny resemblance to a topic map. You be the judge.
The NoSQL/graph database movement have serious implications for topic maps. Good serious implications for topic maps.
The performance numbers and capabilities are going to get the attention of mainstream consumers and developers.
Now would be a good time to add subject identity as a bit of icing as it were to the NoSQL cake.
Closer to home as it were, graph databases look like a better fit for topic maps processing (say than MySQL).
NoSQL are usually taxonomies and not ACID. If that is not required non-functional features then I would agree.
NoSQL DB’s also don’t have query languages, TMQL or SPARQL would be a great plus for the NoSQL databases.
Comment by Inge Henriksen — June 27, 2010 @ 10:28 am
@Inge: Unfortunately ‘nosql’ (Not Only SQL) is not defined enough or narrow enough for it to make sense to talk about ‘nosql databases’ as lacking ACID, not support query languages, etc.
For example, the Neo4j graph database (http://neo4j.org) supports both ACID and SPARQL.
-EE
Comment by Emil Eifrem — June 27, 2010 @ 11:03 am
Sorry, aren’t you mixing terms to say “taxonomies” and “not ACID?”
ACID or not is a question of transaction processing and not architecture. Yes?
The NoSQL Database site reports (I have not verified this) that Neo4J can pass the ACID test.
Passing the ACID test isn’t a goal for most NoSQL programs. Oh, sorry, for our readers: ACID, atomicity, consistency, isolation, durability test for transaction handling.
Jim Gray (MS) defined the properties needed for reliable transactions. Anyone curious about designing reliable systems should see: Transaction processing : concepts and techniques.
BTW, Neo4J supports SparQL as a query language. But there is no common query language for all NoSQL databases.
Comment by Patrick Durusau — June 27, 2010 @ 2:35 pm
I’m no NoSql expert, but I had an understanding that *distributed* NoSql databases does not support ACID, but rather something they call BASE.
The reason I mentioned that they store the data as taxonomies is that this kind of data model differs very much from the topic maps data model, TMDM. But it may not be a requirement that this data model abstraction takes place.
Comment by Inge Henriksen — June 27, 2010 @ 5:21 pm
I’m not an NoSQL expert either but a presentation from one Derek Stainer, Neo4j the benefits of graph databases + a NoSQL overview says that Neo4j is unique among NoSQL databases in being transactional.
See slide 40 in the slide deck.
Comment by Patrick Durusau — June 27, 2010 @ 6:38 pm
If you’re after reliable transactional support with ACID properties check out InfiniteGraph (http://www.infinitegraph.com) – another new contender in the NoSQL/graph DB space. It’s built using Objectivity/DB distributed object architecture.
As a side note, it will be interesting to see what many the NoSQL DBs do regarding supporting a flexible consistency model vis-a-vis Cassandra as that tends to drive usage models for many implementations.
Comment by Mark Maagdenberg — June 28, 2010 @ 5:52 pm