|
О хранении картинок в блобах
|
|||
---|---|---|---|
#18+
fkthat hVostt, На самом деле, насколько я помню, в случае MSSQL filestreams блобы как раз и хранятся в виде отдельных файлов на диске, с той только разницей, что расположением этих файлов управляет не приложение, а сам MSSQL. А со стороны АПИ эти блобы просто видны как обычная сетевая папка. FILESTREAM, да. Конечно лучше, чем хранение в блобах. Но опять же, ради чего эти заморочки, если хранение файлов в файловой системе это абсолютно нативное решение, очень быстро и эффективно -- для работы с файлами используются функции ядра ОС, проще просто некуда, а также отделение хранения файлов от БД с данными повышает общую надежность системы. Основное правило у дба, любую лишнюю нагрузку, которую можно снять с БД -- нужно снять. Есть конечно спорные на мой взгляд правила про маленькие файлы до XX килобайт, которые типа эффективнее хранить в БД. Но ИМХО, бред это, на практике никакого выигрыша нет. В моей практике я его не видал. Но может в отдельных кейсах это работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2020, 15:41 |
|
О хранении картинок в блобах
|
|||
---|---|---|---|
#18+
[quot hVostt#22158599] fkthat Но опять же, ради чего эти заморочки Например, интегрированные с БД бекапы, безопасность и транзакции. Лучшая защита целостности в случае если кроме самого блоба на диске в БД хранятся связанные с ним данные (а обычно так оно и есть). ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2020, 17:40 |
|
О хранении картинок в блобах
|
|||
---|---|---|---|
#18+
>hVostt, сегодня, 15:41 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1325775&msg=22158599][22158599] >...Основное правило у дба, любую лишнюю нагрузку, которую можно снять с БД -- нужно снять… < Как Вы работаете с сущностью, часть информации которой находится в БД, а другая часть - в файловой системе. Где редактируется файл? Как реализуется UPDATE? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.06.2020, 19:22 |
|
О хранении картинок в блобах
|
|||
---|---|---|---|
#18+
ВМоисеев >hVostt, сегодня, 15:41 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1325775&msg=22158599][22158599] >...Основное правило у дба, любую лишнюю нагрузку, которую можно снять с БД -- нужно снять… < Как Вы работаете с сущностью, часть информации которой находится в БД, а другая часть - в файловой системе. Где редактируется файл? Как реализуется UPDATE? Э-э-э никак, т.к. сущности РМД в файле не хранятся. Файл это набор байтов, о структуре которого БД ничего не знает. Поэтому для БД что ссылка на файл в файловой системе, что BLOB, в некотором смысле одно и то же. В некоторых случаях, хранение ссылки может быть "понятнее" для БД, если есть значащая файловая иерархия. Грубо говоря индекс по ссылке будет чуть оптимальнее, чем по чистому BLOB'у. Делать же из БД систему контроля версий (это я про бекапы). Не самая лучшая идея. Т.к. для этого есть более удобные инструменты, например git. Которые дают гораздо больше возможностей, чем простые бекапы. Все это я говорю о файлах, для которых БД не может (в принципе) знать внутреннюю структуру. Если же мы говорим о xml и/или json типах, то там не все так однозначно. Но к теме данного топика не относиться. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2020, 07:26 |
|
О хранении картинок в блобах
|
|||
---|---|---|---|
#18+
ВМоисеев Как Вы работаете с сущностью, часть информации которой находится в БД, а другая часть - в файловой системе. С данными работают с помощью SQL, файлы сохраняют в файловой системе и затем считывают оттуда. ВМоисеев Где редактируется файл? Нигде, файл не редактируется. Если нужно обновить файл, загружается новый файл, а старый помечается как более не нужный. Периодически проводится очистка файлового хранилища от ненужных и старых файлов. ВМоисеев Как реализуется UPDATE? В этом нет смысла. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2020, 09:49 |
|
О хранении картинок в блобах
|
|||
---|---|---|---|
#18+
>mad_nazgul, сегодня, 07:26 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1325775&msg=22158772][22158772] >Э-э-э никак… < Э-э-э … 1. Сотрудник как сущность - очевидность. 2. Часть атрибутов хранится в базе (суррогатный ключ, ФИО, Дата рождения и т.п.) - очевидно. 3. Атрибут "Личное дело" - реальность. Но может хранится в файловой системы. 4. Атрибут "Личное дело" содержит информацию в формате MS Word. 5. Сущности "Сотрудник" не важно, что о ней известно базе данных или файловой системе. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2020, 09:50 |
|
О хранении картинок в блобах
|
|||
---|---|---|---|
#18+
>hVostt, сегодня, 09:49 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1325775&msg=22158831][22158831] >...В этом нет смысла. < Может быть и так. Но я рассуждаю несколько иначе. 1. Необходимые атрибуты сущности должны быть отражены в панельном гриде. 2. К необходимым полям относятся и информационные файлы. 3. см. слайд. Щелчок по полю "Файлы" строки конкретной сущности реализует загрузку панели выбора файлового документа. У меня файловый документ либо текст, либо слайд. "Личные данные" редактируются MS Word. Предварительно документ загружается из файлового сервера на локальный комп. По завершению документ может быть сохранен. Меня интересует последовательность шагов сохранения. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2020, 10:26 |
|
О хранении картинок в блобах
|
|||
---|---|---|---|
#18+
ВМоисеев . Меня интересует последовательность шагов сохранения. какая ещё последовательность - пишется новая версия файла, старые автоматически не удаляются ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2020, 13:32 |
|
О хранении картинок в блобах
|
|||
---|---|---|---|
#18+
>Изопропил, сегодня, 13:32 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1325775&msg=22159024][22159024] >какая ещё последовательность… < Многопользовательская среда, оптимистическая блокировка ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2020, 15:07 |
|
О хранении картинок в блобах
|
|||
---|---|---|---|
#18+
ВМоисеев Но я рассуждаю несколько иначе. А я то не рассуждаю, вполне конкретно говорю :) ВМоисеев 2. К необходимым полям относятся и информационные файлы. Никуда ваши файлы не делись. В БД нужно записать информацию о приложенных файлах. Речь шла о хранении содержимого файлов. ВМоисеев 3. см. слайд. К сожалению, ничего не понятно. ВМоисеев Щелчок по полю "Файлы" строки конкретной сущности реализует загрузку панели выбора файлового документа. У меня файловый документ либо текст, либо слайд. "Личные данные" редактируются MS Word. Предварительно документ загружается из файлового сервера на локальный комп. По завершению документ может быть сохранен. Меня интересует последовательность шагов сохранения. Присвоили файлу уникальный идентификатор, сохранили файл в хранилище, сохранили в БД атрибут, содержащий уникальный идентификатор. Всё. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2020, 15:11 |
|
О хранении картинок в блобах
|
|||
---|---|---|---|
#18+
ВМоисеев Многопользовательская среда, оптимистическая блокировка При чём тут ваша блокировка вообще? Вообще абсолютно наплевать какая блокировка, хоть оптимистичная, хоть либеральная, хоть космическая, хоть паранормальная.. Как это влияет на процесс? Зачем об этом говорить-то? :) ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2020, 15:12 |
|
О хранении картинок в блобах
|
|||
---|---|---|---|
#18+
hVostt Присвоили файлу уникальный идентификатор, сохранили файл в хранилище, сохранили в БД атрибут, содержащий уникальный идентификатор. Всё. Дровбек в том, что имеем в результате два отдельных хранилища, согласованность которых управляется только самим приложением. По известному закону рано или поздно с этим пойдут косяки. Разумеется, хранить блобы прямо в ФС будет всегда как минимум не медленнее, чем как-либо в БД, но, лично я, все же, изначально начал бы с БД, сделал бы нагрузочное тестирование, и только потом, если бы производительность не устраивала, то рассмотрел бы вариант с ФС. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2020, 16:16 |
|
О хранении картинок в блобах
|
|||
---|---|---|---|
#18+
fkthat Разумеется, хранить блобы прямо в ФС будет всегда как минимум не медленнее, чем как-либо в БД это с чего это не медленнее? каждый раз I/O диска дёргать. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2020, 17:22 |
|
О хранении картинок в блобах
|
|||
---|---|---|---|
#18+
fkthat Дровбек в том, что имеем в результате два отдельных хранилища, согласованность которых управляется только самим приложением. По известному закону рано или поздно с этим пойдут косяки. Разумеется, хранить блобы прямо в ФС будет всегда как минимум не медленнее, чем как-либо в БД, но, лично я, все же, изначально начал бы с БД, сделал бы нагрузочное тестирование, и только потом, если бы производительность не устраивала, то рассмотрел бы вариант с ФС. Нагрузочное тестирование мы проводили. Проводили и другие оценки. По всем параметрам без исключения выигрывают файлы в файловой системе. Единственная проблема, которая беспокоит самые лучшие умы человечества -- это ACID. Однако, нужно сделать всё конкретно через жопу, чтобы словить проблемы согласованности. Я с такими проблемами при работе с файлами не сталкивался. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2020, 18:10 |
|
О хранении картинок в блобах
|
|||
---|---|---|---|
#18+
fkthat Дровбек в том, что имеем в результате два отдельных хранилища, согласованность которых управляется только самим приложением. Согласованность может обеспечиваться диспетчером ресурсов ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2020, 18:10 |
|
О хранении картинок в блобах
|
|||
---|---|---|---|
#18+
>hVostt, сегодня, 15:12 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1325775&msg=22159117][22159117] >...Вообще абсолютно наплевать какая блокировка... < Это как посмотреть. Вася и Петя на локальных компьютерах, каждый на своём, редактируют экземпляры файла. Надо хранить результаты. Как? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2020, 18:24 |
|
О хранении картинок в блобах
|
|||
---|---|---|---|
#18+
ВМоисеев Это как посмотреть. Вася и Петя на локальных компьютерах, каждый на своём, редактируют экземпляры файла. Надо хранить результаты. Как? Сохранять обе версии файла, последняя версия будет того, кто последний сохранил. Никакой блокировки вообще, все счастливы и довольны, данные не потеряны, работа выполнена. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2020, 18:49 |
|
О хранении картинок в блобах
|
|||
---|---|---|---|
#18+
ВМоисеев Вася и Петя на локальных компьютерах, каждый на своём, редактируют экземпляры файла. Надо хранить результаты. Как? Двухфазный коммит ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2020, 18:57 |
|
О хранении картинок в блобах
|
|||
---|---|---|---|
#18+
Изопропил fkthat Дровбек в том, что имеем в результате два отдельных хранилища, согласованность которых управляется только самим приложением. Согласованность может обеспечиваться диспетчером ресурсов Чтобы работать с двумя сервисами из-под диспетчера ресурсов, типа MSDTC надо чтобы они оба его поддерживали. Файловая система этого сама по себе не делает. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2020, 19:29 |
|
О хранении картинок в блобах
|
|||
---|---|---|---|
#18+
Алексей Роза это с чего это не медленнее? каждый раз I/O диска дёргать. А БД что не с того же диска контент блоба читает? К тому же еще блобы хранимые прямо в БД при чтении очень быстро засрут весь кеш сиквела, поэтому, например, те же FILESTREAM используют не кеш сиквела, а кеш самой OS. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2020, 19:33 |
|
О хранении картинок в блобах
|
|||
---|---|---|---|
#18+
fkthat А БД что не с того же диска контент блоба читает? да, но она всё кеширует. т.е. второй запрос будет уже из памяти. конечно при большом кол-ве юзеров шанс, что оба прочитают одно и тоже - мал ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2020, 20:18 |
|
О хранении картинок в блобах
|
|||
---|---|---|---|
#18+
Алексей Роза да, но она всё кеширует. ФС тоже кеширует. И, как я уже писал - кешировать большие блобы в кеше сиквела это не очень хорошая идея ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2020, 21:55 |
|
О хранении картинок в блобах
|
|||
---|---|---|---|
#18+
>hVostt, сегодня, 18:49 https://www.sql.ru/forum/actualutils.aspx?action=gotomsg&tid=1325775&msg=22159221][22159221] >Сохранять обе версии файла, последняя версия будет того, кто последний сохранил. < Нет. Сохранена должна быть отредактированная копия оригинала файла, который находится на файловом сервере. Отредактированная копия становится оригиналом. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.06.2020, 23:45 |
|
О хранении картинок в блобах
|
|||
---|---|---|---|
#18+
fkthat Алексей Роза да, но она всё кеширует. ФС тоже кеширует. И, как я уже писал - кешировать большие блобы в кеше сиквела это не очень хорошая идея так зачем тогда фейсбук так сделал? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.06.2020, 00:33 |
|
|
start [/forum/topic.php?fid=32&msg=39974258&tid=1539849]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
146ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
64ms |
get tp. blocked users: |
1ms |
others: | 243ms |
total: | 499ms |
0 / 0 |