Home » Modeling » EMF "Technology" (Ecore Tools, EMFatic, etc) » Handling of very large model instances using Teneo
|
Re: Handling of very large model instances using Teneo [message #87952 is a reply to message #87909] |
Tue, 03 July 2007 07:54 |
Martin Taal 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 |
Robert Enyedi 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 |
Martin Taal 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 |
Robert Enyedi 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
>
>
|
|
|
Goto Forum:
Current Time: Sat Apr 20 03:26:20 GMT 2024
Powered by FUDForum. Page generated in 0.03311 seconds
|