Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
 Хранение файлов в базе данных  [new]
AlekseyB
Member

Откуда:
Сообщений: 38
Добрый день.
Пожалуйста подскажите, мне нужно в базе хранить файлы "Word" возможно даже с таблицами и диаграммами, так вот вопрос как лучше, хранить в полях таблицы базы данных файлы целиком и если так то какой лучше тип поля задать, либо хранить файлы на сервере, а в базе хранить ссылки на них?
23 июн 06, 11:41    [2805509]     Ответить | Цитировать Сообщить модератору
 Re: Хранение файлов в базе данных  [new]
Dirty
Member

Откуда:
Сообщений: 118
ессно последний вариант
23 июн 06, 11:59    [2805681]     Ответить | Цитировать Сообщить модератору
 Re: Хранение файлов в базе данных  [new]
Timon
Member

Откуда: Dushanbe TJK
Сообщений: 2688
Dirty
ессно последний вариант

Почему? Обоснуйте пожалуйста.
23 июн 06, 12:04    [2805722]     Ответить | Цитировать Сообщить модератору
 Re: Хранение файлов в базе данных  [new]
ilya_sid
Member

Откуда: Moscow
Сообщений: 331
Timon
Dirty
ессно последний вариант

Почему? Обоснуйте пожалуйста.


место....время.....деньги....
23 июн 06, 12:13    [2805784]     Ответить | Цитировать Сообщить модератору
 Re: Хранение файлов в базе данных  [new]
Timon
Member

Откуда: Dushanbe TJK
Сообщений: 2688
ilya_sid
Timon
Dirty
ессно последний вариант

Почему? Обоснуйте пожалуйста.


место....время.....деньги....

Место. Файл в БД занимает столько же места сколько и на диске отдельно

Время. Файл хранящийся в БД (в поле типа IMAGE), будет храниться отдельно от страниц с данными, такчто на запросы это никак не влияет.

Деньги, непонял, о чем речь.

и 4-е
автор
мне нужно в базе хранить файлы "Word" возможно даже с таблицами и диаграммами
Для поиска текста внутри файла можно воспользоваться Full-Text Search какталогом.

Так что Вы меня не убедили :(
23 июн 06, 12:47    [2805991]     Ответить | Цитировать Сообщить модератору
 Re: Хранение файлов в базе данных  [new]
Dirty
Member

Откуда:
Сообщений: 118
а какой смысл впихивать файлы в таблицу БД? если бы это был XML документ я бы понял, но вордовские.. для файлов есть файловая система, зачем все в кучу сваливать..не понимаю
23 июн 06, 13:40    [2806346]     Ответить | Цитировать Сообщить модератору
 Re: Хранение файлов в базе данных  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 34985
Dirty
а какой смысл впихивать файлы в таблицу БД? если бы это был XML документ я бы понял, но вордовские.. для файлов есть файловая система, зачем все в кучу сваливать..не понимаю

Чтобы администрировать удобнее было, например, чтобы целостность была, например.
23 июн 06, 13:41    [2806360]     Ответить | Цитировать Сообщить модератору
 Re: Хранение файлов в базе данных  [new]
ilya_sid
Member

Откуда: Moscow
Сообщений: 331
Timon


Вообще хранить файлы в базе нет смысла, поскольку растет база, неудобно выгружать и загружать блобы, проще для файлов пользоваться файловой системой обмена и политики безопасности.
23 июн 06, 14:00    [2806489]     Ответить | Цитировать Сообщить модератору
 Re: Хранение файлов в базе данных  [new]
Dirty
Member

Откуда:
Сообщений: 118
при таблице с кучей строк, в которых записаны файлы, говорить о какой-то целостности не приходится..структуры данных нет - есть куча строк

другое дело если есть сервер с файлами, а в БД есть ссылки на них и их свойства
23 июн 06, 14:04    [2806515]     Ответить | Цитировать Сообщить модератору
 Re: Хранение файлов в базе данных  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 34985
поскольку растет база
И чем же это плохо?

неудобно выгружать и загружать блобы, проще для файлов пользоваться файловой системой обмена и политики безопасности.
Гораздо удобнее держать шару на хранилище файлов и администрировтать права на нее. К тому же будет налицо конкуренция за дисковые ресурсы между процессом скуля и системой, через которую пользователи будуть читать/писать файлы.
23 июн 06, 14:04    [2806517]     Ответить | Цитировать Сообщить модератору
 Re: Хранение файлов в базе данных  [new]
Dirty
Member

Откуда:
Сообщений: 118
администрирование - понятие растяжимое..
администрирование свалки - неблагодарное дело :)
23 июн 06, 14:05    [2806524]     Ответить | Цитировать Сообщить модератору
 Re: Хранение файлов в базе данных  [new]
Dirty
Member

Откуда:
Сообщений: 118
БД не задумывалась как хранение файлов - одного этого достаточно чтобы сделать выбор в пользу файлового сервера
23 июн 06, 14:06    [2806533]     Ответить | Цитировать Сообщить модератору
 Re: Хранение файлов в базе данных  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 34985
Dirty
при таблице с кучей строк, в которых записаны файлы, говорить о какой-то целостности не приходится..структуры данных нет - есть куча строк

другое дело если есть сервер с файлами, а в БД есть ссылки на них и их свойства

Простите, а кто мешает вместе с файлами в таблице хранить и свойства? А по поводу цеостности - кто помешает юзеру залезть на шару и грохнуть файлик, или поменять его? Или попробуйте восстановить базу и хранилище на определенный конретный момент времени, например.
23 июн 06, 14:10    [2806553]     Ответить | Цитировать Сообщить модератору
 Re: Хранение файлов в базе данных  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 34985
Dirty
БД не задумывалась как хранение файлов - одного этого достаточно чтобы сделать выбор в пользу файлового сервера

Правильно, а BLOB'ы в субд задумывались исключительно для того, чтобы в них не хранить файлы.
23 июн 06, 14:12    [2806572]     Ответить | Цитировать Сообщить модератору
 Re: Хранение файлов в базе данных  [new]
VladislavVV
Member

Откуда:
Сообщений: 994
Гавриленко Сергей Алексеевич
Dirty
при таблице с кучей строк, в которых записаны файлы, говорить о какой-то целостности не приходится..структуры данных нет - есть куча строк

другое дело если есть сервер с файлами, а в БД есть ссылки на них и их свойства

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


Немного не согласен...

Имхо, хранить файлы удобнее отдельно. Права на шару можно вообще не давать, можно эту шару вообще и не делать, а работать с файлами через клиента. Если настроить бэкап базы, например, раз в сутки, а бэкап папки с документами - раз в 2е суток то можно сэкономить и место под бэкапом и время бэкапа именно SQL базы...
23 июн 06, 14:35    [2806729]     Ответить | Цитировать Сообщить модератору
 Re: Хранение файлов в базе данных  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 34985
VladislavVV
Права на шару можно вообще не давать, можно эту шару вообще и не делать, а работать с файлами через клиента.

Это как это? Либо мы можем читать файл, либо нет, клиентом или эксплорером - не важно. Можно еще, конечно, скуль поднапрячь, чтобы он с диска читал и выдавал блобами, или написать свой сервер приложений, чтобы файлик по ссылке выдавал опред. клиенту в опред. формате ...

VladislavVV
Имхо, хранить файлы удобнее отдельно. Права на шару можно вообще не давать, можно эту шару вообще и не делать, а работать с файлами через клиента. Если настроить бэкап базы, например, раз в сутки, а бэкап папки с документами - раз в 2е суток то можно сэкономить и место под бэкапом и время бэкапа именно SQL базы...

Если не ставить во главу угла согласованность базы и файлового хранилища, на любой момент времени или вообще, то да, можно.
23 июн 06, 14:40    [2806775]     Ответить | Цитировать Сообщить модератору
 Re: Хранение файлов в базе данных  [new]
Glory
Member

Откуда:
Сообщений: 104764
http://www.sql.ru/forum/actualthread.aspx?tid=20216
23 июн 06, 14:43    [2806795]     Ответить | Цитировать Сообщить модератору
 Re: Хранение файлов в базе данных  [new]
MGR
Member

Откуда:
Сообщений: 535
Я лично считаю, что основной недостаток хранения файлов в базе - сложности с бекапами. Потому как бекап становится большой, долго делается. А файловый бекап можно делать инкрементным.
Если я в день добавляю/изменяю 100 файлов, зачем мне при бекапе тащить ещё 10 000, которые были до этого? Достаточно скопировать эти 100.
23 июн 06, 14:55    [2806894]     Ответить | Цитировать Сообщить модератору
 Re: Хранение файлов в базе данных  [new]
0bsid
Member

Откуда: ☭ РФ
Сообщений: 21368
Гавриленко Сергей Алексеевич
Dirty
при таблице с кучей строк, в которых записаны файлы, говорить о какой-то целостности не приходится..структуры данных нет - есть куча строк

другое дело если есть сервер с файлами, а в БД есть ссылки на них и их свойства

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

а если этих файлов несколько миллионов?...
23 июн 06, 14:59    [2806917]     Ответить | Цитировать Сообщить модератору
 Re: Хранение файлов в базе данных  [new]
MSSQLUral
Member

Откуда:
Сообщений: 418
Сам MS рекомендует файлы до 1МБ хранить в БД, более на винте
23 июн 06, 15:02    [2806941]     Ответить | Цитировать Сообщить модератору
 Re: Хранение файлов в базе данных  [new]
MSSQLUral
Member

Откуда:
Сообщений: 418
Идеальный вариант хранить и сам файл и путь на него, тогда при обращении к файлу можно его выдернуть с винта, а если файл удалили, повредили, то открывать его из БД!
23 июн 06, 15:04    [2806955]     Ответить | Цитировать Сообщить модератору
 Re: Хранение файлов в базе данных  [new]
VladislavVV
Member

Откуда:
Сообщений: 994
MSSQLUral
Идеальный вариант хранить и сам файл и путь на него, тогда при обращении к файлу можно его выдернуть с винта, а если файл удалили, повредили, то открывать его из БД!


но место на винте не безгранично !
что мешает дать запрет на удаление файла
23 июн 06, 15:18    [2807027]     Ответить | Цитировать Сообщить модератору
 Re: Хранение файлов в базе данных  [new]
Lepsik
Member

Откуда: glubinka
Сообщений: 4133
MSSQLUral
Сам MS рекомендует файлы до 1МБ хранить в БД, более на винте


приведите ссылку на рекомендацию пожалуйста.

самая большая база в мире в Беркли университете (больше теробайта размером) - хранилище файлов
23 июн 06, 17:32    [2808010]     Ответить | Цитировать Сообщить модератору
 Re: Хранение файлов в базе данных  [new]
vma_mnt
Member

Откуда: Новокузнецк
Сообщений: 599
Однозначно хранить в базе.

А если еще создать к ним (в базе же) систематизатор, то файловая система и рядом не валялась
24 июн 06, 16:10    [2809557]     Ответить | Цитировать Сообщить модератору
 Re: Хранение файлов в базе данных  [new]
squid
Member

Откуда: LA
Сообщений: 515
Использую хранение ссылок на файлы. Система эксплуатируется около 3х лет.
Много реализовал доработок чтобы многие файловые операции можно было выполнять из клиента.
За это время единственный, серъезный и неустранимый недостаток такого подхода - потеря файла (вкл перенос в др место).
И даже при таком подходе сумел реализовать синхронизацию файлов.... ;)
24 июн 06, 16:20    [2809564]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить