BerkeleyDB (was: StrongARM...)

Stephen Pair spair at advantive.com
Thu Jul 19 07:59:58 UTC 2001


This peaked my curiosity...I wrote a few classes that allowed me to work
through the example on SleepyCat's website in a workspace.  FFI
continues to impress me.  Certainly, this little DB would work much
better for mapping objects than a relational database.

Couple of thoughts:
- there are some callback functions in the API...would be nice if FFI
would allow callbacks, eliminating the need to do C coding
- any serious use of this DB might want/need asynchronous reading a
writing of data...would be nice if FFI could also support that
- a C header file parser would make things go much quicker (takes too
long to decipher those header files and structures by hand)

A changeset is attached (it's very quickly hacked code) for anyone who's
interested and might want to take it further (I won't have time to
pursue it much further anytime soon).

- Stephen


-----Original Message-----
From: squeak-dev-admin at lists.squeakfoundation.org
[mailto:squeak-dev-admin at lists.squeakfoundation.org] On Behalf Of Ned
Konz
Sent: Wednesday, July 18, 2001 7:47 PM
To: squeak-dev at lists.squeakfoundation.org
Subject: Re: StrongARM SBC performance of Squeak?


On Wednesday 18 July 2001 03:41 pm, Jimmie Houchin  
wrote:

> If you do write a BerkeleyDB plugin will this be made available to the

> community?

Yes, of course.

> You referring to SleepyCat's BerkeleyDB, correct?

Yes.

> I have read some of the docs for it but really didn't understand how 
> to use it. It's been several months tho'.
>
> I would be interested in using BerkeleyDB for a database behind a 
> website. It seems there are a few high profile users backing there 
> websites with it.

You may want to look at one of the relational database connectivity
options 
that already exist; there's a MySQL and a PostgreSQL interface for
Squeak 
already. I don't know how soon I am going to be able to do this.

One advantage of the BDB is that it doesn't use a server (though it
can); it 
just links with your program. So you could use the FFI interface now to
get 
to it.

> Would using it from Squeak via a plugin like you speak
> of be a reasonably natural way to store data or objects from Squeak?

Data, yes; objects would require some serialization and
de-serialization. BDB 
databases are nothing more than arbitrary key/data pairs, where the key
and 
the data can both be up to 4Gb long. You can have duplicate keys.

> I
> am sold on the quality of BDB. I wonder what kind of UI could be made 
> for such a tool? Could this be something usable for non-database 
> experts?

Well, it's not much of a database. Most people, when they think of
databases, 
think of relational or object databases. But if you just want to store 
arbitrary key/data pairs, it's great. You can do transactions if you
need 
more than one table, though.

Note that MySQL is built on top of BerkeleyDB.

-- 
Ned Konz
currently: Stanwood, WA
email:     ned at bike-nomad.com
homepage:  http://bike-nomad.com

-------------- next part --------------
A non-text attachment was scrubbed...
Name: BerkleyDB.1.cs
Type: application/octet-stream
Size: 16982 bytes
Desc: not available
Url : http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20010719/17d4e774/BerkleyDB.1.obj


More information about the Squeak-dev mailing list