Daniel Salama wrote: >> Were you storing persistent-metaclass objects or simply normal objects? >> Normal objects are huge relative to persistent objects as currently all >> the slot names are also serialized (potentially in 32-bit unicode if on >> SBCL). I have some improvements planned to reduce the storage and >> processing overhead for strings, but it will take some evaluation to >> make sure performance doesn't suffer over much. Some of this will make >> it into the forthcoming 0.6.1 release I'm trying to finish a bunch of >> work for prior to my twin daughters are born. >> >> Also SBCL strings in the 0.6.0 release are stored in their internal >> 32-bit form so we can memcpy them back and forth between elephant and >> the internal format. The new serializer will store them in the minimal >> format and then convert back to the 32-bit internal form for unicode >> enabled SBCL. > > We were storing persistent objects. However, instead of storing them > all into the root, we were storing them into a normal collection class > (I think it was even a BTree), such that we would have a collection of > "people". Maybe this was the wrong approach. We were coming from the > RDBMS world so what we ended up doing is storing the root, different > collections of objects, where each collection would "kind-of" resemble > the different tables we have in MySQL. > Class indexing accomplishes the same thing - it creates a BTree for each indexed class type that contains all instances of the class. Slot indexes can be added/deleted and are secondary BTrees with the class BTree as primary. >> Every time you finish or 'commit' a user transaction (form submit), just >> write the object data back to the Elephant persistent store before >> acking to the user. > > Is this done automatic by the way DCM is configured or is it a manual > commit you do in DCM/Elephant to persistent store? > I think this is manual, but you'll have to ask Robert as I haven't had time to dig into his DCM code yet.
Ian _______________________________________________ elephant-devel site list elephant-devel@common-lisp.net http://common-lisp.net/mailman/listinfo/elephant-devel