You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@jackrabbit.apache.org by Mark Slater <li...@humanesoftware.com> on 2006/02/21 21:24:47 UTC

Single vs. Multiple Workspaces

Is there a performance benefit or hit to splitting a repository into  
multiple workspaces?

The design I'm considering will create one workspace for each user's  
"owned" data, and several "shared" data workspaces more directly  
managed by the system. On the other hand, it would be a little easier  
for me to code a single workspace design so if there's no difference,  
that's probably better for me right now. But if Jackrabbit's  
performance is better when data is split over multiple workspaces,  
I'd spend the extra time on it. A lot of my app's data, including  
collections of larger data files (1-10 MB each) are going to be  
stored in the Jackrabbit repository so I'm a little concerned about  
performance there.

Mark

Re: Single vs. Multiple Workspaces

Posted by Marcel Reutegger <ma...@gmx.net>.
There is not the one correct answer to your question. It very much 
depends how your application uses jackrabbit.

Here are some general considerations that might help you to decide which 
way you want to go:

Pros for a single workspace:
- it is certainly easier to use by your application, you don't have to 
login to multiple workspaces and fiddle with multiple sessions.

- less resource intensive. using one workspace will connect to a single 
backend store (e.g. database). It will only create two indexes (one for 
the workspace and one for the jcr:system tree) -> less open file handles.

Pros for using multiple workspaces:
- better concurrency when you have a lot of write operations that can be 
distributed to multiple workspaces.

- increased cache efficiency. each workspace has its own cache that is 
separated from others.

- allows you to use specific persistence manager implementations per 
workspace that are tailored to the usage of that workspace.


regards
  marcel

Mark Slater wrote:
> Is there a performance benefit or hit to splitting a repository into 
> multiple workspaces?
> 
> The design I'm considering will create one workspace for each user's 
> "owned" data, and several "shared" data workspaces more directly managed 
> by the system. On the other hand, it would be a little easier for me to 
> code a single workspace design so if there's no difference, that's 
> probably better for me right now. But if Jackrabbit's performance is 
> better when data is split over multiple workspaces, I'd spend the extra 
> time on it. A lot of my app's data, including collections of larger data 
> files (1-10 MB each) are going to be stored in the Jackrabbit repository 
> so I'm a little concerned about performance there.
> 
> Mark
>