[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