On 6/5/2013 22:13, Andy Seaborne wrote:
On 29/05/13 03:27, Holger Knublauch wrote:
At TopQuadrant we do use and recommend SDB for enterprise solutions,
mainly due to the fact that customers can rely on their existing SQL
infrastructure. Performance is not a direct issue for us because we
apply a caching layer on top of it (currently a home-grown in-memory
cache, but in the future possibly TDB). We do have a growing
installation base of successful deployments (TopBraid EVN) and customers
seem to be happy. Having to rely on commercial alternatives would affect
the overall price tag of our solutions, and having an open source
solution that seamlessly works with Jena is a great asset.

What is cached?

We put a GraphMem over each SDB, and this GraphMem remembers (i.e. copies) all triples that have already been queried. So if someone queried (ex:A ?p ?o) then we download all those triples. Then, more specific queries against (ex:A rdfs:label ?o) can already be answered by the cache alone. Writes are passed through into the SDB. In TopBraid EVN, where models are typically at most tens of millions of triple large, we just cache all at the start of the server, and use SDB as the master backup only. This works well for our use cases, and feels safer than TDB (where it used to be easy to corrupt data, at least in the older versions; we haven't upgraded for a while yet it's easier to convince IT departments of relying on their SQL infrastructure than some file drives).

Holger

Reply via email to