Heh, yeah.ZODB seems to be pretty good for the purpose here (it's performance is usually not the bottleneck).
But when indexing large texts, it becomes a problem. One way to solve it is instead of using generic serializing for data structures, take real structure into account. Many isinstance() calls cause the CPU bottleneck [http://www.upfrontsystems.co.za/Members/roche/where-im-calli...]. Though, it turns out to be not as bad [http://www.upfrontsystems.co.za/Members/roche/where-im-calli...]