Как сохранить все версии измененного файла с минимальными затратами в базе данных - PullRequest
0 голосов
/ 24 апреля 2009

Я недавно получил базу данных для своего веб-сайта и был удивлен, увидев, насколько дорогой он был для того места, которое мне дали (всего 500 мб для sql2005). База данных используется для хранения данных, таких как сообщения или статьи, представленные участниками.

проблема: я хотел бы иметь возможность сохранить не только окончательную версию сообщения пользователя, но и все возможные изменения, которые произошли с момента его публикации. Как я могу сохранить эти изменения в базе данных, не сохраняя всю публикацию несколько раз с разными номерами версий? Меня беспокоит то, что размер базы данных может расти слишком быстро и достигать предела в 500 МБ. Есть идеи?

1 Ответ

2 голосов
/ 24 апреля 2009

Как часто вам нужно получать предыдущие сообщения? Насколько они велики?

Вы можете сжать данные перед вставкой в ​​базу данных, но это увеличит время поиска.

Вы можете сохранить разность постов, но для этого требуется перебирать каждый пост и применять разность для воссоздания истории.

Вы должны определить количество ожидаемых статей / правок, чтобы вы могли определить, сколько вы можете сохранить в пределах вашего лимита.

Если статьи большие и предыдущие версии не доступны, просто сохраните статьи в виде файлов и сохраните информацию заголовка в базе данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...