You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jackrabbit.apache.org by loproman <lo...@gmail.com> on 2007/09/17 10:26:06 UTC

Local content replication

Hello,

Please excuse my ignorance, but I'm having to make some big decisions with
very little time to fully understand the Jackrabbit product. I was hoping
someone could help me get pointed in the right direction so I might continue
investigating my options.

I'm planning on embedding Jackrabbit into a content management application
that runs on a desktop. One requirement is to back up content is in real
(enough) time. The underlying hardware will be configured such that there
are two physical drives. When data is written to a master drive, I need it
to write simultaneously to a slave drive.

RAID is too inefficient because it may involve overhead from other
applications running on the same device. 

However, I was wondering if observation as offered by Jackrabbit would be a
good option. Right now I'm assuming binary data is written directly to the
file system even when using "SimpleDbPersistenceManager". It's kind of a
radical assumption on my part, but avoiding blobs seems to be a normal
practice. Please correct me if I am wrong. If my assumption is correct, it
doesn't seem like db level replication would be an option since it would
miss the binary content. 

Your experience is very much appreciated.

Lindsay
-- 
View this message in context: http://www.nabble.com/Local-content-replication-tf4465166.html#a12731484
Sent from the Jackrabbit - Users mailing list archive at Nabble.com.


Does jackrabbit support global transactions using Tomcat?

Posted by Jim Jones <jo...@trivantisdev.com>.
If so, how do you configure it? and which 3rd party transaction mgr 
should you use?

I specifically want to rollback or commit a transaction that modifies1 
or more workspaces and 1 or more non-jackrabbit databases.

If not, is there a plan to in the future?

Re: Replicating Data Store

Posted by Thomas Mueller <th...@gmail.com>.
Hi,

> new Data Store. On a scale of 1-10, how difficult do you think it would be?

Not that difficult, maybe 5.

> I was thinking it would be a matter of launching a thread for each write
> operation performed.

I would do it like this:

while(true) {
  readBlock(4K);
  if(end) break;
  sendBlockOverNetworkAsynchronously();
  writeBlockToDisk(); // blocks
}
waitForNetwork(); // blocks

> There would have to be a database configured on the
> second drive,

Not when using the FileDataStore. There is currently no
DatabaseDataStore (but probably somebody will write one).

Thomas

Replicating Data Store

Posted by loproman <lo...@gmail.com>.
Hi Thomas,

Thanks for the reply, it definitely clears a few things up for me. I like
your suggestion of a new Data Store. On a scale of 1-10, how difficult do
you think it would be? 

I was thinking it would be a matter of launching a thread for each write
operation performed. There would have to be a database configured on the
second drive, but after the write completes the threads just join. This
would keep everything in sync as far as I can tell (with the exception of a
hardware error). This doesn't seem like a huge modification outside of
adding some configuration options and probably duplication of the schema to
the second drive on init.

Your thoughts?



Thomas Mueller-6 wrote:
> 
> Hi,
> 
>> Right now I'm assuming binary data is written directly to the
>> file system even when using "SimpleDbPersistenceManager".
> 
> You can configure this. See
> http://jackrabbit.apache.org/api-1/org/apache/jackrabbit/core/state/db/SimpleDbPersistenceManager.html
> 
> SimpleDbPersistenceManager
>  It is configured through the following properties:
>     * driver: the FQN name of the JDBC driver class
>     * url: the database url of the form jdbc:subprotocol:subname
>     * user: the database user
>     * password: the user's password
>     * schema: type of schema to be used (e.g. mysql, mssql, etc.);
>     * schemaObjectPrefix: prefix to be prepended to schema objects
>     * externalBLOBs: if true (the default) BINARY values (BLOBs) are
> stored in the local file system; if false BLOBs are stored in the
> database
> 
> The last option is what you are looking for.
> 
> Another idea would be to use the new DataStore, but first somebody
> would need to build a 'replicating data store'.
> 
> Thomas
> 
> 

-- 
View this message in context: http://www.nabble.com/Local-content-replication-tf4465166.html#a12743177
Sent from the Jackrabbit - Users mailing list archive at Nabble.com.


Re: Local content replication

Posted by Thomas Mueller <th...@gmail.com>.
Hi,

> Right now I'm assuming binary data is written directly to the
> file system even when using "SimpleDbPersistenceManager".

You can configure this. See
http://jackrabbit.apache.org/api-1/org/apache/jackrabbit/core/state/db/SimpleDbPersistenceManager.html

SimpleDbPersistenceManager
 It is configured through the following properties:
    * driver: the FQN name of the JDBC driver class
    * url: the database url of the form jdbc:subprotocol:subname
    * user: the database user
    * password: the user's password
    * schema: type of schema to be used (e.g. mysql, mssql, etc.);
    * schemaObjectPrefix: prefix to be prepended to schema objects
    * externalBLOBs: if true (the default) BINARY values (BLOBs) are
stored in the local file system; if false BLOBs are stored in the
database

The last option is what you are looking for.

Another idea would be to use the new DataStore, but first somebody
would need to build a 'replicating data store'.

Thomas