|
|
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
бд на MSSQLServer2000 приложение на C# какие есть идеи по организации БД с фотографиями строительных объектов? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2009, 09:54 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
да... саму БД я сам сделаю... вопрос только - как хранить фото... в каталогах? какие плюсы и минусы? впринципе это веб приложение, с безопастностью вроде как не должно быть... еще нашел что есть возможность хранить в BLOB полях... какие тут плюсы и минусы... ни разу не сталкивался с такой задачей ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2009, 10:06 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
Anton Bвопрос только - как хранить фото... в каталогах? какие плюсы и минусы? впринципе это веб приложение, с безопастностью вроде как не должно быть... еще нашел что есть возможность хранить в BLOB полях... какие тут плюсы и минусы...Не провоцируйте людей на холивар. Сторонников как одного, так и другого способа тут много. Обсуждалось уже много раз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2009, 10:12 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
Anton Bда... саму БД я сам сделаю... вопрос только - как хранить фото... в каталогах? какие плюсы и минусы? впринципе это веб приложение, с безопастностью вроде как не должно быть... еще нашел что есть возможность хранить в BLOB полях... какие тут плюсы и минусы... ни разу не сталкивался с такой задачей Если насрать на такую вещь как целостность данных то храни в файлах, если нет - то в блобах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2009, 14:56 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
> Если насрать на такую вещь как целостность данных то храни в файлах, если нет - то в блобах Дружище, расскажите скорей, что такое "целостность данных" по отношению к фотографиям. Автору: хранить файлы в базе данных следует тогда, когда СУБД делает это компактнее, чем файловая система. Впрочем, с выходом ext4 и этот критерий будет не актуальным. Для всех остальных случаев место хранения файлов (любых, не только графических) - файловая система. Те, кто советуют хранить файлы в базе данных, просто не знают, что такое файловые хранилища, каких размеров они бывают и как управляются. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2009, 18:34 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
guest_20040621> Если насрать на такую вещь как целостность данных то храни в файлах, если нет - то в блобах Дружище, расскажите скорей, что такое "целостность данных" по отношению к фотографиям. Это значит, что в таблице БД ссылка на одно имя файла, а имя файла было изменено. Каково? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2009, 18:46 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
Nafguest_20040621> Если насрать на такую вещь как целостность данных то храни в файлах, если нет - то в блобах Дружище, расскажите скорей, что такое "целостность данных" по отношению к фотографиям. Это значит, что в таблице БД ссылка на одно имя файла, а имя файла было изменено. Каково? кем, по какому праву и зачем? начать нежно с этого. А закончить можно тем, что приведенная вами ситуация = замене изображения в блобе. И так в цикле ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2009, 18:48 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
Веб-приложение, в большинстве случаев, будет гораздо быстрее отдавать картинки из файлов. При этом свойствами файловой же системы и веб-сервера давать дату/время модификации, content-type и прочие полезности без лишнего программизма. Да и сопровождать (резервное копирование, реогрганизация томов, ДФС и т.д.) файлы проще в виде файловой системы а не в виде одной огромной секциии БД. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2009, 19:14 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
Существует несколько известных решений Этой задачки, коллега. Изначально (до SQL 2005) У нас она была решена простым линкованием. В системной (установочной) табличке храните полную директорию Вашего фаилового фотохранилища ну что то типа Код: plaintext 1. 2. 3. 4. 5. 6. Код: plaintext Код: plaintext :\\yournetserver\yourshare\images\Ленина1Фото1.jpeg Таковым было решение в SQL 2000. В SQL 2005 было введено BLOB непосредственно в табличку - но на отдельной фаиловой группе. В 2008 Мы планируем сделать всё на стриме. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2009, 19:18 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
iscrafm, Naf наверно имел в виду немного другую ситуацию, когда в БД имеется ссылка на файл из файл-сервера. Далее во время очередной транакции, имя файла в БД меняется, но на ФС по причине какой то коллизии обновиться не успевает. остается 1. мертвая ссылка в базе данных 2. никому не нужный файл на ФС. И если при хранении в блобах эту ссылочную целостность обеспечивает СУБД, то при хранении файлов на файл-сервере, ссылочную целостность придется обеспечивать программисту вместе с админами серверов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2009, 19:23 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
А в какой типичной оперативно-рабочей ситуации может потребоваться изменение имени файла в базе риэлтерских экспозиций? Особенно, в случае, если размещение и именование файлов спрятано в бизнес-логику и выполняется без участия человека. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2009, 19:27 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
QА в какой типичной оперативно-рабочей ситуации может потребоваться изменение имени файла ... Вы не поверите Коллега! Типичная ситуация - не хватило места на сервере.... Начали перенос на новый сервер... Ну и так далее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2009, 19:32 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
QА в какой типичной оперативно-рабочей ситуации может потребоваться изменение имени файла в базе риэлтерских экспозиций? ) Даже если никогда не потребуется, ссылочную целостность все равно надо обеспечивать. Или думаете нет? :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2009, 19:37 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
Mr MarmeladQА в какой типичной оперативно-рабочей ситуации может потребоваться изменение имени файла ... Вы не поверите Коллега! Типичная ситуация - не хватило места на сервере.... Начали перенос на новый сервер... Ну и так далее Ну.. у нас в таком случае менялась глобальная настройка (путь) т.н. "секции файлопомойки, в которую сваливать новые файлы". Хотя там не картинки были, но суть та же. Это, соответственно, не требует эксклюзивного доступа к гигантским блокам ресурсов, что повлекло бы остановку сервиса. GoffmanQА в какой типичной оперативно-рабочей ситуации может потребоваться изменение имени файла в базе риэлтерских экспозиций? ) Даже если никогда не потребуется, ссылочную целостность все равно надо обеспечивать. Или думаете нет? :) В самом общем случае -- надо. :) Но когда красота мешает функциональности, приходится искать компромисс. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2009, 19:48 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
QВ самом общем случае -- надо. :) Но когда красота мешает функциональности, приходится искать компромисс. :) Тут дело не в красоте а в надежности. да и с чего вы взяли, что обеспечение ссылочной целостности как то мешает функциональности? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2009, 20:02 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
В этом легко убедиться: сделайте тестовую базу с BLOB, забейте ее коллекцией картинок этак 50000 шт и 10 Гб, и сравните pages/sec с теми же картинками на файловой системе с даже одноуровневой иерархией каталогов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2009, 20:11 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
Проверять не буду, верю вам на слово )) Но при хранении файлов на на FS нужно обеспечивать ссылочную целостность с записями БД, или вы считаете это не обязательно? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2009, 20:16 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
Да, для этого где-то в бизнес логике должен сидеть рУками сделанный (следует отметить, довольно простой и надежный, в полном соотвествии с принципом KISS) код, определяющий место хранения файла и его имя. В этом коде есть только одна critical операция -- добавление новой картинки в хранилище. Удаление может быть сделано на уровне записи в БД и дать сбой на файловой операции, и это не страшно, т.к., веб-пользователю подвисшие файлы поровну, он их все равно не увидит. При особом желании их можно периодически чистить. Изменения файлов вообще не бывает (реализуется через добавление+удаление). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2009, 20:30 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
> Naf наверно имел в виду немного другую ситуацию, когда в БД имеется ссылка на файл из файл-сервера. Если бы он имел это в виду, то так бы и написал. > Далее во время очередной транакции, имя файла в БД меняется, но на ФС по причине какой то коллизии > обновиться не успевает. Вы вообще понимаете, о чем говорите? Если есть файловый сервер с непосредственным доступом, то единственное, для чего может понадобиться база данных - индексирование его содержимого. И в базе данных будет лежать то, что наковыряли кривыми ручками юзеры. А если есть приложение для управления файлами, то никакого непосредственно доступа к файлам у юзеров нет и быть не может. В последнем случае вообще удобно иметь суррогатные имена файлов. > И если при хранении в блобах эту ссылочную целостность обеспечивает СУБД, Мне повторить критерий хранения файлов в базе данных или таки Вы его самостоятельно прочтете? Нет никакой необходимости хранить файлы в базе данных за исключением описанного в первом сообщении случая. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2009, 20:54 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
Q, правильно, об этом и я говорил, либо храним в блобах и СЦ обеспечивается СУБД либо храним на FS - тогда СЦ обеспечиваем сами Файловая система - конечно более оптимизирована для ввода-вывода файлов, чем СУБД. Но в большинстве программ, мне думается, нет нужды для пользователя выкачивать единовременно более 1-5 картинок, и разница в производительности будет незаметна. Хотя очень многое зависит от конкретных условий... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2009, 20:55 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
guest_20040621 Если бы он имел это в виду, то так бы и написал. он так и написал ))) > Далее во время очередной транакции, имя файла в БД меняется, но на ФС по причине какой то коллизии > обновиться не успевает. guest_20040621 Вы вообще понимаете, о чем говорите? Если есть файловый сервер с непосредственным доступом, то единственное, для чего может понадобиться ... etc Где я сказал про непосредственный доступ? guest_20040621 Мне повторить критерий хранения файлов в базе данных или таки Вы его самостоятельно прочтете? Нет никакой необходимости хранить файлы в базе данных за исключением описанного в первом сообщении случая. Вы имеете в виду компактность размещения байтов? Я лично это вообще не считаю за серьезный критерий, ибо это копейки. Гораздо более серьезным подходом я считаю обеспечение СЦ - так как это критерий надежности системы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.01.2009, 21:05 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
Goffman Гораздо более серьезным подходом я считаю обеспечение СЦ - так как это критерий надежности системы. о какой ссылочной целостности идет речь, не могли бы вы уточнить? Есть запись пути к файлу, а файла нет на диске (а-ля блоб пустой)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2009, 01:23 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
> он так и написал ))) Читать нужно то, что написано, а не между строк. > Где я сказал про непосредственный доступ? А кому придет в голову руками менять имена файлов, можете сказать? > Вы имеете в виду компактность размещения байтов? Плюс оверхед, плюс геморрой и оверхед с бэкапом. Вы представляете себе базу данных терабайт этак на несколько? На самом деле ничего необычного, типичная домашняя файлопомойка. А теперь посчитайте стоимость файлового сервера такого же объема и сравните со стоимостью железки, которая будет обслуживать эту базу данных (плюс стоимость резервного копирования и восстановления). > Я лично это вообще не считаю за серьезный критерий, ибо это копейки. Уважаемый дон представляет себе стоимость отказоустойчивых решений? Или языком потрепать пришел? > Гораздо более серьезным подходом я считаю обеспечение СЦ - так как это критерий надежности системы. Я читал и более глубокомысленные, и более глупые обоснования кривых рук, так что не удивили. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2009, 02:06 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
iscrafmо какой ссылочной целостности идет речь, не могли бы вы уточнить? Есть запись пути к файлу, а файла нет на диске (а-ля блоб пустой)? Все очень просто, 1. если файла нет на диске - то и не должно быть записи пути к файлу. 2. если файл есть на диске - то в БД обязательно должна существовать на него ссылка Иначе рано или поздно будет свалка ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2009, 06:12 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=35755887&tid=1543273]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
167ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
| others: | 280ms |
| total: | 534ms |

| 0 / 0 |
