The ZODB is for managing complexity
Christopher Lozinski <[email protected]> Sun, 12 Nov 2017 23:01:59 +0100
| Newsgroups | gmane.comp.web.zope.zodb |
|---|---|
| Message-ID | <[email protected]> |
Thank you jim for your presentation. It really helped my understanding. What is the unique market niche for the ZODB? Managing complexity! Sure, for simple writes, the ZODB is now a little slower than a relational database. But if you have a transaction where you modify 10 different classes, then you just need to write one transaction to the end of the ZODB Data.fs file. It will contain all 10 new versions of the classes. Try that with a relational database, and you have to write to 10 different tables. Much slower. Same thing with reads. In my application I have 10 different classes, which can all be in a single category. With the ZODB I just iterate over the nodes in the tree. Generally they are all cached anyhow. At worst I have to do 10 reads, but often fewer or none. With a relational database I would always have to do joins on 10 different tables. Not sure how a relational database does caching. Sure relational databases can add a field to a table. The ZODB can add an attribute to just one object. Or even add a whole bunch of objects to an object. And forget changes. With the ZODB, need a new attribute, add it to the class. No need to update your Relational Schema and object relational mappers. I think that is a big part of why my costs were 1/20th of my competitors. They also outsourced, so it is not the geography. And they got a worse solution, only a 2 or 3 level hierarchy. Mine goes 10 levels deep. Moreover, now that my tools are stable, changes all come quite easily. No need to try to bend brittle tables and mappings to my will. I have a graph of persistent objects, which match the real world. As the real world changes, it is quite easy to adapt my graph to follow. The point is that the more complex your application, the bigger the payoff from using the ZODB. But of course the big rich companies with really complex applications are the last ones who will ever try using the ZODB. Anyhow I think that makes a great sales proposition. (And title for my next talk). "The Z Object Database is for managing complexity. " Comments most appreciated. Christopher Lozinski -- You received this message because you are subscribed to the Google Groups "zodb" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.