Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF » [CDO] Decomposing model into several repo & use same DB
[CDO] Decomposing model into several repo & use same DB [message #987308] Sun, 25 November 2012 21:45 Go to next message
Cristian Mising name is currently offline Cristian Mising nameFriend
Messages: 74
Registered: July 2009
Member
Hello,

I would like to decompose my model into several repositories, that contain references between them. The reason for doing this: I would like to have some of the repositories stored locally. And because CDO doesn't allow a partial checkout of the repository, a solution would be the use of multiple repositories, instead of a single, bigger one.

Question 1) is it possible that all my repositories use the same database? All the examples that I found about CDO: 1 repo = 1 DB.

Question 2) Should I expect severe performance penalties because of this approach? E.g. 1 resource/repo with 10000 objects vs 10 resources/repositories with 1000 objects each vs 100 resources/repositories with 100 objects each?

Thank you in advance,
Cristian
Re: [CDO] Decomposing model into several repo & use same DB [message #987338 is a reply to message #987308] Mon, 26 November 2012 08:37 Go to previous messageGo to next message
Christophe Bouhier is currently offline Christophe BouhierFriend
Messages: 937
Registered: July 2009
Senior Member
Hi,

What do you mean with "Doesn't allow a partial checkout"? What do you want to achieve exactly?

rgds Christophe
Re: [CDO] Decomposing model into several repo & use same DB [message #987359 is a reply to message #987338] Mon, 26 November 2012 09:46 Go to previous messageGo to next message
Cristian Mising name is currently offline Cristian Mising nameFriend
Messages: 74
Registered: July 2009
Member
Hello,

Let's say that I have 10 resources in my server repository (resource1, resource2, ... resource10). Each resource has 1000 objects.

I want to be able to have a local clone of the repository, that contains only a subset of the resources, not the entire repository e.g. resource3 and resource4. That's what I called "partial checkout"; perhaps not the best term Smile

I understand that this is not possible; i.e. the local repository has to be a complete mirror of the server repository. That's why I am thinking of having a separete repository for each resource.

Best regards,
Cristian.
Re: [CDO] Decomposing model into several repo & use same DB [message #987377 is a reply to message #987359] Mon, 26 November 2012 10:57 Go to previous messageGo to next message
Christophe Bouhier is currently offline Christophe BouhierFriend
Messages: 937
Registered: July 2009
Senior Member
ah ok, so you want a partial off-line repo. Sorry, I am not into this offline stuff...
Re: [CDO] Decomposing model into several repo & use same DB [message #987546 is a reply to message #987308] Tue, 27 November 2012 05:57 Go to previous message
Eike Stepper is currently offline Eike StepperFriend
Messages: 5590
Registered: July 2009
Senior Member
Am 25.11.2012 22:45, schrieb Cristian Mising name:
> Hello,
>
> I would like to decompose my model into several repositories, that contain references between them. The reason for
> doing this: I would like to have some of the repositories stored locally. And because CDO doesn't allow a partial
> checkout of the repository, a solution would be the use of multiple repositories, instead of a single, bigger one.
>
> Question 1) is it possible that all my repositories use the same database? All the examples that I found about CDO: 1
> repo = 1 DB.
I think it should be possible (easy to try out), but it may depend on the physical system used. You may need to declare
separate schemas or so.

> Question 2) Should I expect severe performance penalties because of this approach? E.g. 1 resource/repo with 10000
> objects vs 10 resources/repositories with 1000 objects each vs 100 resources/repositories with 100 objects each?
Each repository has its own set of infrastructure services (revision manager/cache, package registry, security realm,
and, and, and...). You'd need additional server resources for all of them. Similarly for the sessions on the clients.

Inter-repo cross references (and containment proxies) are stored as URLs that need more storage space/bandwidth and that
can only be resolved by clients with properly configured resource sets).

Multi-repo commits require a CDOXATransaction which is somewhat complexer and more time consuming.

Unfortunately I can hardly comment on the exact performance differences. They depend on various things like the store
being used, the DB system being used, etc. If you make a prototype and measure yourself, I'd appreciate if you would
write them to the wiki and let us know ;-)

Cheers
/Eike

----
http://www.esc-net.de
http://thegordian.blogspot.com
http://twitter.com/eikestepper
Previous Topic:[CDO Hibernate Store] Unable to instantiate default tuplizer
Next Topic:Schema location for cascaded ecore models "initialize by loading"
Goto Forum:
  


Current Time: Mon Dec 22 17:09:29 GMT 2014

Powered by FUDForum. Page generated in 0.02029 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software