I actually did that investigation yesterday. It turns out a pickled source object takes from 1K to 2K (I tried point source, area sources, complex source etc, all kind of sources we have). It is not much, so the approach is viable. Of course in an ideal word we would not stored pickled sources and pickled ruptures, but proper database rows and a rupture would have a foreign key to the source that generated it. In that way we would not have duplications. But that is an ideal word.