|
v7: Хранение картинок, непосредственно в БД 1с 77 | ☑ | ||
---|---|---|---|---|
0
CepeLLlka
25.12.17
✎
13:58
|
Добрый день. Необходимо реализовать хранение изображений в БД на платформе 1С 77.
Погуглив понял что вариантов решения много, решил спросить старожилов и гуру, совета, каким инструментом лучше воспользоваться, чтобы более быстро и корректно это всё работало? |
|||
1
Злопчинский
25.12.17
✎
13:59
|
Вотипрям стопудово именно в базе? Снаружи не устроит?
|
|||
2
vde69
25.12.17
✎
14:10
|
binfile.dll
и учти, что в 7.7 ограничение на размер строк, более 4 метров не влезет |
|||
3
CepeLLlka
25.12.17
✎
14:12
|
(1)Не-а, надо именно в базе. Снаружи механизм есть, отработан, всё ок. Надо именно в базе, штатными средствами я так понял никак, поэтому вот и спрашиваю :)
|
|||
4
CepeLLlka
25.12.17
✎
14:14
|
(2)Спасибо, сейчас погуглим
|
|||
5
Базис
naïve
25.12.17
✎
14:47
|
Умные люди и в восьмёрке серверной часто снаружи держат, а ты семёрку хочешь ненужным нагрузить. На 90% задача неправильная.
|
|||
6
Aleksey
25.12.17
✎
14:52
|
(5) ну может они проблему синхронизации картинок при использовании урбд хотят решить
|
|||
7
ADirks
25.12.17
✎
14:56
|
Если нештатными, то можно использовать объект BinaryData (1С++). Например, как тут: http://www.1cpp.ru/forum/YaBB.pl?num=1280497111/5#5
|
|||
8
Базис
naïve
25.12.17
✎
14:56
|
Даже если и РИБ - он не один в распределёнке работает. В новом тыщелетии пора уже синхронизацию каталогов освоить.
|
|||
9
CepeLLlka
25.12.17
✎
14:59
|
(5)Большое спасибо, приму ваш комментарий во внимание. Очень рад, что вы проявили интерес к моей теме.
А вообще вот вам вопрос: В 1С БП 3.0, к документам в базе можно прикреплять различные файлы и хранятся они в БД, а не в каталоге БД. Решение хранить файлы в базе принимали разработчики конфигурации. Верно ли было их решение, и как вы считаете, почему они решили эту задачу хранения документов в базе именно таким способом? |
|||
10
D3O
25.12.17
✎
15:03
|
(9) во всех типовых, а не только в БП, есть возможность прикрепления файлов. а вот варианты размещения - в базе или... в томах на диске ))
так что, кто ССЗБ тот так и будет делать. |
|||
11
CepeLLlka
25.12.17
✎
15:11
|
(10)Да, нашёл такую настройку :) Виноват, принимаю :)
Постараюсь донести до заказчиков, что лучше бы таки хранить не в базе, спасибо :) |
|||
12
Базис
naïve
25.12.17
✎
15:22
|
(9) Тут совершенно верно ответили в (10), кроме того - было немало случаев, когда разработчики типовых принимали (или получали) решение, забивающее на надёжность и удобство поддержки и эксплуатации. Так что воспринимать их поступки как подходящие для фикси-админов БД - необоснованный оптимизм.
|
|||
13
Aleksey
25.12.17
✎
15:29
|
(11) Даже более не только на внешних томах но даже можно хранить прикрепленные файлы на яндекс диске
|
|||
14
vde69
25.12.17
✎
15:50
|
мое ЛИЧНОЕ мнение по поводу хранения картинок в базе
если рост базы из-за картинок прогнозируем и устраивает на 5 лет вперед - то предпочтительно хранить в базе (например стоит ограничение 300кб на 1 файл, и файлов в день добавляется около сотни) а вот если рост базы НЕ ПРОГНОЗИРУЕТСЯ - тогда только во внешнем хранилище |
|||
15
Сияющий в темноте
25.12.17
✎
16:54
|
семерошная база-это каталог,создайте в нем подкаталог images,а в нем пишите файлы картинок,вместо имени указывая код справочника,в котоом уже в базе будут жить все данные о картинке(наименование и разрешение)
|
|||
16
CepeLLlka
25.12.17
✎
17:12
|
(15)А при выгрузке/загрузке всё сохранится? :)
|
|||
17
vde69
25.12.17
✎
17:12
|
(16) нет
|
|||
18
vde69
25.12.17
✎
17:13
|
(15) и оставить их доступными для шифровальщиков :)
|
|||
19
CepeLLlka
25.12.17
✎
17:14
|
(18)Так файлы БД тоже никак не защищены от этого :)
|
|||
20
Вафель
25.12.17
✎
17:16
|
(18) Архивы картинок однако тоже нужно делать
|
|||
21
vde69
25.12.17
✎
17:18
|
(20) я буду шифровать по 10 файлов в день, через сколько времени ты поймешь, что в твоем бекапе больше половины картинок восстановить нельзя?
|
|||
22
vde69
25.12.17
✎
17:18
|
(19) для SQL варианта - защищены
|
|||
23
Вафель
25.12.17
✎
17:19
|
(21) Ты только 1 бэкап делаешь?
|
|||
24
CepeLLlka
25.12.17
✎
17:21
|
В плане SQL, да, норм тема ваще. Работа через посредника с базой считай, ты его только спрашиваешь, а он уже сам читает базу и отвечает тебе.
|
|||
25
vde69
25.12.17
✎
17:22
|
(23) я про то и говорю, если портить по чуть чуть - ты заметишь только через несколько месяцев...
по этому хранение всего вместе в едином виде куда более безопасно чем кусками |
|||
26
vcv
25.12.17
✎
19:41
|
Смотря, что за файлы, смотря какое количество...
Чем больше файлов и чем они меньше, тем выгоднее их хранить в базе. Я перевёл внешние файлы в базу, когда количество файлов размером порядка 5-10 килобайт стало измеряться сотнями тысяч. Сканы размером сотни килобайт остались внешними. |
|||
27
Сияющий в темноте
25.12.17
✎
21:08
|
Файлы картинок обычно не маленькие,так что в базе им будет тесно.
опять же,бекап можно делать только измененных и добавленных |
|||
28
Z1
25.12.17
✎
21:35
|
(0) Делал и как 2 и как 7
2 это скорее всего мой объект ну или у меня такой же. Преимущество 2 храниться в документе или в справочнике и передается по УРБД Преимущество 7 более грамотное решение. Если картинок много и большой размер то делай как 7 и заведи отдельную sql бд и храни все там ( со ссылкой на iddoc ( это индекс ) вроде все |
|||
29
Z1
25.12.17
✎
21:39
|
(15) Когда будет картинок более 50 000 тормозить будет по черному. Минус этого решения что на хвосты файлов
много места теряется и нет никакой логической целостности такого подхода. но если файлов будет до 50 000 и надо очень быстро развернуть то только в этом случае так надо делать |
|||
30
VladZ
26.12.17
✎
04:17
|
Мое мнение: задача изначально неправильная. Ибо нефиг хранить в базе всякий лишний хлам.
(9) Это всего лишь пример того, как можно сделать. "Можно делать" и "нужно делать" - это разные вещи. Простой пример: можно ковыряться в ухе отверткой, но лучше так не делать. |
|||
31
Aleksey
26.12.17
✎
04:43
|
(16) сохраниться
|
|||
32
VladZ
26.12.17
✎
05:20
|
(15) Я бы не стал привязываться к коду. Код может измениться. Есть внутренний идентификатор объекта. Он неизменен. Вот к нему можно привязаться. Т.е. полный путь для файла будет: Константа.КаталогХраненияФайлов \ ИдентификаторОбъектаВБазе \ имяФайла.
|
|||
33
Aleksey
26.12.17
✎
05:27
|
(32) если базы "разные" например обмен по modу, то и id разные. короче нет универсального совета, нужно по месту смотреть
|
|||
34
Z1
26.12.17
✎
08:21
|
(30) У нас сертификаты ( их изображения ) привызаны к прихбн.
для этого и был сделан bfile где то в 2001-2002 году. И как ты будешь решать такую задачу при условии что база УРБД распределеная. |
|||
35
nicesc
26.12.17
✎
08:39
|
Картинки можно хранить на яндекс диске или т.п. сервисе. Бесплатные объемы около 30Гб (более чем достаточно). На точках так же ставится клиент, всё само синхронизируется. У меня так настроено у пары клиентов.
|
|||
36
Aleksey
26.12.17
✎
08:46
|
(35) не всякий окажется ставить сомнительный авнософт на сервере.
Сами юзаем дроббокс. Для домашнего использования - классная вещь, но на сервере который работает 24/7 постоянные косяки с обновлением |
|||
37
Z1
26.12.17
✎
08:47
|
(35)в 20001 году этого не было.
Что будешь делать если интернет в филиале пропадет дня на три-четыре ? |
|||
38
nicesc
26.12.17
✎
10:14
|
(36) Ставить или не ставить это конечно субъективно. У меня работает пару лет. Есть нюансы, но они решаемы.
(37) Если интернета нет, то и обмен не будет работать. Какие тут обходные пути? Отправлять курьера с флэшкой? |
|||
39
Сияющий в темноте
26.12.17
✎
10:36
|
Если кому-то мешает много файлов в директории,то можно или по папкам раскладывать или обьединять несколько файлов в один,но если у вас нтфс,то там каталог в виде индексированного дерева и на скорость работы количество файлов сильно влиять не должно
|
|||
41
aka AMIGO
26.12.17
✎
10:53
|
У нас инфа по номенклатуре, в т.ч. картинки, хранятся на одном из хардов серверной.
Ёмкость 73Гб. Доступ к БД - Терминальный, 4 филиала в разных городах. Так что все видят одно и то-же. В Справочнике "Товары" показывается фото. Хранение (и показ) организованы через константу - "Постоянная часть пути к файлам", папка типа I:/RTFM В папке содержатся подпапки с именами = коду Товара (ну, Номенклатуры, если так понятнее ТиС-овцам). В подпапках с кодами товаров содержится любая инфа, в основном это файлы с сертификатами *.pdf и фото, если оно нужно. Т.о. в инете ничего не хранится, ибо что в инет попало - стало чужим.. Это на считая отрубов от инета. В Справочнике есть реквизит "НазваниеПапки", в нём - полный путь к картинке. Если реквизит не пустой - в карточке товара показывается картинка/фото. Заполнение реквизита - по нажатию кнопки "Выбрать". Ниже - кн удалить фото. https://i.paste.pics/97842675c0725d8192e08b2997f7e17f.png Это я к тому, что вариантов много, все индивидуальны, в функции предпочтений предприятия. Облако? - За ради Бога!.. |
|||
42
aka AMIGO
26.12.17
✎
10:56
|
||||
43
Z1
26.12.17
✎
11:39
|
(38) В УРБД работает передали сертификат один раз и все работает.
Т.е. клиент пришел и просит сертификат за 01.07.2017 нет интернета ничего дать не сможешь в моем случае для выдачи переданного в филиал сертификата интернет не нужен |
|||
44
Z1
26.12.17
✎
11:41
|
(39) Можешь поверить влияет и сильно. не зависит фат или нтфс
но хотите идти таким путем то идите. опять же при большом количестве файл сбой по диску и получишь непредсказуемое состояние в этих файлах. sql гарантирует целостность данных. насколько важна целостность зависит от задачи. |
|||
45
aka AMIGO
26.12.17
✎
12:15
|
(44) Количество папок у нас - огромно, и при непосредственном просмотре тормозиииит.. Это - да, не отнять. Но непосредственно на этом диске делать нечего, всё организовано обработками.
Но на работу БД не влияет, 9 лет с лишним менеджеров радуют фотки в карточках товара :) |
|||
46
Kigo_Kigo
26.12.17
✎
12:31
|
Если использовать УРБД, то есть такая программка УРБД мастер, у меня обменя через нее настроены, так вот там можно в выгрузки включить дополнительно файлы и каталоги, настрока - что только новые или новые и измененые, при загрузке- указать куда его класть, швыряйте свои фотки из каталога сколько хотите
|
|||
47
Z1
26.12.17
✎
13:59
|
(46) Ну может такой вариант и имеет право на жизнь при небольшом количестве филиалов и документов.
При больших объемах не уследишь за рассинхранизацией таких далнных.Здесь также разные механизмы разрешения колизий а значит данные могут разъехаться. У меня сертификаты хранятся в самом документе что гарантирует соответсвие документа и самого сертификата(картинки сертификата) |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |