AP: split children objects from activities (to enable database compaction)
We already have helpers (
Object.normalize()) that help us walk an activity's underlying graph in third normal form.
I was thinking that we could just add these to the remaining places we don't already use them (e.g. the views), in combination with a warm cache, as the source of truth for the object data in
This would allow us to replace the child object with a URI in the
Especially if combined with warm cache, the performance impact should be negligible. We could also provide a migration to remove the data from pre-existing activities to allow compacting the database.