On 14/06/12 04:43, Tao (陶信东) wrote:
I got the following reply from Vivo group which said not. But I thought
TDB DOES allow concurrent access (at least concurrent read).

So what on earth is the fact? And if TDB does not allow for concurrent
access, does SDB? (Vivo used SDB)

TDB allows concurrent access.

Do be careful what you mean by that: TDB 0.9.0 allows multi readers and a single writer to execute truly concurrently, i.e. all making progress.

TDB 0.8.X required locking (MRSW) but concurrent access by requests was possible (e.g. Fuseki locked internally to give multi-request access concurrently).

Certain large corporation are claiming otherwise - they are out of date (to put a polite interpretation on their claims). Or they can't cope with open source systems actually getting better. Release early, release often.

RDB is not supported anymore and has been removed from Jena after a long deprecation cycle.

        Andy


*From:*Haines, Chris [mailto:[email protected]]
*Sent:* Thursday, June 14, 2012 10:48 AM
*To:* VIVO Development List
*Subject:* Re: [Vivo-dev-all] why not TDB?

Because TDB does not allow for concurrent access and is therefore not a
viable storage backend for Vitro.

--
Haines, Chris

Pardon typos: sent from my mobile.

----- Reply message -----
From: "Tao (陶信东)" <[email protected]
<mailto:[email protected]>>
To: "[email protected]
<mailto:[email protected]>"
<[email protected]
<mailto:[email protected]>>
Subject: [Vivo-dev-all] why not TDB?
Date: Wed, Jun 13, 2012 22:35

Hi all,

I’m studying the source code of Vitro and saw the following lines in
JenaDataSourceSetupBase.java.

*switch*(storeType) {

*case*/RDB/:

g = *new*RegeneratingGraph(

*new*RDBGraphGenerator(

ds, dbType, jenaDbModelName));

*break*;

*case*/SDB/:

String layoutStr = ConfigurationProperties./getBean/(ctx)

.getProperty(

"VitroConnection.DataSource.sdb.layout",

"layout2/hash");

String dbtypeStr = ConfigurationProperties./getBean/(ctx)

.getProperty("VitroConnection.DataSource.dbtype",

"MySQL");

StoreDesc desc = *new*StoreDesc(

LayoutType./fetch/(layoutStr),

DatabaseType./fetch/(dbtypeStr) );

g = *new*RegeneratingGraph(

*new*SDBGraphGenerator(

ds, desc, jenaDbModelName));

*break*;

*default*: *throw**new*RuntimeException (

"Unsupported store type "+ storeType);

}

It seems only RDB and SDB are supported. Why don’t we use TDB? I think
it is much more efficient than SDB, in both loading and querying data.

Thanks

Tao


Reply via email to