On Mon, Oct 06, 2003 at 08:50:21PM -0400, John Sequeira wrote:

> Would xotcl's xoStore help you out?  It's more ORM than OODBMS,  but

I'd never heard of it, thanks, I'll take a look.

> Also,  I'm curious ... what type of data would you want to store that
> wouldn't fit in an array?

In my particular (peculiar?) experience, I wrote a multi-threaded
application for fetching remote data via a pretty low-level, rather
ugly, proprietary C API.  (I used AOLserver for its excellent
mult-threaded C and Tcl programming environment; if I was starting it
from scratch today I might use tclsh and the Threads extension
instead.)

This meant keeping track of lots of housekeeping data on states and
flavors of different types of requests outgoing, incoming, and
outstanding, etc. etc.  This was all transient data, not anything I
wanted to save for posterity, and if the process and its network
sockets crashed all that housekeeping data became instantly worthless
anyway, so I definitely didn't want to save it into Oracle or
PostgreSQL.

So, I stored everything I needed in nsvs, but doing so was rather
frustrating, and I definitely wasted time debugging stuff because my
housekeeping data was all in a kludgy, ad-hoc, non-normalized form.  I
often had the urge to sit down and re-write my in-memory data model in
a nice normalized transaction-processing style, but lacking any good
tool to IMPLEMENT such a data model (and being under time pressure,
etc.), I never did so.

I don't intend to go back and change that particular application now,
and I'm not sure how common or generally applicable this sort of
experience was.  But, I *KNOW* I would have very much liked to have an
easy, clean, "like nsv only better" in-memory RDBMS available to me
for that project.  So off and on I think about whether there is such a
tool out there, or how I might go about building one.

Generally, my experience with concurrent programming seems to be that
the relational model, and the transcaction processing concepts that
tend to be associated with it, are both very, very useful, and I've
never yet gone wrong by applying them to a project.  Again, I'm not
entirely sure how widely useful an in-memory RDBMS would be, but I'm
quite certain it would be a useful tool to have in my concurrent
programming toolbox.

Thus, I think about it off and on in my spare time.  I just stumbled
across Erlang and Mnesia in a Dr. Dobb's Tcl-URL mailing or something
like that.  And it's ALWAYS easier to ask other smart and
knowledgeable people rather than trying to do a lot of digging myself,
thus...  :)

--
Andrew Piskorski <[EMAIL PROTECTED]>
http://www.piskorski.com


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: field of 
your email blank.

Reply via email to