Довольно распространенное требование в приложениях базы данных - отслеживать изменения одного или нескольких конкретных объектов в базе данных. Я слышал, что это называется версией строк, таблицей журналов или таблицей истории (я уверен, что для этого есть другие имена). Есть несколько способов приблизиться к нему в СУБД - вы можете записывать все изменения из всех исходных таблиц в одну таблицу (больше из журнала) или иметь отдельную таблицу истории для каждой исходной таблицы. У вас также есть возможность либо управлять протоколированием кода приложения, либо с помощью триггеров базы данных.
Я пытаюсь понять, как будет выглядеть решение той же проблемы в базе данных NoSQL/document (в частности, MongoDB) и как она будет решена единообразно. Было бы так же просто, как создавать номера версий для документов и никогда не перезаписывать их? Создание отдельных коллекций для "реальных" и "зарегистрированных" документов? Как это повлияет на запросы и производительность?
В любом случае, является ли это распространенным сценарием с базами данных NoSQL, и если да, существует ли общее решение?