Хранилище двоичных данных
Приложения могут хранить файлы документов, изображения, видео и т.д. Такие данные называются двоичными данными.
Особенность двоичных данных заключается в том, что они, как правило, имеют большой размер, что может влиять на производительность приложения. По этой причине «1С:Исполнитель» не хранит двоичные данные в тех же таблицах базы данных, что и остальные реквизиты. Для хранения двоичных данных «Исполнитель» использует специальные хранилища, которые должны быть заранее настроены администратором сервера. Непосредственно в реквизите хранится только ссылка на двоичные данные в этих хранилищах.
Хранилища двоичных данных
Сервер поддерживает два типа хранилищ:
- Файловое — данные хранятся в локальном или сетевом каталоге на диске;
- S3 — данные хранятся в сервисе, совместимом с Amazon S3, например:
- Yandex Object Storage;
- VK Cloud Solutions Storage;
- MinIO — локальный S3-сервер.
Сервер для каждого приложения стандартно создает одно локальное файловое хранилище двоичных данных. Для оптимизации ресурсов можно добавлять к серверу дополнительные хранилища и подключать их к приложениям.
Чтобы облегчить просмотр всех хранилищ, в списке Инфраструктура ⟶ Объектные хранилища все стандартные файловые хранилища, созданные «1С:Исполнителем» для каждого приложения, отображаются в виде одной обобщенной строки.
Рекомендации по развертыванию
Для промышленной эксплуатации можно выбирать как файловые, так и облачные хранилища. Критерии выбора здесь следующие:
- Готовы ли вы доверить двоичные данные облакам?
- Да — используйте облачное S3-хранилище;
- Нет — используйте файловое хранилище или локальное S3-хранилище на другом компьютере. Устанавливать S3-хранилище на тот же компьютер, на котором развернут сервер, не выгодно. Оно будет работать медленнее, чем файловое.
- Готовы ли вы поддерживать у себя инфраструктуру, достаточную для хранения всех двоичных данных?
- Да — используйте файловое хранилище;
- Нет — используйте облачное S3-хранилище.
- Используете ли вы несколько серверов?
- Да — используйте облачное S3-хранилище или локальное S3-хранилище на отдельн ом компьютере. Тогда двоичные данные всех приложений с разных серверов будут находиться в одном хранилище;
- Нет — используйте файловое хранилище.
Правила использования хранилища и свойства данных
Администратор для каждого хранилища описывает набор правил. Разработчик в своих алгоритмах загрузки двоичных данных задает свойства загружаемых данных. «1С:Исполнитель» помещает двоичные данные в то хранилище, правилам которого удовлетворяют свойства двоичных данных (подробнее).
В процессе эксплуатации сервера администратор может менять набор хранилищ, может изменять их правила. После этого он может выполнить реорганизацию двоичных данных (вручную или по расписанию), при которой «Исп олнитель» заново сопоставит свойства данных и правила хранилищ и переместит экземпляры двоичных данных в оптимальные хранилища.
Правила по умолчанию и правила при подключении хранилища
Правила использования хранилища можно задать двумя способами:
- «по умолчанию» для всего хранилища;
- при подключении хранилища к приложению.
Если вы задаете правила по умолчанию, то впоследствии изменить их уже нельзя. При подключении хранилища к любому приложению будут действовать эти правила.
Если вы не задаете правила по умолчанию, то при каждом подключении этого хранилища к тому или иному приложению нужно будет задать правила его использования. Эти правила будут действ овать только для данного приложения. У другого приложения, к которому подключено это хранилище, могут быть другие правила.
Первый вариант удобен в том случае, когда администратор панели управления хочет ограничить администраторов приложений в настройках. Например, есть «дорогое» хранилище S3, для важных данных и картинки там хранить не выгодно. Тогда администратор панели управления сразу настраивает правила по умолчанию для этого хранилища и администратор приложения не будет думать о его настройке и у него не будет такой возможности. Он сможет только подключить это хранилище к своим приложениям.
Доступность хранилища
Администраторам приложений доступны все хранилища, подключенные к серверу. Если администратор панели управления хочет скрыть хранилище от администраторов приложений, он может сделать его недоступным.