Triple and Graph Stores

By Adam Fowler

Triple stores seem to break with the conventions associated with NoSQL. For one thing, they’re all ACID-compliant. Unlike most current NoSQL databases, many triple stores are proprietary only. Also, open standards exist for semantic applications in a way that isn’t the case for key-value stores, Bigtable/wide column stores, and document NoSQL databases.

Totally addicted to BASE

Many early NoSQL advocates expounded the virtues of the eventual consistency associated with BASE systems (basically available, soft state, eventually consistent).

Instead of supporting sharding (that is, distributing a database among nodes), graph stores normally place every piece of information on each replica, which provides high-speed, complex query support. This approach ensures that data on the nodes is durable and thus can’t be lost, which is more important than other sharded and replicated NoSQL databases.

In a triple store, an atomic unit is also a triple — a very small piece of information, which means that every update crosses the atomic unit boundary. In other words, most operations update or query multiple records (triples) at the same time. This means that transactions must be supported. Moreover, performing lots of updates in parallel requires support of transactional consistency.

As a result, you very quickly need ACID compliance in a triple store or a semantic application. (Note that most enterprise use cases are ACID use cases.) This should make these databases attractive to enterprise customers.

Open standards versus open source

Government clients traditionally have used open-source software in order to reduce costs. More recently, though, they’ve come to realize that using open-source software often locks them into using specific vendors.

If you adopt an open-source product that doesn’t support open standards, then integrating it, building new applications on it, and migrating to or away from it incurs a lot of cost.

As a result, many in government are pushing the idea of using open standards along with, when possible, open source software. Open standards decrease the cost of adopting new software; they also make it easy to find skilled individuals.

The good news is that, in the triple and graph store areas, the two available commercial products, SPARQL and RDF, implement the W3C’s open standards for semantic querying and data, respectively.