Gem Stone

GemStone is an ObjectOrientedDatabase that completely owns the execution runtime environment. Therefore, it is able to provide nearly transparent store and retrieve operations for objects in memory with transactional consistency. For better or for worse, it provides application programmers the illusion of an infinite amount of persistent, transactional RAM. Additionally, GemStone provides a query facility for stored objects and the ability to map objects to a relational database.

GemStone comes in two basic flavors, GemStone/S for SmallTalk and GemStonej for JavaLanguage. GemStone/S is now available as a free non-commercial download for AIX, HP-UX, Solaris, Windows and Linux from the gemstone site:

For more information:

Please correct me where I'm wrong below, gang. I'm trying to get a handle on GemStone's architecture and how people developed (develop?) applications using it. -- RobertChurch

GemStone is a Smalltalk implementation with native object persistence.

Clients (most commonly running in client-oriented Smalltalk image like VisualWorks) connect to the GemStone server and execute Smalltalk code in it. The clients also have semi-transparent access to persistent objects resident in the GemStone server. Business objects and associated logic reside in the GemStone server.

This differs from what is typically described as an ObjectOrientedDatabase. GemStone provides an object-oriented language that more than fills the role of StoredProcedures in RDBMS systems, while most other OODBs do not provide an in-database language.

Citation: The GemStone object database management system Communications of the ACM 34, 10 Paul Butterworth , Allen Otis , Jacob Stein -- October 1991 -- online at:

CategoryDatabase, ObjectOrientedDatabase CategoryJava CategorySmalltalk

EditText of this page (last edited March 29, 2007) or FindPage with title or text search