powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / БД с фотографиями
25 сообщений из 84, страница 3 из 4
БД с фотографиями
    #35756983
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Goffmaniscrafmо какой ссылочной целостности идет речь, не могли бы вы уточнить? Есть запись пути к файлу, а файла нет на диске (а-ля блоб пустой)?
Все очень просто,
1. если файла нет на диске - то и не должно быть записи пути к файлу.
2. если файл есть на диске - то в БД обязательно должна существовать на него ссылка

это не целостность.
п.2 ,к тому же, не несет никакой угрозы, кроме занятого места на диске, которое вы сами определили как "ничто". К тому же, легко устраняется периодическими процедурами чистки, если уж совсем плохо. Но на практике получаются единицы на десятки тысяч.
Чтобы не случалось п.1, то нужно просто транзакцию организовывать в правильном порядке, начиная с записи файла и заканчивая записью его метки.

Вы правильно отметили, все очень просто.
...
Рейтинг: 0 / 0
БД с фотографиями
    #35756998
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
igor250973Элементарно: в таблице езь запись о пути к файлу, а самого файла нет - кто-то его удалил.
И этот кто-то, не обязательно человек, это может быть ваше же приложение, поскольку действия по удалению файла и удалению записи из базы осуществляются различными механизмами, которые ну никак нереально осуществить в рамках одной транзакции. Т.е. ваше приложение удалило файл, а потом вдруг р-р-раз - сбой, и запись в таблице оказалась неудалённой, и что тогда?
начнем с человека, который непонятно что делал в хранилище и ковырял руками файлы. Закончим каким-то приложением, которое от балды грохает файлы. О чем здесь речь? Вроде в начале топика сказали: не курсовая .
...
Рейтинг: 0 / 0
БД с фотографиями
    #35757004
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Это возможно если есть сервер приложений.

Упс. А другие варианты я не рассматривал.

Обсуждаемое файловое хранилище нет смысла проектировать отдельно, для простых задач достаточно ftp серверов. А вот в составе более сложной системы хранилище - абсолютно легитимная компонента. Причем, файлы в нем можно хранить как с контролем версий, так и без. Т. е. изначально имеем два варианта управления файлами, причем, каждый из которых может быть реализован более, чем одним способом. Imho ни о каком хранении файлов в базе данных речь изначально не идет.
...
Рейтинг: 0 / 0
БД с фотографиями
    #35757008
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafmВроде в начале топика сказали: не курсовая .Наоборот, именно курсовик.
А вы тут развели про бэкап сферических терабайтов в вакууме...
...
Рейтинг: 0 / 0
БД с фотографиями
    #35757015
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
igor250973То же самое - запись удалили, приложение вырубилось (к примеру вместе с компом), файл остался неудалённым.
Единственный выход - вести свой журнал своих транзакционных действий. А это уже и есть изобретательство велосипеда.
Вы вообще сталкивались с такими задачами?
Топик можно закрывать.
...
Рейтинг: 0 / 0
БД с фотографиями
    #35757022
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miksoftiscrafmВроде в начале топика сказали: не курсовая .Наоборот, именно курсовик.
А вы тут развели про бэкап сферических терабайтов в вакууме...
сорри, опечатка. Про автора уже забыли давно.
...
Рейтинг: 0 / 0
БД с фотографиями
    #35757054
Goffman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iscrafm
это не целостность.
Как это, а что же по вашему есть ссылочная целостность?


iscrafm
п.2 ,к тому же, не несет никакой угрозы, кроме занятого места на диске, которое вы сами определили как "ничто". К тому же, легко устраняется периодическими процедурами чистки, если уж совсем плохо. Но на практике получаются единицы на десятки тысяч.
Чтобы не случалось п.1, то нужно просто транзакцию организовывать в правильном порядке, начиная с записи файла и заканчивая записью его метки.

Вы правильно отметили, все очень просто.

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

Если разработчик не видит здесь никакой проблемы - он организовывает файлы на FS.
Если разработчик хочет передоверить эту работу СУБД - он пишет файлы в блобы

В принципе это было сказано уже давно
igor250973
Если насрать на такую вещь как целостность данных то храни в файлах, если нет - то в блобах
...
Рейтинг: 0 / 0
БД с фотографиями
    #35757057
фошызд
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
тут никакие журналы нафиг не нужны
В БД есть табличка, идентичная таблица в которой будет храниться список файлов
Есть периодическая задача на кроне, которая делает следующее
1) Из БД вытаскивается список фотографий
2) Из ФС вытаскивается список файлов, записывает его в буферную табличку
3) Из буферной таблички удаляет все фотки, которые есть в БД
4) Удаляем все файлы, имена которых есть в буферной табличке
5) Трункатим буферную табличку
Задача периодическая
Какие проблемы?
...
Рейтинг: 0 / 0
БД с фотографиями
    #35757082
guest_20040621
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Наоборот, именно курсовик.

Вот именно для учебных работ важна правильная реализация. Для коммерческой разработки все просто: кривые руки - бедный и голодный.
...
Рейтинг: 0 / 0
БД с фотографиями
    #35757144
igor250973
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
to Goffman

Хватит кормить троллей. Пусть делают свои неуклюжие поделки как хотят и чем хотят.
Студенты-недоучки раздувающие щёки - беда отечественного IT.
...
Рейтинг: 0 / 0
БД с фотографиями
    #35757173
guest_200406021
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
igor250973, еще раз влезете с тупыми комментариями, будете иметь удовольствие прочесть оценку Вашей квалификации.
...
Рейтинг: 0 / 0
БД с фотографиями
    #35757207
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
igor250973,

вы бродите по топикам с какой целью? Пытались поумничать в теме про 1С ничего в ней не понимая - опустили. Пошли дальше? Займитесь уже делом!
...
Рейтинг: 0 / 0
БД с фотографиями
    #35757261
Guest000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
igor250973Хватит кормить троллей. Пусть делают свои неуклюжие поделки как хотят и чем хотят.Студенты-недоучки раздувающие щёки - беда отечественного IT.
Может расскажите как хранить в базе файлы, которые еще нужно и редактировать.
...
Рейтинг: 0 / 0
БД с фотографиями
    #35757270
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Guest000Может расскажите ...Легко.
Загружаете блоб на клиента. Сохраняете во временный файл. Правите. Закидываете обратно.
...
Рейтинг: 0 / 0
БД с фотографиями
    #35757297
Anton B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ниче тут развели)) не думал что так все пойдет...
вот конкретная задача которую мне надо решить...

1. БД будет в интернете
2. доступ должен быть ограничен + удобный интерфейс)) поэтому файловая система отпадает
3. на обеъект не более 8 картинок
4. записей об объектах не более 100000

прочитав все, склоняюсь к BLOB полям... это проще для администрироания и надежнее для сохранения целостности БД
а по поводу объемов... думаю можно реализовать ограничение на размер фото
...
Рейтинг: 0 / 0
БД с фотографиями
    #35757322
Фотография iscrafm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anton BНиче тут развели)) не думал что так все пойдет...
вот конкретная задача которую мне надо решить...

1. БД будет в интернете
2. доступ должен быть ограничен + удобный интерфейс)) поэтому файловая система отпадает

выводы непонятные совершенно. Выбор способа хранения никоим образом не определяет доступ или удобство интерфейса. Тем более в техзвенке, как в вашем случае. А в остальном конечно сами выбирайте. Поинтересуйтесь как устроены фотоархивы в интернете, для начала.
...
Рейтинг: 0 / 0
БД с фотографиями
    #35757334
Anton B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ну тот не только из-за

1. БД будет в интернете
2. доступ должен быть ограничен + удобный интерфейс)) поэтому файловая система отпадает

а
это проще для администрироания и надежнее для сохранения целостности БД
...
Рейтинг: 0 / 0
БД с фотографиями
    #35757357
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anton BНиче тут развели)) не думал что так все пойдет...
А фигли тут думать? Сразу же предупредили:miksoftAnton Bвопрос только - как хранить фото...

в каталогах? какие плюсы и минусы? впринципе это веб приложение, с безопастностью вроде как не должно быть...
еще нашел что есть возможность хранить в BLOB полях... какие тут плюсы и минусы...Не провоцируйте людей на холивар. Сторонников как одного, так и другого способа тут много.
Обсуждалось уже много раз. Вопрос
...
Рейтинг: 0 / 0
БД с фотографиями
    #35757418
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
... этот здесь обсуждается испокон века. :)
И похоже однозначного ответа нет.
...
Рейтинг: 0 / 0
БД с фотографиями
    #35757723
Николай1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
igor250973Николай1
Тогда надо делать наоборот.

1. Добавление.
1.1 Создаем запись в БД.
1.2 Создаем файл.
1.3 Если файл создать не удалось - откатываем транзакцию.

Ну так и подумай что будет, если после записи БД, приложение по каким-то причинам грохнется, т.е. дальнейшая логика просто не будет выполнена. Запись будет, а вот файла - нет.

То есть? Не умеем читать? Мы закрываем транзакцию только после того, как убедимся, что файл есть. Откуда проблемы?

igor250973Николай1
2. Удаление.
2.1 Удаляем запись в БД.
2.2 Удаляем файл.
2.3 Если при удалении файла возникает сбой - откатываем транзакцию.
То же самое - запись удалили, приложение вырубилось (к примеру вместе с компом), файл остался неудалённым.
Единственный выход - вести свой журнал своих транзакционных действий. А это уже и есть изобретательство велосипеда.

Аналогично пункту 1. Читаем внимательно.
В обоих случаях есть вероятность не закончить транзакцию после создания файла, согласен.
Но это не приведет ни к каким проблемам. У нас будет либо лишний (без записи в БД), либо удаленный (с записью в БД) файл. Ни к каким проблемам с отображением это приводить не должно. Удаление, кстати, можно делать двумя транзакциями. В первой - изменять статус записи, во второй - удалять запись и файл.
...
Рейтинг: 0 / 0
БД с фотографиями
    #35757742
Николай1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Anton Bну тот не только из-за

1. БД будет в интернете
2. доступ должен быть ограничен + удобный интерфейс)) поэтому файловая система отпадает

а
это проще для администрироания и надежнее для сохранения целостности БД

Проще для администрирования?
Ну-ну...
...
Рейтинг: 0 / 0
БД с фотографиями
    #35757793
Guest000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senya_LGuest000Может расскажите ...Легко.
Загружаете блоб на клиента. Сохраняете во временный файл. Правите. Закидываете обратно.
Вот и видно сразу, что никогда этого не делали
...
Рейтинг: 0 / 0
БД с фотографиями
    #35758111
Фотография proposed amendment
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Senya_LИ похоже однозначного ответа нет.

есть...

сохраняем изображение и в БД и на диске
...
Рейтинг: 0 / 0
БД с фотографиями
    #35758139
vino
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
фошыздтут никакие журналы нафиг не нужны
В БД есть табличка, идентичная таблица в которой будет храниться список файлов
Есть периодическая задача на кроне, которая делает следующее
1) Из БД вытаскивается список фотографий
2) Из ФС вытаскивается список файлов, записывает его в буферную табличку
3) Из буферной таблички удаляет все фотки, которые есть в БД
4) Удаляем все файлы, имена которых есть в буферной табличке
5) Трункатим буферную табличку
Задача периодическая
Какие проблемы?

Согласен полностью.
Когда проектируется реальная БД с огромным объемом данных , необходимо не идеализировать СУБД и не пихать в BLOB все подряд! Реалии таковы, что отказоустойчивая БД при достижении определенного объема будет стоить нереальных денег. Для таких систем схема со сбором мусора просто необходима, а от несущественной целостности такой СУБД стоит отказаться. Странно слышать идеи типа "Завтра полетим жить на Марс" ;)

В случае курсовика , если объем БД строго ограничен , и важна "мобильность" всей системы, конечно, предпочтительно хранить все в одной БД и не заморачиваться на администрирование распределенной системы файловых серверов. Вот заодно и поизучаете подводные камни работы с BLOBами, здесь это достаточно хорошо обсудили. Вот если бы вы делали сайт устаревшими средствами (из-за ограничений хостинга, например), то тогда файлы будут удобнее.

Посему, заканчивайте уже полемику %)
...
Рейтинг: 0 / 0
БД с фотографиями
    #35758151
Senya_L
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ээх, робятушки ... Где ж вы все были, когда на меня этот игорек нападал по этой самой теме.
...
Рейтинг: 0 / 0
25 сообщений из 84, страница 3 из 4
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / БД с фотографиями
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]