[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