При подготовке каталога товаров для выгрузки на сайт перед специалистами часто встает архитектурный вопрос: стоит ли загружать в информационную базу 1С полноразмерные изображения, развернутые текстовые описания и многочисленные характеристики номенклатуры? В конфигурации 1С:Управление торговлей ред. 10.3, особенно работающей в файловом режиме, накопление бинарных данных влечет за собой серьезные технические риски. Рассмотрим подробно, как хранение медиафайлов влияет на работу системы, с какими ограничениями можно столкнуться и как правильно организовать архитектуру данных.
Рассмотрим ситуацию, когда база данных работает без клиент-серверного варианта (без SQL). В этом случае размер информационной базы критически ограничен архитектурой встроенного формата .1cd.
chdbfl.exe на больших объемах начинает работать нестабильно или завершается аварийно. Любой сбой питания при выгрузке крупного файла может привести к разрушению информационной базы.Проанализируем процесс интеграции базы 1С с сайтом на платформе Битрикс. Стандартный модуль обмена при выгрузке каталога формирует файлы в формате CommerceML и упаковывает изображения в ZIP-архивы.
Если в базе хранится множество несжатых изображений, возникают следующие сложности:
HTTP 502 Bad Gateway или HTTP 504 Gateway Timeout).Выясним, какие подходы позволяют сохранить высокую скорость работы 1С и при этом выгружать полную информацию о товарах на сайт.
Текстовые данные (развернутые описания, дополнительные реквизиты и характеристики) занимают незначительный объем памяти, поэтому их целесообразно хранить непосредственно в информационной базе в справочнике Номенклатура или в объектах категории ЗначенияСвойствОбъектов.
Для изображений оптимизируем схему хранения: вместо самих файлов сохраняем в 1С только относительные или абсолютные пути к файлам на сетевом диске (NAS). Поскольку в типовой конфигурации 1С:Управление торговлей 10.3 хранение файлов в томах на диске штатно не предусмотрено (в отличие от более новых конфигураций на управляемых формах), решение реализуется небольшой доработкой конфигурации. При выгрузке модуль обмена берет файл непосредственно с диска по указанному пути, не забивая табличную часть самой базы данных.
Наиболее эффективный подход для снижения нагрузки на 1С — вынести хранение медиаконтента полностью за пределы учетной системы:
Артикул) или уникальный идентификатор номенклатуры (GUID).Если менеджерам в 1С обязательно нужно видеть визуальное представление товара, организуем двухуровневое хранение:
Такой подход позволяет менеджерам комфортно работать с номенклатурой в программе, не приводя к лавинообразному росту размера файла .1cd.
Подведем итог: хранить полноразмерные графические файлы в файловой базе 1С:УТ 10.3 настоятельно не рекомендуется. Текстовые описания и характеристики следует оставлять в базе, а для картинок оптимально использовать хранение путей к файлам на диске, внешнее S3-хранилище либо сжатые миниатюры. При планировании масштабного каталога товаров с медиаконтентом также стоит рассмотреть перевод базы 1С на клиент-серверный режим (SQL).