Indeed, pickled blobs have problems independent of speed issues, some I pointed out here: Collaborate on Optimizing a new Custom Rule - #22 by dsblank
Speed is another dimension, and I think that we can move away from pickled blobs without any slowdown.
In my experiments, I now have a cache on the db layer. I’ll next try to tease apart the speedups of eliminating building Python objects, database access, and de-pickling. Optimizing all three looks like it will make parts of Gramps magnitudes faster with very few changes.