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