Будет ли жизнеспособная стратегия для реализации управления версиями (с использованием «примера» в качестве образца типа документа):
Имейте один оригинальный документ, где поле типа названо example_original.
Все последующие изменения документа имеют тип example_change и идентификатор документа example_original в качестве ключа. Изменение также будет содержать метку времени.
Сохраните один документ с типом example_current, который является результатом example_original со всеми применимыми example_change. Новый документ example_change будет автоматически применен к этому документу.
Поиск конкретной версии будет состоять из извлечения документа example_original и применения желаемых изменений (в основном до определенной временной отметки, но это также может быть ряд изменений).
Я должен упомянуть, что мой вариант использования будет включать ограниченное количество изменений в оригинале. Большинство обновлений будут состоять из новых оригинальных документов. Хотя это мой текущий вариант использования, меня также интересовали бы проблемы, которые могли бы возникнуть, если бы произошло много изменений.
Какие плюсы и минусы вы видите в этом подходе?