Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Modeling » EMF "Technology" (Ecore Tools, EMFatic, etc)  » Handling of very large model instances using Teneo
Handling of very large model instances using Teneo [message #87909] Tue, 03 July 2007 06:49 Go to next message
Robert Enyedi is currently offline Robert EnyediFriend
Messages: 68
Registered: July 2009
Member
Hi,

This is a question that I already asked in the EMF newsgroup, but I
would like to know what the advantages of Teneo are for this scenario
compared to XMI serialization.

I'm investigating EMF's ability to deal with very large model instances
which as a whole might not fit in the memory.

My usage scenario is similar to this one: Container (1) -> (*) Component
(one container holding many components). I have only one container. A
small number of components do fit in the memory, however the container
with all its components might not. A crucial thing is that the
components can have cross references among themselves.

It has been confirmed that for XMI serialization I can make use of the
org.eclipse.emf.ecore.resource.Resource class and save the components in
separate XMI files. The container can also be saved to a separate XMI
file by using non-containment references to its components.

Can I do the same model instance split with Teneo? Further more, is EMFT
Teneo of any help in managing the in-memory objects or should I make use
of a caching library instead?

Regards,
Robert
Re: Handling of very large model instances using Teneo [message #87952 is a reply to message #87909] Tue, 03 July 2007 07:54 Go to previous messageGo to next message
Martin Taal is currently offline Martin TaalFriend
Messages: 5468
Registered: July 2009
Senior Member
Hi Robert,
No not at the moment. When persisting to a db (using Teneo) this can not be done by a model split
over resources.
However, for both Hibernate and Jpox it is possible to have 'extra-lazy' collections. These
collections are not read in memory completely but actions on the collections are done directly in
the db.

Currently Teneo does not yet support these 'extra-lazy' collections. It has been on my to-do list
for a while. If there is someone else also interested in this then it moves up the priority list.
If you are interested you can add your name to this (short) bugzilla:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=151566

Regarding cross-references: when a child (component) is read in memory then references from it to
other children (components) are handled through proxy objects (if the 'other' child is not yet
loaded). This should work out-of-the box.

Both Hibernate and Jpox have an in-memory cache that take care that the object references are
correct (object is only present once in one session), also there are so-called second level caches
which work together with jpox and hibernate.

gr. Martin

Robert Enyedi wrote:
> Hi,
>
> This is a question that I already asked in the EMF newsgroup, but I
> would like to know what the advantages of Teneo are for this scenario
> compared to XMI serialization.
>
> I'm investigating EMF's ability to deal with very large model instances
> which as a whole might not fit in the memory.
>
> My usage scenario is similar to this one: Container (1) -> (*) Component
> (one container holding many components). I have only one container. A
> small number of components do fit in the memory, however the container
> with all its components might not. A crucial thing is that the
> components can have cross references among themselves.
>
> It has been confirmed that for XMI serialization I can make use of the
> org.eclipse.emf.ecore.resource.Resource class and save the components in
> separate XMI files. The container can also be saved to a separate XMI
> file by using non-containment references to its components.
>
> Can I do the same model instance split with Teneo? Further more, is EMFT
> Teneo of any help in managing the in-memory objects or should I make use
> of a caching library instead?
>
> Regards,
> Robert


--

With Regards, Martin Taal

Springsite/Elver.org
Office: Hardwareweg 4, 3821 BV Amersfoort
Postal: Nassaulaan 7, 3941 EC Doorn
The Netherlands
Tel: +31 (0)84 420 2397
Fax: +31 (0)84 225 9307
Mail: mtaal@springsite.com - mtaal@elver.org
Web: www.springsite.com - www.elver.org
Re: Handling of very large model instances using Teneo [message #87967 is a reply to message #87952] Tue, 03 July 2007 09:11 Go to previous message
Robert Enyedi is currently offline Robert EnyediFriend
Messages: 68
Registered: July 2009
Member
Martin,

Thanks for the fast response. The Hibernate second level cache is
precisely what I need so I will evaluate switching to the Teneo
serialization.

I put my email to the CC list of the extra-lazy collections' bug page.

Regards,
Robert

Martin Taal wrote:
> Hi Robert,
> No not at the moment. When persisting to a db (using Teneo) this can not
> be done by a model split over resources.
> However, for both Hibernate and Jpox it is possible to have 'extra-lazy'
> collections. These collections are not read in memory completely but
> actions on the collections are done directly in the db.
>
> Currently Teneo does not yet support these 'extra-lazy' collections. It
> has been on my to-do list for a while. If there is someone else also
> interested in this then it moves up the priority list.
> If you are interested you can add your name to this (short) bugzilla:
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=151566
>
> Regarding cross-references: when a child (component) is read in memory
> then references from it to other children (components) are handled
> through proxy objects (if the 'other' child is not yet loaded). This
> should work out-of-the box.
>
> Both Hibernate and Jpox have an in-memory cache that take care that the
> object references are correct (object is only present once in one
> session), also there are so-called second level caches which work
> together with jpox and hibernate.
>
> gr. Martin
>
> Robert Enyedi wrote:
>> Hi,
>>
>> This is a question that I already asked in the EMF newsgroup, but I
>> would like to know what the advantages of Teneo are for this scenario
>> compared to XMI serialization.
>>
>> I'm investigating EMF's ability to deal with very large model
>> instances which as a whole might not fit in the memory.
>>
>> My usage scenario is similar to this one: Container (1) -> (*)
>> Component (one container holding many components). I have only one
>> container. A small number of components do fit in the memory, however
>> the container with all its components might not. A crucial thing is
>> that the components can have cross references among themselves.
>>
>> It has been confirmed that for XMI serialization I can make use of the
>> org.eclipse.emf.ecore.resource.Resource class and save the components
>> in separate XMI files. The container can also be saved to a separate
>> XMI file by using non-containment references to its components.
>>
>> Can I do the same model instance split with Teneo? Further more, is
>> EMFT Teneo of any help in managing the in-memory objects or should I
>> make use of a caching library instead?
>>
>> Regards,
>> Robert
>
>
Re: Handling of very large model instances using Teneo [message #608628 is a reply to message #87909] Tue, 03 July 2007 07:54 Go to previous message
Martin Taal is currently offline Martin TaalFriend
Messages: 5468
Registered: July 2009
Senior Member
Hi Robert,
No not at the moment. When persisting to a db (using Teneo) this can not be done by a model split
over resources.
However, for both Hibernate and Jpox it is possible to have 'extra-lazy' collections. These
collections are not read in memory completely but actions on the collections are done directly in
the db.

Currently Teneo does not yet support these 'extra-lazy' collections. It has been on my to-do list
for a while. If there is someone else also interested in this then it moves up the priority list.
If you are interested you can add your name to this (short) bugzilla:
https://bugs.eclipse.org/bugs/show_bug.cgi?id=151566

Regarding cross-references: when a child (component) is read in memory then references from it to
other children (components) are handled through proxy objects (if the 'other' child is not yet
loaded). This should work out-of-the box.

Both Hibernate and Jpox have an in-memory cache that take care that the object references are
correct (object is only present once in one session), also there are so-called second level caches
which work together with jpox and hibernate.

gr. Martin

Robert Enyedi wrote:
> Hi,
>
> This is a question that I already asked in the EMF newsgroup, but I
> would like to know what the advantages of Teneo are for this scenario
> compared to XMI serialization.
>
> I'm investigating EMF's ability to deal with very large model instances
> which as a whole might not fit in the memory.
>
> My usage scenario is similar to this one: Container (1) -> (*) Component
> (one container holding many components). I have only one container. A
> small number of components do fit in the memory, however the container
> with all its components might not. A crucial thing is that the
> components can have cross references among themselves.
>
> It has been confirmed that for XMI serialization I can make use of the
> org.eclipse.emf.ecore.resource.Resource class and save the components in
> separate XMI files. The container can also be saved to a separate XMI
> file by using non-containment references to its components.
>
> Can I do the same model instance split with Teneo? Further more, is EMFT
> Teneo of any help in managing the in-memory objects or should I make use
> of a caching library instead?
>
> Regards,
> Robert


--

With Regards, Martin Taal

Springsite/Elver.org
Office: Hardwareweg 4, 3821 BV Amersfoort
Postal: Nassaulaan 7, 3941 EC Doorn
The Netherlands
Tel: +31 (0)84 420 2397
Fax: +31 (0)84 225 9307
Mail: mtaal@springsite.com - mtaal@elver.org
Web: www.springsite.com - www.elver.org
Re: Handling of very large model instances using Teneo [message #608629 is a reply to message #87952] Tue, 03 July 2007 09:11 Go to previous message
Robert Enyedi is currently offline Robert EnyediFriend
Messages: 68
Registered: July 2009
Member
Martin,

Thanks for the fast response. The Hibernate second level cache is
precisely what I need so I will evaluate switching to the Teneo
serialization.

I put my email to the CC list of the extra-lazy collections' bug page.

Regards,
Robert

Martin Taal wrote:
> Hi Robert,
> No not at the moment. When persisting to a db (using Teneo) this can not
> be done by a model split over resources.
> However, for both Hibernate and Jpox it is possible to have 'extra-lazy'
> collections. These collections are not read in memory completely but
> actions on the collections are done directly in the db.
>
> Currently Teneo does not yet support these 'extra-lazy' collections. It
> has been on my to-do list for a while. If there is someone else also
> interested in this then it moves up the priority list.
> If you are interested you can add your name to this (short) bugzilla:
> https://bugs.eclipse.org/bugs/show_bug.cgi?id=151566
>
> Regarding cross-references: when a child (component) is read in memory
> then references from it to other children (components) are handled
> through proxy objects (if the 'other' child is not yet loaded). This
> should work out-of-the box.
>
> Both Hibernate and Jpox have an in-memory cache that take care that the
> object references are correct (object is only present once in one
> session), also there are so-called second level caches which work
> together with jpox and hibernate.
>
> gr. Martin
>
> Robert Enyedi wrote:
>> Hi,
>>
>> This is a question that I already asked in the EMF newsgroup, but I
>> would like to know what the advantages of Teneo are for this scenario
>> compared to XMI serialization.
>>
>> I'm investigating EMF's ability to deal with very large model
>> instances which as a whole might not fit in the memory.
>>
>> My usage scenario is similar to this one: Container (1) -> (*)
>> Component (one container holding many components). I have only one
>> container. A small number of components do fit in the memory, however
>> the container with all its components might not. A crucial thing is
>> that the components can have cross references among themselves.
>>
>> It has been confirmed that for XMI serialization I can make use of the
>> org.eclipse.emf.ecore.resource.Resource class and save the components
>> in separate XMI files. The container can also be saved to a separate
>> XMI file by using non-containment references to its components.
>>
>> Can I do the same model instance split with Teneo? Further more, is
>> EMFT Teneo of any help in managing the in-memory objects or should I
>> make use of a caching library instead?
>>
>> Regards,
>> Robert
>
>
Previous Topic:[Teneo] howto refresh objects
Next Topic:[Teneo] doUnload() in the StoreResource
Goto Forum:
  


Current Time: Sat Apr 20 03:26:20 GMT 2024

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

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

Back to the top