Patrick K. O'Brien wrote: > David Binger wrote: > >>On Oct 11, 2005, at 5:58 PM, Patrick K. O'Brien wrote: >> >> >>>If you'd be willing to share the data, I'd be willing to populate a >>>Schevo database with it and compare performance against your >>>hand-crafted Durus database. You up for the challenge? :-) >> >> >>Does schevo do something different from plain Durus that helps >>deal with huge numbers of objects? > > > Lots of indexing behind the scenes and an API that takes advantage of > those indexes automatically so you don't have to write boilerplate code. > But rather than try to explain it, I'd rather create the database and > show it. Maybe I'll just create something trivial, autogenerate a bunch > of sample data, and post the results. Just need to find the time... I happened to reread your question and realized my reply might be a bit misleading. Schevo does do a lot of indexing that *should* help it deal with huge numbers of objects, once those objects are created in the database. But like any index in any DBMS, those very same indexes in Schevo do slow down the creation of objects, and are a detriment when it comes to bulk loading of huge numbers of objects from something like the tab delimited stock quote files that we have been experimenting with. I'm not sure exactly what you meant with your question, but I didn't want you to believe that we had figured out something magical in our use of Durus. We simply create indexes behind the scenes and maintain them. We can do that because Schevo transactions are actual objects, with fields that are smarter than regular Python attributes. So our transaction execution mechanism can automatically detect the need to maintain index entries. I hope that's a better explanation of what we are doing. -- Patrick K. O'Brien Orbtech http://www.orbtech.com Schevo http://www.schevo.org Pypersyst http://www.pypersyst.org PyDispatcher http://pydispatcher.sourceforge.net