|
|
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
Goffmaniscrafmо какой ссылочной целостности идет речь, не могли бы вы уточнить? Есть запись пути к файлу, а файла нет на диске (а-ля блоб пустой)? Все очень просто, 1. если файла нет на диске - то и не должно быть записи пути к файлу. 2. если файл есть на диске - то в БД обязательно должна существовать на него ссылка это не целостность. п.2 ,к тому же, не несет никакой угрозы, кроме занятого места на диске, которое вы сами определили как "ничто". К тому же, легко устраняется периодическими процедурами чистки, если уж совсем плохо. Но на практике получаются единицы на десятки тысяч. Чтобы не случалось п.1, то нужно просто транзакцию организовывать в правильном порядке, начиная с записи файла и заканчивая записью его метки. Вы правильно отметили, все очень просто. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2009, 12:49 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
igor250973Элементарно: в таблице езь запись о пути к файлу, а самого файла нет - кто-то его удалил. И этот кто-то, не обязательно человек, это может быть ваше же приложение, поскольку действия по удалению файла и удалению записи из базы осуществляются различными механизмами, которые ну никак нереально осуществить в рамках одной транзакции. Т.е. ваше приложение удалило файл, а потом вдруг р-р-раз - сбой, и запись в таблице оказалась неудалённой, и что тогда? начнем с человека, который непонятно что делал в хранилище и ковырял руками файлы. Закончим каким-то приложением, которое от балды грохает файлы. О чем здесь речь? Вроде в начале топика сказали: не курсовая . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2009, 12:53 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
> Это возможно если есть сервер приложений. Упс. А другие варианты я не рассматривал. Обсуждаемое файловое хранилище нет смысла проектировать отдельно, для простых задач достаточно ftp серверов. А вот в составе более сложной системы хранилище - абсолютно легитимная компонента. Причем, файлы в нем можно хранить как с контролем версий, так и без. Т. е. изначально имеем два варианта управления файлами, причем, каждый из которых может быть реализован более, чем одним способом. Imho ни о каком хранении файлов в базе данных речь изначально не идет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2009, 12:55 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
iscrafmВроде в начале топика сказали: не курсовая .Наоборот, именно курсовик. А вы тут развели про бэкап сферических терабайтов в вакууме... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2009, 12:57 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
igor250973То же самое - запись удалили, приложение вырубилось (к примеру вместе с компом), файл остался неудалённым. Единственный выход - вести свой журнал своих транзакционных действий. А это уже и есть изобретательство велосипеда. Вы вообще сталкивались с такими задачами? Топик можно закрывать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2009, 12:59 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
miksoftiscrafmВроде в начале топика сказали: не курсовая .Наоборот, именно курсовик. А вы тут развели про бэкап сферических терабайтов в вакууме... сорри, опечатка. Про автора уже забыли давно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2009, 13:01 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
iscrafm это не целостность. Как это, а что же по вашему есть ссылочная целостность? iscrafm п.2 ,к тому же, не несет никакой угрозы, кроме занятого места на диске, которое вы сами определили как "ничто". К тому же, легко устраняется периодическими процедурами чистки, если уж совсем плохо. Но на практике получаются единицы на десятки тысяч. Чтобы не случалось п.1, то нужно просто транзакцию организовывать в правильном порядке, начиная с записи файла и заканчивая записью его метки. Вы правильно отметили, все очень просто. Хранение файлов отдельно от данных не сулит никакой катастрофы, как вы верно заметили, при правильной организации транзакций. Но как вы сами отметили, эти транзакции нужно организовывать разработчику самостоятельно. Если разработчик не видит здесь никакой проблемы - он организовывает файлы на FS. Если разработчик хочет передоверить эту работу СУБД - он пишет файлы в блобы В принципе это было сказано уже давно igor250973 Если насрать на такую вещь как целостность данных то храни в файлах, если нет - то в блобах ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2009, 13:11 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
тут никакие журналы нафиг не нужны В БД есть табличка, идентичная таблица в которой будет храниться список файлов Есть периодическая задача на кроне, которая делает следующее 1) Из БД вытаскивается список фотографий 2) Из ФС вытаскивается список файлов, записывает его в буферную табличку 3) Из буферной таблички удаляет все фотки, которые есть в БД 4) Удаляем все файлы, имена которых есть в буферной табличке 5) Трункатим буферную табличку Задача периодическая Какие проблемы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2009, 13:11 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
> Наоборот, именно курсовик. Вот именно для учебных работ важна правильная реализация. Для коммерческой разработки все просто: кривые руки - бедный и голодный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2009, 13:18 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
to Goffman Хватит кормить троллей. Пусть делают свои неуклюжие поделки как хотят и чем хотят. Студенты-недоучки раздувающие щёки - беда отечественного IT. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2009, 13:34 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
igor250973, еще раз влезете с тупыми комментариями, будете иметь удовольствие прочесть оценку Вашей квалификации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2009, 13:45 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
igor250973, вы бродите по топикам с какой целью? Пытались поумничать в теме про 1С ничего в ней не понимая - опустили. Пошли дальше? Займитесь уже делом! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2009, 13:58 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
igor250973Хватит кормить троллей. Пусть делают свои неуклюжие поделки как хотят и чем хотят.Студенты-недоучки раздувающие щёки - беда отечественного IT. Может расскажите как хранить в базе файлы, которые еще нужно и редактировать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2009, 14:25 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
Guest000Может расскажите ...Легко. Загружаете блоб на клиента. Сохраняете во временный файл. Правите. Закидываете обратно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2009, 14:28 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
Ниче тут развели)) не думал что так все пойдет... вот конкретная задача которую мне надо решить... 1. БД будет в интернете 2. доступ должен быть ограничен + удобный интерфейс)) поэтому файловая система отпадает 3. на обеъект не более 8 картинок 4. записей об объектах не более 100000 прочитав все, склоняюсь к BLOB полям... это проще для администрироания и надежнее для сохранения целостности БД а по поводу объемов... думаю можно реализовать ограничение на размер фото ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2009, 14:36 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
Anton BНиче тут развели)) не думал что так все пойдет... вот конкретная задача которую мне надо решить... 1. БД будет в интернете 2. доступ должен быть ограничен + удобный интерфейс)) поэтому файловая система отпадает выводы непонятные совершенно. Выбор способа хранения никоим образом не определяет доступ или удобство интерфейса. Тем более в техзвенке, как в вашем случае. А в остальном конечно сами выбирайте. Поинтересуйтесь как устроены фотоархивы в интернете, для начала. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2009, 14:43 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
ну тот не только из-за 1. БД будет в интернете 2. доступ должен быть ограничен + удобный интерфейс)) поэтому файловая система отпадает а это проще для администрироания и надежнее для сохранения целостности БД ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2009, 14:46 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
Anton BНиче тут развели)) не думал что так все пойдет... А фигли тут думать? Сразу же предупредили:miksoftAnton Bвопрос только - как хранить фото... в каталогах? какие плюсы и минусы? впринципе это веб приложение, с безопастностью вроде как не должно быть... еще нашел что есть возможность хранить в BLOB полях... какие тут плюсы и минусы...Не провоцируйте людей на холивар. Сторонников как одного, так и другого способа тут много. Обсуждалось уже много раз. Вопрос ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2009, 14:53 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
... этот здесь обсуждается испокон века. :) И похоже однозначного ответа нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2009, 15:08 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
igor250973Николай1 Тогда надо делать наоборот. 1. Добавление. 1.1 Создаем запись в БД. 1.2 Создаем файл. 1.3 Если файл создать не удалось - откатываем транзакцию. Ну так и подумай что будет, если после записи БД, приложение по каким-то причинам грохнется, т.е. дальнейшая логика просто не будет выполнена. Запись будет, а вот файла - нет. То есть? Не умеем читать? Мы закрываем транзакцию только после того, как убедимся, что файл есть. Откуда проблемы? igor250973Николай1 2. Удаление. 2.1 Удаляем запись в БД. 2.2 Удаляем файл. 2.3 Если при удалении файла возникает сбой - откатываем транзакцию. То же самое - запись удалили, приложение вырубилось (к примеру вместе с компом), файл остался неудалённым. Единственный выход - вести свой журнал своих транзакционных действий. А это уже и есть изобретательство велосипеда. Аналогично пункту 1. Читаем внимательно. В обоих случаях есть вероятность не закончить транзакцию после создания файла, согласен. Но это не приведет ни к каким проблемам. У нас будет либо лишний (без записи в БД), либо удаленный (с записью в БД) файл. Ни к каким проблемам с отображением это приводить не должно. Удаление, кстати, можно делать двумя транзакциями. В первой - изменять статус записи, во второй - удалять запись и файл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2009, 16:51 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
Anton Bну тот не только из-за 1. БД будет в интернете 2. доступ должен быть ограничен + удобный интерфейс)) поэтому файловая система отпадает а это проще для администрироания и надежнее для сохранения целостности БД Проще для администрирования? Ну-ну... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2009, 16:57 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
Senya_LGuest000Может расскажите ...Легко. Загружаете блоб на клиента. Сохраняете во временный файл. Правите. Закидываете обратно. Вот и видно сразу, что никогда этого не делали ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2009, 17:11 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
Senya_LИ похоже однозначного ответа нет. есть... сохраняем изображение и в БД и на диске ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2009, 19:40 |
|
||
|
БД с фотографиями
|
|||
|---|---|---|---|
|
#18+
фошыздтут никакие журналы нафиг не нужны В БД есть табличка, идентичная таблица в которой будет храниться список файлов Есть периодическая задача на кроне, которая делает следующее 1) Из БД вытаскивается список фотографий 2) Из ФС вытаскивается список файлов, записывает его в буферную табличку 3) Из буферной таблички удаляет все фотки, которые есть в БД 4) Удаляем все файлы, имена которых есть в буферной табличке 5) Трункатим буферную табличку Задача периодическая Какие проблемы? Согласен полностью. Когда проектируется реальная БД с огромным объемом данных , необходимо не идеализировать СУБД и не пихать в BLOB все подряд! Реалии таковы, что отказоустойчивая БД при достижении определенного объема будет стоить нереальных денег. Для таких систем схема со сбором мусора просто необходима, а от несущественной целостности такой СУБД стоит отказаться. Странно слышать идеи типа "Завтра полетим жить на Марс" ;) В случае курсовика , если объем БД строго ограничен , и важна "мобильность" всей системы, конечно, предпочтительно хранить все в одной БД и не заморачиваться на администрирование распределенной системы файловых серверов. Вот заодно и поизучаете подводные камни работы с BLOBами, здесь это достаточно хорошо обсудили. Вот если бы вы делали сайт устаревшими средствами (из-за ограничений хостинга, например), то тогда файлы будут удобнее. Посему, заканчивайте уже полемику %) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.01.2009, 20:02 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=35757742&tid=1543273]: |
0ms |
get settings: |
7ms |
get forum list: |
16ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
195ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
70ms |
get tp. blocked users: |
1ms |
| others: | 290ms |
| total: | 593ms |

| 0 / 0 |
