On Tue, Oct 21, 2008 at 1:37 PM, Alex Mizrahi <span dir="ltr"><<a href="mailto:killerstorm@newmail.ru">killerstorm@newmail.ru</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
 RS> First, since I need to use multiple web application machines, I'm<br>
 RS> using the Postmodern backend. I assume there's no sane way to share a<br>
 RS> BDB db between multiple machines?<br>
<br>
i think so too</blockquote><div><br>Berkeley DB supports "replicated" database environments with many read-only environments and one environment responsible for all the writing.  (It is not centralized, however, so when the write-enabled DB goes down it will be automatically replaced.)  All the data exists on each instance of the database, so this does not spread the pain of storing tons of data.  There is also the problem of hitting the write wall since one machine handles all writing.  Fortunately these problems only affect extremely large applications.<br>
<br>BDB does not provide any code to handle the networking required to get this replicated mode working.  You have to write a few functions to do that yourself (presumably in C unless Lisp can handle FFI callbacks, but I don't think it can for most lisps).  It should be fairly trivial networking code, however, and somebody may have already written it out there on the web.<br>
<br><a href="http://www.oracle.com/technology/documentation/berkeley-db/db/ref/cam/intro.html">http://www.oracle.com/technology/documentation/berkeley-db/db/ref/cam/intro.html</a><br><br>enjoy elephant :)<br><br>-Red<br></div>
</div>