Re: Large lists

Per Nyfelt <[email protected]> Mon, 28 Nov 2005 07:44:33 +0000
Newsgroups gmane.comp.java.ozone.user
Organization New Field Consulting
Message-ID <[email protected]>
Hi George,

On Monday 28 November 2005 05.58, George Karousis wrote:
> Hi to all,
> I'm a new ozone user and I'm trying to understand and solve the problems
> with
> large lists (Balance between RAM cost and time performance).
> I read in faqs that one solution to this problem -in case of  using
> standard java
> collections- is to replace the collection with a linked list whose nodes
> are ozone objects.
>
> Question1 : In case of such a linked list, how many ozone objects can I
> have without
> affecting time performance?

Actually what you put in the list are proxies to ozone objects no the object 
themselves. In a normal collection the whole content is loaded into memory 
upon access which means that your list of proxies will be deserialized from 
disk. I cant say how many you can fit and the performance implications but 
for me less than 100.000 entities works seamlessly without performance 
problems.

>            Question2 : I have a table of 300 million records(you see, I'
> m classic RDBMS developer)
> and each record has a size of 10 bytes. How could I design the objects
> in order to use
> ozone in this case?
300 million are a lot of objects! I think that this is beyond the scope of 
storing ozone proxies in a standard collection. In general the design should 
be focused on implementing the object model rather than a relational data 
model however in this case you have to think about how to access and query 
this structure so that you never have to keep all 300 million objects in 
memory unless you request that on purpose.

>            Request   : Please give me some hints or ideas on how to deal
> with the problems of large
> lists in order to use ozone.
>            Thanks in advance.
>
> George Karousis
I think you need three things that are under development but not done yet:
1. Persistent collections
2. Indexable query system
3. Gammastore

Of these, Persistant collections works but for very large lists such as yours 
you need Gammastore for operations to be performant.

When it comes to indexable query system, you need this to avoid having to 
traverse your entire list of objects if you are looking to select list items 
based on certain criterias but do optimized index scans instead. The quest 
for query system for Ozone has just begun for real and we are looking at / 
discussing various implementation options.

Gammastore is more than half way done but Leo, who has been driving its 
development, has been quiet for some time so I have no idea when it will be 
finished.

If you can contribute some time please help us out with any of these to get 
tem done earlier!

Best regards,
Per


-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click