Hi Jecel,
Stephen Pair wrote:
OOZE and LOOM by Ted Kaehler, et al did this kind of thing. Here's a link to the 1981 article on OOZE:http://www-cs-students.stanford.edu/~eswierk/misc/kaehler81/ It mentions LOOM, but doesn't go into detail...I think the more detailed LOOM paper(s) are in the ACM digital library.
There are some papers, but chapter 14 of the "green book" is probably the best place to learn about LOOM. The book is available at
http://stephane.ducasse.free.fr/FreeBooks/BitsOfHistory/
Though LOOM (and OOZE) are actually virtual memory systems rather than databases, if you don't define what you mean by "database" then they are probably good enough for most uses. Going more in the direction of industry standard databases, Gemstone is a great example of what can be done in Smalltalk. This paper (which I can't read right now) probably has some information about it: http://portal.acm.org/citation.cfm?id=125223.125254 -- Jecel
I don't know a lot about Gemstone or how it is implemented but an object database is what I am trying to achieve. In VA Smalltalk there is Voss from Logicarts http://voss.logicarts.com/ and Tenacity from TotallyObjects http://www.totallyobjects.com/tenacity.htm. I think both are very good especially Voss. Both are written is Smalltalk without modification of the VM. I think both use proxy objects to link the object in memory with the database. I believe they save/read objects to/from the database (made up of very many small files) with an object dumper/loader.
My idea (if it can work) uses one file (or at least very few) and doesn't use an object dumper/loader. I think this may make things faster and simpler. By simpler, I mean much less Smalltalk code, no proxy objects, easier backup of the database (since it is just one file). The lack of use of the object dumper/loader may require more work if an object definition changes.
Lou ----------------------------------------------------------- Louis LaBrunda Keystone Software Corp. SkypeMe callto://PhotonDemon mailto:Lou@Keystone-Software.com http://www.Keystone-Software.com
On Tue, Dec 29, 2009 at 02:33:36PM -0500, Louis LaBrunda wrote:
I don't know a lot about Gemstone or how it is implemented but an object database is what I am trying to achieve. In VA Smalltalk there is Voss from Logicarts http://voss.logicarts.com/ and Tenacity from TotallyObjects http://www.totallyobjects.com/tenacity.htm. I think both are very good especially Voss. Both are written is Smalltalk without modification of the VM. I think both use proxy objects to link the object in memory with the database. I believe they save/read objects to/from the database (made up of very many small files) with an object dumper/loader.
You will also want to have a look at Magma, which is written in Squeak: http://wiki.squeak.org/squeak/2665
Dave
vm-dev@lists.squeakfoundation.org