Лучшие практики для системы контроля версий данных MySQL

Я должен хранить данные, такие как статьи, в базе данных mysql, и если статья модифицируется, я должен также сохранить старую версию, чтобы можно было ее восстановить. Я нашел несколько похожих вопросов и сообщений на эту тему, но я не уверен, какое решение является лучшим для решения проблемы.

Вот основная таблица «статей» для лучшего понимания:

статьи (идентификатор, имя, текст)

Для меня есть два разных подхода к этому:

Подход 1

Сохраните данные и каждую версию статьи в таблице «статьи» и добавьте столбцы «версия» и «статус». В версии я храню увеличенный номер версии статьи. Активная статья получает статус «1», а остальные «статус» 2.

Pro-х:

Нужен только один стол

Новая версия - это вставка новых данных и только обновление столбца «status» старой

Con-х

Очень большие таблицы (возможно, более медленные запросы ???)Подход 2

Добавьте поле «версия» в «статьи» и сохраните только активные данные в таблицу «статьи». Старые версии данных хранятся / перемещаются в новую таблицу «article_versioned».

Pro-х:

Только фактические действительные данные находятся в таблице «статьи»

Con-х

Дублирование таблиц

Так. Я забыл хороший подход? Как работать со связанными данными в других таблицах (например, изображения и т. Д.)?

Ответы на вопрос(1)

Ваш ответ на вопрос