Лучшие практики для системы контроля версий данных MySQL
Я должен хранить данные, такие как статьи, в базе данных mysql, и если статья модифицируется, я должен также сохранить старую версию, чтобы можно было ее восстановить. Я нашел несколько похожих вопросов и сообщений на эту тему, но я не уверен, какое решение является лучшим для решения проблемы.
Вот основная таблицастатьи» для лучшего понимания:
статьи (идентификатор, имя, текст)
Для меня есть два разных подхода к этому:
Подход 1Храните данные и каждую версию статьи в таблице »статьи» и добавить столбцыверсия" а также "статус", В версии я храню увеличенный номер версии статьи. Активная статья получает "статус" 1 и другие "статус" 2.
Pro»s:
Нужен только один стол
Новая версия представляет собой вставку новых данных и только обновление "статус"Колонна старого
Con-х
Очень большие таблицы (возможно, более медленные запросы ???)Подход 2Добавить поле »версия" к "статьи» и хранить только активные данные в таблицу "статьи», Старые версии данных сохраняются / перемещаются в новую таблицу »articles_versioned».
Pro»s:
В таблице только действительные данныестатьи»Con-х
Дублирование таблицТак. Я забыл хороший подход? Как работать со связанными данными в других таблицах (например, изображения и т. Д.)?