My first Magma experience (Now including GOODS)

goran.krampe at bluefish.se goran.krampe at bluefish.se
Tue Apr 5 07:27:51 UTC 2005


Hi fellas!

Ross Boylan <RossBoylan at stanfordalumni.org> wrote:
> To add a couple of points about Gemstone:
> 
> Gemstone can execute code on the server (in fact, that's what it's
> designed to do).  So if you do need to execute some block across a
> large database, there's no need to fault it all into an image.  It
> sounds as if the other object db's that have been mentioned don't
> operate that way.

Now, this is both true and somewhat misleading IMHO. :) When you say
"there is no need to fault it all into *an image*" you should probably
instead say "there is no need to fault it all into a *client Smalltalk
image*". Where "client Smalltalk" emphasises both a Smalltalk VM running
on a client machine (instead of on the server close to the disks) and/or
a Smalltalk VM that is not Gemstone (like VW, VA, Squeak or whatever).

Gemstone simply has a 1-n Gemstone VMs running on the server (or
servers, or servers and clients - in short, they can run wherever you
like) so the faulting occurs anyway, but the Gemstone VM is of course
built for handling large object memories and uses a page model so that
it can swap pages in/out very fast - and also share them between VMs
using a shared page cache. 

So Gemstone is mainly a shared object memory system where you can have
multiple Gemstone VMs running on separate machines that all share a
transactional large object memory (think "image"). It of course also has
mechanisms for securing that memory on disk - and thus, voila, an OODB.

regards, Göran



More information about the Squeak-dev mailing list