[erlang-questions] Fw: Berkely DB was: MySQL cluster

Tim Rath <>
Mon Oct 23 20:24:28 CEST 2006

I've been using Berkeley Db from Erlang for a while now, and contrary to Emil's analysis, I think it is an excellent choice, (we're basing a major project on it.) We're also using their high availability clustering support. That said, there are some drawbacks to be aware of. First I'll assume you are familiar with Berkeley DB, and so understand the trade-offs between using it and a sql based alternative.

Given that, the first thing that you will find is the lack of a good Erlang driver. My collegue is working on changing that. He is in the process of getting his internal (to our company) Bdb driver approved for open sourcing, and (I think) is in the final stages, so hopefully that will be available soon.

Next, it really helps to know a lot about the Berkeley Db products, and a relationship with the Sleepycat folks doesn't hurt either (well, we're using their very latest and greatest feature support, so we go back and forth with them all the time - if you stick to the tried and true, this is not so necessary.)

And beyond the high availability clustering support, which will get you to a certain scale, (it is a single master solution), further distributed (e.g. partitioning) support is all up to you to provide.

Thus far, we've been very happy with it as a solution. We selected it based on in-house expertise with Berkeley Db though. If you are a MySql expert, and know nothing about Berkeley Db, the draw might not be so great.

I'll privately mail my collegue to see if he has any more advice to offer you. He wrote all of the Erlang Bdb support, and knows leagues more about Bdb than I.


>From: Valentin Micic <>
>Date: 2006/10/21 Sat AM 09:01:53 CDT
>To: t ty <>
>Subject: Re: [erlang-questions] Fw: Berkely DB was: MySQL cluster

>No offence, I've read Emil's document, and as much as I appreciate his 
>comparative analysis, I was hoping to get feedback from somebody that is 
>actually using it.
>----- Original Message ----- 
>From: "t ty" <>
>To: "Valentin Micic" <>
>Cc: <>
>Sent: Saturday, October 21, 2006 3:54 PM
>Subject: Re: [erlang-questions] Fw: Berkely DB was: MySQL cluster
>> Emil's paper "Evaluation of Database Management Systems for Erlang" at
>> http://www.erlang-consulting.com/aboutus/erlangarticles.html
>> covers some of the issues.
>> t
>> On 10/21/06, Valentin Micic <> wrote:
>>> Could anyone indicate what are main issues with Berkeley DB, assuming 
>>> that
>>> one does not require SQL nor flexible data-model?
>>>  Thanks in advance.
>>>  V.
>>> > ----- Original Message -----
>>> > From: "Roberto Saccon" <>
>>> > To: "Christian S" <>
>>> > Cc: <>
>>> > Sent: Friday, October 20, 2006 7:18 PM
>>> > Subject: Re: [erlang-questions] MySQL cluster
>>> >
>>> >
>>> >>I had the same question and I am currently investigating in using
>>> >> mnesia just as cache for a clustered web application running on amazon
>>> >> EC2 and the real storage is on amazon S3 (which is kind of  Berkley DB
>>> >> webservice) and capable to store any number of TBs ...
>>> >>
>>> >> On 10/20/06, Christian S <> wrote:
>>> >>> On 10/20/06, Dmitrii Dimandt <> wrote:
>>> >>> > What's the optimum maximum size for Mnesia then? A bout a couple of
>>> >>> > gigabytes? Or more?
>>> >>>
>>> >>> What should such a number for maximum size try to optimize?
>>> >>>
>>> >>> A note about picking database after storage size needs:
>>> >>>
>>> >>> Using mnesia instead of an external database always have advantages 
>>> >>> in
>>> >>> terms of "impedance matching" (Mnesia has erlang's datatypes by 
>>> >>> virtue
>>> >>> of being erlang and you can query mnesia faster than anything
>>> >>> connected to through tcp). This often makes it worthwile to hack
>>> >>> around mnesia to store some data outside of it.
>>> >>>
>>> >>> One would easily reach a storage size of 1Tb for a site like flickr.
>>> >>> Does that mean mnesia wouldnt be sufficient for building such a site?
>>> >>> Or perhaps it could be a good idea to build an application that
>>> >>> replicates images across nodes outside of mnesia, and have mnesia
>>> >>> store small image ids to reference them.
>>> >>> _______________________________________________
>>> >>> erlang-questions mailing list
>>> >>> 
>>> >>> http://www.erlang.org/mailman/listinfo/erlang-questions
>>> >>>
>>> >>
>>> >>
>>> >> --
>>> >> Roberto Saccon
>>> >> _______________________________________________
>>> >> erlang-questions mailing list
>>> >> 
>>> >> http://www.erlang.org/mailman/listinfo/erlang-questions
>>> >
>>> _______________________________________________
>>> erlang-questions mailing list
>>> http://www.erlang.org/mailman/listinfo/erlang-questions
>erlang-questions mailing list

More information about the erlang-questions mailing list