You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@jackrabbit.apache.org by Shaun Barriball <sb...@yahoo.co.uk> on 2007/01/03 11:05:26 UTC

Is anyone using MySql for persistence

Hi all,
Can anyone provide experiences of using JackRabbit with MySql? I'm
particularly interested in reliability, performance and any experiences in
replicating JackRabbit instances?
 
This question follows on from my original email below.
Regards,
Shaun.

  _____  

From: Shaun Barriball [mailto:sbarriba@yahoo.co.uk] 
Sent: 08 December 2006 09:46
To: 'users@jackrabbit.apache.org'
Subject: Deployment use-case : 1 read/write instance / multiple read-only
instances


Hi,
We have an application that has 2 types of JackRabbit client:
 1) an editor JCR client requiring read/write access, and
 2) multiple viewer JCR clients which only require read access to
JackRabbit. The viewer is responsible for displaying the data being managed
by the editor.
 
Is it critical that the viewers are as fast as possible.
 
The simple approach is to use RMI from both 1) and 2) to remotely access a
single JackRabbit instance. Testing has shown that has major performance
implications over say using a local file repository. 
 
I'd appreciates suggestions on deployment models that would effectively
address the above use cases? 
For example:
 * can MySql replication be used as a transport for sync'ing read-only
repositories? I'm guessing not as JackRabbit probably won't like the
underlying storage being updated directly.
 * does the ongoing clustering work
(http://issues.apache.org/jira/browse/JCR-623) offer a viable solution?
 
All help appreciated.
Regards,
Shaun.
 
 

RE: Is anyone using MySql for persistence

Posted by Shaun Barriball <sb...@yahoo.co.uk>.
Hi Dominique,
"Isn't this what you are looking for?" 
Yes exactly. I'll try it out over the coming days and provide feedback.
Regards,
Shaun.

-----Original Message-----
From: dominique.pfister@gmail.com [mailto:dominique.pfister@gmail.com] On
Behalf Of Dominique Pfister
Sent: 03 January 2007 15:39
To: users@jackrabbit.apache.org
Subject: Re: Is anyone using MySql for persistence

On 1/3/07, Shaun Barriball <sb...@yahoo.co.uk> wrote:
> Hi Dominique et al,
> Thanks for the response.
> My high level goal is to deploy a JackRabbit-based solution without a 
> single point of failure. A secondary goal is to be able to scale a 
> system horizontally with more instances. Both common requirements. I 
> was hoping that we could leverage the mature and bullet-proof 
> replication solutions provided by MySql or Oracle.

Please correct me, if I misunderstood your statement. The JCR-623 solution
has NO single point of failure: there is no central server delivering events
to all interested parties, but every instance actively polls for changes
made my some other instance. Setting up a new instance in the cluster is a
matter of copying an existing instance's configuration and starting it up:
it will automatically sync to the latest revision. And, of course,
replicated MySql or Oracle databases can be used on the persistence layer.
Isn't this what you are looking for?

Kind regards
Dominique


		
___________________________________________________________ 
Inbox full of spam? Get leading spam protection and 1GB storage with All New Yahoo! Mail. http://uk.docs.yahoo.com/nowyoucan.html

Re: Is anyone using MySql for persistence

Posted by Dominique Pfister <do...@day.com>.
On 1/3/07, Shaun Barriball <sb...@yahoo.co.uk> wrote:
> Hi Dominique et al,
> Thanks for the response.
> My high level goal is to deploy a JackRabbit-based solution without a single
> point of failure. A secondary goal is to be able to scale a system
> horizontally with more instances. Both common requirements. I was hoping
> that we could leverage the mature and bullet-proof replication solutions
> provided by MySql or Oracle.

Please correct me, if I misunderstood your statement. The JCR-623
solution has NO single point of failure: there is no central server
delivering events to all interested parties, but every instance
actively polls for changes made my some other instance. Setting up a
new instance in the cluster is a matter of copying an existing
instance's configuration and starting it up: it will automatically
sync to the latest revision. And, of course, replicated MySql or
Oracle databases can be used on the persistence layer. Isn't this what
you are looking for?

Kind regards
Dominique

RE: Is anyone using MySql for persistence

Posted by Shaun Barriball <sb...@yahoo.co.uk>.
Hi Dominique et al,
Thanks for the response.
My high level goal is to deploy a JackRabbit-based solution without a single
point of failure. A secondary goal is to be able to scale a system
horizontally with more instances. Both common requirements. I was hoping
that we could leverage the mature and bullet-proof replication solutions
provided by MySql or Oracle.

You've clearly been working hard on the JCR-623 solution. I'll review the
solution in more detail.

Has anyone else got any relevent experiences in this area?

Regards,
Shaun.
 

-----Original Message-----
From: dominique.pfister@gmail.com [mailto:dominique.pfister@gmail.com] On
Behalf Of Dominique Pfister
Sent: 03 January 2007 10:46
To: users@jackrabbit.apache.org
Subject: Re: Is anyone using MySql for persistence

Hi Shaun,

Sorry for having missed your initial post that deals with
replication/clustering Jackrabbit.

>  * can MySql replication be used as a transport for sync'ing read-only 
> repositories? I'm guessing not as JackRabbit probably won't like the 
> underlying storage being updated directly.

That's right. JackRabbit's internal caches won't be notified about changes
to persistent data and clients will therefore not see changes made by
another instance.

>  * does the ongoing clustering work
> (http://issues.apache.org/jira/browse/JCR-623) offer a viable solution?

Well, I'm probably biased on this question ;) The approach taken in
JCR-623 assumes that all JackRabbit instances in the cluster persist to the
same database. This in turn allows the log records, containing the actual
items that changed, to be very small. Currently, this log record journaling
including proper synchronization between instances has only a file-based
implementation, i.e. you'll need a shared directory that all your instances
can access, but an implementation using a database as backend should be
available soon.

You might take a look at the following post to get more information on how
to configure JackRabbit clustering:

http://permalink.gmane.org/gmane.comp.apache.jackrabbit.devel/9381

Kind regards
Dominique


		
___________________________________________________________ 
Try the all-new Yahoo! Mail. "The New Version is radically easier to use" � The Wall Street Journal 
http://uk.docs.yahoo.com/nowyoucan.html

Re: Is anyone using MySql for persistence

Posted by Dominique Pfister <do...@day.com>.
Hi Shaun,

Sorry for having missed your initial post that deals with
replication/clustering Jackrabbit.

>  * can MySql replication be used as a transport for sync'ing read-only
> repositories? I'm guessing not as JackRabbit probably won't like the
> underlying storage being updated directly.

That's right. JackRabbit's internal caches won't be notified about
changes to persistent data and clients will therefore not see changes
made by another instance.

>  * does the ongoing clustering work
> (http://issues.apache.org/jira/browse/JCR-623) offer a viable solution?

Well, I'm probably biased on this question ;) The approach taken in
JCR-623 assumes that all JackRabbit instances in the cluster persist
to the same database. This in turn allows the log records, containing
the actual items that changed, to be very small. Currently, this log
record journaling including proper synchronization between instances
has only a file-based implementation, i.e. you'll need a shared
directory that all your instances can access, but an implementation
using a database as backend should be available soon.

You might take a look at the following post to get more information on
how to configure JackRabbit clustering:

http://permalink.gmane.org/gmane.comp.apache.jackrabbit.devel/9381

Kind regards
Dominique