[elephant-devel] Berkeley DB 4.4.20

Robert L. Read read at robertlread.net
Mon Aug 14 03:57:34 UTC 2006


On Sun, 2006-08-13 at 23:27 -0400, Daniel Salama wrote:

> Robert/team,
> I know I've discussed this in the past, but somehow, your comment has
> awaken my concern as to the future of Elephant and Sleepycat. I know
> you've mentioned that you are using Elephant mainly (or only) for the
> relational backend. However, being that the BDB backend is about 5
> times faster than the relational one, I was concentrating on using the
> BDB backend.
>  Am I going down the wrong or uncertain path? Will future enhancements
> to Elephant be focused on the relational backend first? I wish I could
> say that I can volunteer to help enhance Elephant in anyway, but I
> just don't have the qualifications; at least not yet. I know there are
> others involved in the project, but not really familiar with
> everyone's contributions.

You are not going down a wrong path; you are going down an uncertain
path, which has a good contingency plan.  The future of BDB itself and
its licensing situation is slightly uncertain.  If you had to switch to
the relational backend, it would be painless;  one of the things that
Elephant does really well is to allow repository migration (I think.)
Elephant insulates you from this consideration, to some extent.  BDB is
5 times faster---are you sure that matters to you?  One cannot emphasize
too much that premature optimization is a bad thing.  If someone would
just improve the serializer, the relational backend would be much faster
--- I know how to do this but have not done so, since, for me, it is
irrelevant.

> 
> The one thing I know is that, this, being an open-source project, is
> sort of like a side task for the current team members. After all, we
> "all" have to work to put food on the table. So, it's not that I'm
> asking the dedication of a team of developers such as one assigned by
> a company offering commercial licenses.

Right.  I committed (about a year ago, I think) to maintain it for some
time, not necessarily to improve it.  By good fortune,
Ian Eslick has improved it a lot, and I have helped.

> Through the documents I've read, I think I came across one that said
> that there are about 15 people (entities) using

That was my guess based on the downloads, questions, and the membership
of the lists like this one.  It could be 
much, much higher if the average user never asks a question.  I honestly
wish I know how many people are using it.

>  Elephant. I don't know if those are just people known to use it and
> then many others that you just don't know about, or that it really is
> a low profile project. I can only comment/compare to CL-SQL, which is
> the other project I've come across more often. I don't use it but do
> see more traffic related to that project than to Elephant. From what I
> know, the two projects have different schools of thought and
> philosophies as to how persistence is implemented and managed. I can
> say that I like the way things are done in Elephant. They just seem so
> natural and elegant.

Elephant sits on top of CL-SQL; CL-SQL is the premier database
connectivity system for LISP (it rocks.)
CL-SQL also implements some object mapping stuff (ORM), whereas Elephant
implements a straight Object database
(more or less.)  CL-SQL insulates Elephant from changing database
issues, and let's us work with Postgres and 
SQLite3, and, with a little work, probably others; its evolution is
partially driven by changes in those databases.

> It is for that reason that I'm concerned with my using of Elephant and
> BDB backend. I plan to migrate a large project over from Ruby on Rails
> to the UCW/Elephant framework. I just don't want to shoot myself on
> the foot down the road when my clients are using the system or,
> hopefully won't be the case, obsoleted framework.

You will certainly be able to migrate your data to a different backend;
although I wish we had more real-world tests of 
this capability, it's definitely there.  The real question is:  do you
really have a performance critical situation?
I don't plan to work on BDB 4.4 in the next six months, and Ian and I
are the only really active developers right now.
I'm not planning to drop support for BDB either, unless they change the
licensing in some way.  Perhaps you should
actually measure your object retrieval rate and see if you think it is
acceptable.  I personally use DCM (in the contrib dir)
which is basically an prevalence-style caching system; in general,
caching and indexing go a long way.

> 
> 
> Thanks again for such great work.

Thanks for using it!  I wish I had more time to work on it, but I have
children and college tuitions looming...
----
Robert L. Read, PhD                                     read &T
robertlread.net
Consider visiting Progressive Engineering:
http://robertlread.net/pe
In Austin: 912-8593                                        "Think
globally, Act locally." -- RBF


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/elephant-devel/attachments/20060813/f86f4803/attachment.html>


More information about the elephant-devel mailing list