Хранить .pdf в SQL или путь? - PullRequest
4 голосов
/ 09 марта 2011

Мне интересно, каким будет лучший способ хранения .pdf.Можно ли хранить их как двоичные объекты в SQL или лучше хранить их на диске с данными и хранить путь в таблице?

Спасибо

Ответы [ 5 ]

4 голосов
/ 10 марта 2011

Здесь нет одного правильного ответа, но есть одно соображение, если объем данных будет проблемой.Если он не слишком большой, я предпочитаю хранить их в базе данных по той же причине, по которой мне нравится иметь базу данных с резервными копиями, целостностью и восстанавливаемостью моих данных.Если вы используете файловую систему или даже файловый поток, вы не создаете резервную копию своего pdf при резервном копировании базы данных, и если вы восстанавливаете на другой сервер или выполняете откат к предыдущему моменту времени, вы можете получить PDF-файлы и данные в несогласованных состояниях,Конечно, он будет работать лучше, и вы обязательно должны помнить об этом, но если производительность не является проблемой, то неплохо иметь возможность восстановить базу данных на другом сервере, даже в процессе разработки или тестирования, и знать, что у вас есть все ваши данные., не все ваши данные, за исключением ваших PDF-файлов.

ОБНОВЛЕНИЕ: Мартин прав, данные файлового потока резервируются с помощью обычных резервных копий, и вы можете использовать опцию WITH MOVE при восстановлении, чтобы восстановить данные в другое место, если это необходимо.Поэтому, чтобы уточнить, если вы используете обычные старые указатели на файлы на диске где-то на диске, у вас не будет резервных копий pdf-файлов при резервном копировании базы данных, а при использовании файлового потока.Вам все еще нужно быть осторожным, чтобы файлы не изменялись за пределами базы данных, поскольку база данных больше не будет обеспечивать целостность ваших записей, например, пользователь может удалить файл из файловой системы, на которую указывает файловый поток, или антивирус можетизолировать файл, если он был настроен неправильно.При небольшом планировании поток файлов выглядит как отличный вариант для многих сценариев.

0 голосов
/ 10 марта 2011

Если размер файла меньше 1 МБ и / или файл редко редактируется, вы должны сохранить файл на сервере SQL из-за производительности.Если файл будет много отредактирован и / или будет больше 1 МБ, вы должны сохранить свой файл в файловой системе.

См. Этот вопрос для получения дополнительной информации: Сохранение документов в формате BLOB в SQL или в файловой системе

0 голосов
/ 09 марта 2011

Если вы храните только путь в БД, убедитесь, что вы думаете об архивации. Будут ли PDF жить вечно на диске? Что произойдет, если вам не хватит места? Как будет обновляться база данных в этих случаях?

Не аргумент против хранения на диске, только некоторые вещи, которые нужно иметь в виду.

0 голосов
/ 09 марта 2011

Если вы сохраните их в базе данных, ваша производительность снизится, и вы не сможете использовать сторонние инструменты для просмотра данных.

0 голосов
/ 09 марта 2011

Если вы планируете, что ваша БД будет очень большой, то лучше хранить. PDF-файлы на диске с данными (и только в пути к БД) из-за проблем с производительностью. Но если ваша БД будет не очень большой - сохранение .pdf файлов в БД - это нормально.

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