early warning - new rdbms

Ulf Wiger (AL/EAB) ulf.wiger@REDACTED
Fri Mar 3 15:15:48 CET 2006


I can upload a new snapshot.
I'll put it into jungerl pretty soon.

32-bit Erlang can only address 4 GB.
You can either run 64-bit Erlang in order
to address more, or run multiple Erlang nodes.
Very large tables can be managed with 
fragmentation.

For 64-bit erlang, it's important to remember
that the word size is doubled, which means that
many data structures will occupy roughly twice
as much memory as in the 32-bit version.
Binaries work well, whereas strings are a 
veritable disaster (128 bits per character.)

The recent addition of input/output filters
to rdbms might help those who store large 
strings in mnesia and want to use 64-bit erlang
(how large a community is that, I wonder?)

/Ulf W

> -----Original Message-----
> From: Eranga Udesh [mailto:casper2000a@REDACTED] 
> Sent: den 3 mars 2006 14:50
> To: erlang-questions@REDACTED
> Cc: Ulf Wiger (AL/EAB)
> Subject: RE: early warning - new rdbms
> 
> Hi,
> 
> No New RDBMS yet?
> 
> Also regarding the per process memory issue in Linux/Unix 
> came up in the mailing list lately, how can we deal with a 
> large Erlang Mnesia DB, which may have to hold data, say over 
> 5-6 GB of size (5 million records)? Since mnesia disk_copies 
> DB keeps all the data in memory, it's going to be a problem, isn't it?
> 
> Regards,
> - Eranga
> 
> 
> 
> -----Original Message-----
> From: Ulf Wiger (AL/EAB) [mailto:ulf.wiger@REDACTED]
> Sent: Friday, February 24, 2006 3:03 PM
> To: Eranga Udesh
> Subject: RE: early warning - new rdbms
> 
> 
> I'm hoping to be able to upload a snapshot 
> sometime this week. It will not be fully 
> functional, but the integrity checking 
> should work, at least.
> 
> Regards,
> Ulf W 
> 
> > -----Original Message-----
> > From: Eranga Udesh [mailto:casper2000a@REDACTED] 
> > Sent: den 24 februari 2006 04:35
> > To: Ulf Wiger (AL/EAB)
> > Subject: RE: early warning - new rdbms
> > 
> > Hi,
> > 
> > Where's the RDBMS system you talk about? Could I get quick 
> > access, since I am designing a system and I prefer to design 
> > it on top of a RDBMS system, instead of a local Mnesia DB.
> > 
> > Pls advice asap.
> > 
> > Thanks,
> > - Eranga
> > 
> > 
> > 
> > -----Original Message-----
> > From: owner-erlang-questions@REDACTED
> > [mailto:owner-erlang-questions@REDACTED] On Behalf Of Ulf 
> > Wiger (AL/EAB)
> > Sent: Thursday, February 09, 2006 9:15 PM
> > To: Chaitanya Chalasani
> > Cc: erlang-questions@REDACTED
> > Subject: RE: early warning - new rdbms
> > 
> > 
> > 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:chaitanya.chalasani@REDACTED]
> > > Sent: den 9 februari 2006 13:44
> > > To: Ulf Wiger (AL/EAB)
> > > Cc: erlang-questions@REDACTED
> > > 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