Have you guys ever worked with GemStone (or any similar OODB)?
Anyway - Stephen Pair has been doing very interesting work in this direction and demonstrated parts of it at OOPSLA. One of these things is his "CATS" - a transaction service much like the one used in for example GemStone. Looked very neat and solid to me.
I know he has been thinking about all the other parts too and a small bird has whispered in my ear that there might be stuff coming...
As another sidenote, I have been playing with ImageSegments a bit and <plug> if you sign up for an account at SqueakDot </plug> you can actually see it in action right there - you can checkpoint/revert/analyze your account using ImageSegments and you will see some performance numbers right away.
regards, Göran
PS. <CSOTD> "Newbie tip: Bags are perfect for histograms and polls. It is what the SDPoll class uses at SqueakDot. Do a 'print it' of below to see the number of votes for 'Yes'." | votes | votes _ Bag new. votes add: 'Yes'; add: 'Yes'; add: 'No'. votes occurrencesOf: 'Yes' </CSOTD> DS
goran.hultgren@bluefish.se said:
Anyway - Stephen Pair has been doing very interesting work in this direction and demonstrated parts of it at OOPSLA. One of these things is his "CATS" - a transaction service much like the one used in for example GemStone. Looked very neat and solid to me.
I have played with Cats (or CATS, whatever Stephen wants :-)). I'm planning to do my ZODB clone (if I do it) in at the very least a CATS-compatible manner.
Note that CATS wants you to subclass transactional objects (IIRC); that's maybe something you don't want. However, I don't know another way of doing what CATS does with routing instance variable accesses to the transaction (except for some transparent proxy magic, which would work but maybe doing this through DNU is bound to be slow)
I know he has been thinking about all the other parts too and a small bird has whispered in my ear that there might be stuff coming...
Could you wisper a bit louder, bird? I'd hate to do double work ;-)
As another sidenote, I have been playing with ImageSegments a bit and <plug> if you sign up for an account at SqueakDot </plug> you can actually see it in action right there - you can checkpoint/revert/analyze your account using ImageSegments and you will see some performance numbers right away.
The only thing I keep asking myself is whether ImageSegments are good for fine-grained storage (say a persistent objects and the reference graph to its non-persistent contained objects, as opposed to a big project). They seem to be a bit heavy-weighted, don't they?
(OBTW: David Gorisek is contemplating an OmniBase port to Squeak; however, what's keeping him until now is that he cannot seem to do file locking from Squeak - anything coming there? Is there a lowest common denominator between the Squeak platforms for file locking?)
squeak-dev@lists.squeakfoundation.org