Пока приходит на ум простая схема:
делать глубокий просмотр объекта, искать изменения и записывать их в подобный объект, но уже без ключей, значения при которых не изменились. Все это можно хранить, к примеру, в PostgreSQL (было бы лучше все хранить в виде ключ-значение, тот же jsonb в Postgresql, а не строкой - тогда лучше подойдет нереляционная БД?). Но все это (поиск отличий, коммиты, объединение данных) придется реализовать вручную.
А есть ли готовые решения?