[elephant-devel] Re: Multi user client-server performance

Ian Eslick eslick at media.mit.edu
Sun Apr 6 01:03:57 UTC 2008


On Apr 5, 2008, at 8:45 PM, Vagif Verdi wrote:
> AM>in elephant we have several different backends:
> AM > * BDB one is primary one, APIs were modelled according to  
> capabilities
> AM> of BDB
> AM> * CLSQL can work with any SQL database supported by CLSQL  
> (that's good),
>
> AM>but has some significant "sub-optimalities"
> AM> * Postmodern can work with PostgreSQL only (uses "postmodern"  
> library,
> AM>hence the name) and has less sub-optimalities than CLSQL
>
> I do not see any technical reason using elephant with relational  
> backend
> stores. It does not buy me sql capabilities, because table schema is
> butchered to make it work as key-value store. And trying to query it  
> with
> sql from outside of elephant would be hard (if not impossible)
> Yet choosing sql backend, I'm gonna lose speed on the order of  
> magnitude (in
> simple cases) and I suspect more in case of complex hierarchies of  
> objects.

Actually what it buys you is scalability (multi-process, multi-machine  
operation) on top of the licensing benefit.  That's important for  
externally facing, commercially-oriented websites.

The reason you would bother to do this vs. sticking with pure SQL (via  
CL-SQL, for instance) is for the simplicity of the integration with  
lisp.  Slots are dynamically typed, you can easily redefine classes,  
call change-class, and have the system do the right thing.

> The only non technical reason I see to use non Berkeley db backends  
> is due
> to licensing. But BDB's GPL licensing works fine for me (inhouse use.)
>
>
>
> _______________________________________________
> elephant-devel site list
> elephant-devel at common-lisp.net
> http://common-lisp.net/mailman/listinfo/elephant-devel




More information about the elephant-devel mailing list