my bad, it wasn't a joke.  sorry thought poking fun at the confused. ;-)

-----Original Message-----
From: Michael Davis [mailto:mdavis / sevainc.com]
Sent: Sunday, July 22, 2001 10:06 AM
To: ruby-talk ML
Subject: [ruby-talk:18300] Re: Effecient indexing algorithm


My btree is written almost completely in Ruby.  I created several small C
functions to make searching faster.  The C functions are only needed if
want a little better performance.  My btree basically reads and writes
records to and from files.  I believe that Libdb-ruby allows you to use
BerkeleyDB to also read and write records.  BerkeleyDB is written in C.  I
know very little about BerkeleyDB but I believe it provides a lot of
database type stuff like transaction support in addition to reading and
writing records.  BerkeleyDB is closer to a real database than my btree is.
 I don't feel that BerkeleyDB has all of the features of a real database
server like PostgreSQL.  If all you need to do is quickly read and write a
lot of records, then using my btree will be an alternative choice to using
BerkeleyDB.  Here are some of the features of my btree:

- it is thread safe
- it allows multiple concurrent readers (using Ruby threads)
- it allows one concurrent writer that does not block readers (unless a
page needs to be split or deleted)
- a btree can span many files
- many btrees can reside in the same file

The btree is a by-product of a database server I am working on.  The
database server is written completely in Ruby.  The database server uses my
btree to read and write records.  I am creating the database server in
layers such that each layer can be used as independent, stand-alone
modules.  The btree is one of several stand-alone modules that I have
created to support the database server.

Why write another database server when there are other great choices like
BerkeleyDB and PostgreSQL?  Because I love Ruby, I felt that Ruby had all
of the needed components to easily create one, and I choose this as my
first Ruby project.  So far, getting the btree to work efficiently in Ruby
has been the only difficult challenge.

-----Original Message-----
From:	Ned Konz [SMTP:ned / whidbey.net]
Sent:	Sunday, July 22, 2001 10:03 AM
To:	ruby-talk ML; undisclosed-recipients: ;
Subject:	[ruby-talk:18296] RE:  Effecient indexing algorithm

Michael Davis wrote:

> I am planning to release my version of a btree written in Ruby sometime
> next week.  It will allow you to store terabytes of data across multiple
> files and should allow you to quickly retrieve that data.  I have the
code
> written and tested.  I just need to revise my test scripts and complete
> the documentation.

How does this compare to libdb-ruby, which is a Ruby interface for the
BerkeleyDB?