AP: split children objects from activities (to enable database compaction)
We already have helpers (Activity.normalize()
and 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 Create
activities.
This would allow us to replace the child object with a URI in the Create
activity.
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.
Thoughts?
cc @lambadalambda, @eal, @lanodan, @hj
Edited by kaniini