[elephant-devel] Learning about Elephant

Ian Eslick eslick at media.mit.edu
Wed Jan 28 05:26:55 UTC 2009


>
Hi John,

Your mileage may vary, but I'm really not concerned about users  
causing significant performance degradation by doing lots of null  
edits.  If that is happening, it's probably a user interface design  
problem.  The trivial solution is to write a jscript function that  
sets a hidden input value if the contents of any of the inputs are  
changed.  You can inhibit the POST entirely if that's the case, or  
allow the server to skip processing it.  This should cut out a huge %  
of your overall null edits (if you don't have some weird community  
with a high percentage of no-javascript users) and it's only a few  
lines of code.

> I'm not too familiar with BDB replication myself and was just  
> googling around. After reading that document in more detail and your  
> explanation, makes me realize that replication or the distributed  
> BDB model is not such a simple task. Since I don't think that my  
> application(s) would really out-scale the single machine Elephant/ 
> BDB deployment, I would certainly not want to encourage investing  
> time in this and rather concentrate on a lisp-only prevalence   
> backend. Maybe one that covers these issues in the future.

We should all be so lucky as to blow out a single server!  If you have  
that much traffic, you can usually afford some reworking to scale if  
your application is amenable to it.  Often you can get pretty far just  
by doing some optimizations, offloading static file to a second  
server, smart caching, some restructuring and performance  
optimizations, transaction tuning, etc.  There is almost always room  
for significant optimization in a new system.

>
> I haven't looked too much into the code, but your response seems  
> positive overall. I haven't read anything about slot-associations in  
> the manual, so I guess I'll have to learn about them in the code and  
> the tests themselves.
>

Check out the elephant-devel mailing list, associations are described  
several times there.  I also provided an example in a recent e-mail.

The API is straightforward so between the new metaclass slot initargs  
(src/elephant/metaclass.lisp) and the association interface (src/ 
elephant/associations.lisp) you should be able to work with them.

Regards,
Ian




More information about the elephant-devel mailing list