early warning - new rdbms

Ulf Wiger (AL/EAB) <>
Thu Feb 9 16:14:40 CET 2006


Ok, but I've been sidetracked for a few days.
I'm still doing some cleanups. I will let you
all know as soon as I have something.

(Again, I was unprepared for so many takers.
I had expected to have to announce it a few 
times before anyone took the bait.  ;)

Regards,
Ulf W 

> -----Original Message-----
> From: Chaitanya Chalasani [mailto:] 
> Sent: den 9 februari 2006 13:44
> To: Ulf Wiger (AL/EAB)
> Cc: 
> Subject: Re: early warning - new rdbms
> 
> I would like to beta-test as well.
> 
> On Wednesday 25 January 2006 14:16, Ulf Wiger (AL/EAB) wrote:
> > I thought I'd let the cat out of the bag a little...
> >
> > If anyone wants to beta-test or help out with some of the more 
> > advanced problems, let me know.
> >
> >
> > I've come pretty far along with a new version of rdbms. It 
> has several 
> > nice features, and I think it's about to make the transition from 
> > 'somewhat interesting' to 'actually useful':
> >
> > - JIT compilation of verification code. The overhead
> >   for type and bounds checking is now only a few (~5)
> >   microseconds per write operation.
> > - The parameterized indexes that I hacked into mnesia
> >   before are now part of rdbms. This include ordered
> >   indexes and fragmented indexes (i.e. hashed on
> >   index value - so they should scale well.)
> > - Rdbms will handle fragmented tables transparently
> >   (And actually handles plain tables with less overhead
> >   than mnesia_frag does.) The overhead for using the
> >   rdbms access module (compared to no access module)
> >   on a plain transaction is in the order of 20
> >   microseconds on my 1 GHz SunBLADE.
> > - Rdbms hooks into the transaction handling in such a
> >   way that it can automatically rebuild the verification
> >   code as soon as a schema transaction commits.
> > - A readable file format for schema definitions, trying
> >   to establish a structured way to create large mnesia
> >   databases. I've also added a 'group' concept to be
> >   able to group tables into corresponding subsystems,
> >   since I thought this might be helpful in large
> >   systems.
> >
> >
> > I'm planning to release rdbms with OTP R11, since it requires some 
> > changes to mnesia that (hopefully) will make it into R11. R11 is 
> > planned for May.
> >
> > Some of the (fairly minor) changes to mnesia so far:
> >
> > - The access module can hook into the transaction
> >   flow by providing callbacks for begin_activity()
> >   and end_activity(). Rdbms uses this for proper
> >   handling of abort and commit triggers as well as
> >   loop detection in referential integrity checks.
> >   It also allows rdbms to detect schema changes.
> > - An 'on-load' hook allows rdbms to build indexes
> >   the first time a table is loaded.
> > - A low-level access API for foreign tables. My
> >   first foreign table attempt was a 'disk_log'.
> >   It makes it possible to properly log events
> >   inside a transaction context. You also get
> >   replicated logs almost for free, as well as
> >   (if you want to) fragmented logs. (:
> >   My next attempt at a foreign table is a read-
> >   only file system (doesn't have to be read-only,
> >   but I thought I'd start with that.) Thus
> >   the experiments with converting regexps to
> >   the select pattern syntax.
> >
> > One interesting experiment might be to define an ISAM table 
> type for 
> > really large ordered sets on disk. Combining it with rdbms, you can 
> > type- specify the data types and then convert to whatever format is 
> > expected by the ISAM files.
> >
> > Some questions to those who might be interested:
> >
> > - I'd like to break compatibility with the old
> >   rdbms in some respects. Is this a problem for
> >   anyone? (speak now or forever hold your peace)
> > - Do you have any suggestions or feature requests?
> > - Do you want to help out?
> >
> > Regards,
> > Uffe
> 
> --
> Chaitanya Chalasani
> 



More information about the erlang-questions mailing list