On May 27, 2007, at 6:08 AM, Henrik Hjelte wrote:

On Fri, 2007-05-25 at 16:32 -0400, [EMAIL PROTECTED] wrote:

I think that SQL databases are a safer bet than Berkeley DB
for having several processes on different machines talking to the same
store, so I will have one instance of postgresql running on a server
with scsi raid 10 and lots of ram.

Henrik, would you mind elaborating more on this? Why would SQL databases be safer than the BDB stores? I know they are handled by separate processes, potentially, on separate machines, so in essence, they are independent of your application. However, isn't BDB designed just to tackle that using an application library instead of a separate process?

I'm perhaps guided by feeling rather than theory. I have experience with
sql databases and trust them completely with my data, I don't know BDB
enough to do that. Also as Ian said they might be better when several
machines are involved. And with postgresql I can choose between
different replication methods so I can have a clustered solution if I
want to. Maybe I can with BDB also, I don't know.

Also, I have made some testing and evaluation. I intended to code tests for the different Lisp ODB to be able to see their merits, and I made the
project http://common-lisp.net/project/grand-prix for that purpose.
However, since several ODB failed on the first test I made up my
mind early. The simple test is to see if several instances of Lisp can
write to the same store at the same time. Rucksack can't and with elephant-BDB I had also problems. Ian tried to help me solve them, but the fact that I had to redesign the code a bit to make it work means I don't think BDB is as "safe" as the

To be fair to BDB, it is a lower level interface so the Elephant designer, or user, has to take responsibility for configuring it properly for different situations. In exchange, you get better speed. SQL by default accommodates all these usage modes and so is safer in that it is harder to shoot yourself in the foot!

sql backends. All sql based backends (perec, clsql,postmodern) worked.
If you come up with some nice performance test you might consider adding it
to grand-prix, that was my idea with the project anyway.

I have also done some stress testing with my web-app. BDB is fastest, but the sql backends do good enough for me. Actually I found a performance problem with and ODB from a well known Lisp vendor that would take too long time doing commits. But they immediately started to fix it, so it is probably solved by now. But I
no longer have a license to check it out.

Henrik Hjelte


_______________________________________________
elephant-devel site list
elephant-devel@common-lisp.net
http://common-lisp.net/mailman/listinfo/elephant-devel

_______________________________________________
elephant-devel site list
elephant-devel@common-lisp.net
http://common-lisp.net/mailman/listinfo/elephant-devel

Reply via email to