How to use GOODS? (was: Re: GOODS commit performance)

Vaidas Didzbalis vaidasd at
Tue Jan 6 12:12:48 UTC 2004


>>/ db := KKDatabase onHost: '' port: 6100./

>>/ root := db root./

>>/ nt _ root at: #NumbersTable ./

>>/ "lookup speed"/

>>/ [element _ nt at: 777777] timeToRun  <8061>./


> Ok, that's interesting.  The problem, I think, is that you're doing these

> tests with a single massive object.  The granularity of the database

>protocol is single objects, so the first time you touch that large array,

> the whole thing has to be brought in (not all the LargeIntegers, but the

> whole Array), and as you're demonstrating that's quite slow.

LargeCollections not installs onto 3.6.
I got used to work with relational tables; how data shall be organized 
in goods? For example:  I have million agreements and two million sales 
contacts. Semantically, information about Agreements is on the same 
level that  information about Sales Contacts are and they have 
many_to_many relation.  I fought, I need organize like

root := db root.
root at: #Contracts put: aContracts.
root at: #SalesContacts put: aSalesContacts.

then, if new user wants to work with contract #123, database shall allow 
find it quickly, "check out" for change somehow;
user will change contract information in local image and commit changes 
back to database. All transaction shall be possible in a fraction of a 
second I think.

so, how to use GOODS + Squeak? If  such combination not allows to work 
with data of 5GB, than ok, I'm looking in wrong direction.


More information about the Squeak-dev mailing list