При переходе на клиент-серверный вариант работы «1С:Предприятие» ИТ-специалисты и руководители проектов часто сталкиваются с вопросами лицензирования СУБД. Распространенное заблуждение гласит: если мы уже купили дорогой пакет клиентских лицензий 1С (например, на 500 рабочих мест), то доступ к базе данных для этих пользователей предоставляется автоматически. Рассмотрим подробно, почему это не так, какие юридические и технические требования предъявляет корпорация Microsoft, и как правильно рассчитать бюджет на лицензирование инфраструктуры.
Сервер приложений «1С:Предприятие» не содержит встроенной системы управления базами данных (СУБД) для серверного режима. Он выступает в роли посредника (транслятора) между клиентскими рабочими местами и сервером СУБД. В соответствии с лицензионными соглашениями Microsoft, любое прямое или косвенное обращение к MS SQL Server (даже если пользователь работает исключительно в интерфейсе 1С, а сервер 1С обращается к SQL) требует обязательного лицензирования. Этот принцип в терминологии Microsoft называется мультиплексированием. Использование технических средств объединения запросов не снижает количество требуемых клиентских лицензий СУБД.
Таким образом, при покупке 500 клиентских лицензий 1С вам обязательно потребуется приобрести лицензии на MS SQL Server, если в качестве СУБД выбран именно продукт от Microsoft. В противном случае использование системы будет нелегальным, что влечет за собой серьезные юридические и финансовые риски.
Проанализируем две доступные модели лицензирования СУБД и выясним, какая из них экономически выгодна для крупной инсталляции на 500 пользователей.
При этой схеме приобретается одна лицензия на сам сервер MS SQL Server, а также индивидуальные клиентские лицензии доступа — SQL CAL (Client Access License) — на каждого пользователя или на каждое устройство, подключающееся к системе.
Для 500 рабочих мест потребуется купить: 1 лицензию на сервер SQL + 500 клиентских лицензий SQL CAL. В долгосрочной перспективе для крупной компании это может оказаться внушительной суммой, сопоставимой или даже превышающей стоимость самих лицензий 1С.
В этой схеме количество подключающихся пользователей и устройств не ограничивается. Вместо этого лицензируется вычислительная мощность сервера, на котором развернут MS SQL Server.
Лицензии продаются пакетами на каждые 2 ядра (2-Core Pack). Существует правило минимального лицензирования: на один физический процессор (сокет) необходимо приобрести лицензии минимум на 4 ядра. При использовании виртуальных машин (ВМ) также требуется лицензировать не менее 4 виртуальных ядер (vCPU) на одну ВМ.
Рассмотрим ситуацию на конкретном примере. Предположим, у нас есть современный производительный сервер СУБД с двумя физическими процессорами по 12 ядер в каждом (суммарно 24 ядра). Выясним, какую схему лицензирования выгоднее применить:
При покупке лицензий MS SQL через фирму «1С» и ее партнеров пользователям предлагаются два варианта поставки:
Это специализированные лицензии СУБД, которые дают право использовать MS SQL Server исключительно для работы с базами данных «1С:Предприятие». Если на этом же сервере вы решите развернуть стороннюю базу данных (например, корпоративный сайт или CRM-систему стороннего разработчика), это будет нарушением лицензионного соглашения.
Преимущества: Они стоят примерно на 20–25% дешевле стандартных коммерческих лицензий Microsoft.
Ограничения: Для Runtime-версий, поставляемых 1С, отсутствует возможность официального даунгрейда (downgrade — перехода на более старые версии СУБД) в ряде стандартных программ лицензирования, а также отсутствует классический вариант приобретения «на ядро» — они поставляются только по модели «Сервер + Клиенты».
Дает право использовать СУБД для любых информационных систем без ограничений. Стоит дороже, но предоставляет максимальную свободу администрирования и доступна во всех вариантах поставки (включая поъядерное лицензирование).
При планировании крупной информационной системы на 1С:ERP (особенно если конфигурация доработана или переписана) крайне важно учитывать технические лимиты СУБД.
Версия MS SQL Server Standard имеет жесткое встроенное ограничение: она способна адресовать и использовать для буферного пула (Buffer Pool) не более 128 ГБ оперативной памяти на один экземпляр (Instance). Для базы данных 1С:ERP на 500 активно работающих пользователей этого объема ОЗУ будет катастрофически мало. Вся работа с временными таблицами и тяжелыми запросами будет упираться в дисковую подсистему, вызывая жесткие просадки производительности и зависания.
Для того чтобы задействовать на сервере СУБД, к примеру, 256 ГБ или 512 ГБ оперативной памяти, вам потребуется приобрести редакцию MS SQL Server Enterprise. В этой редакции нет ограничений по памяти, однако модель лицензирования Enterprise не поддерживает схему «Сервер + Клиенты». Она лицензируется исключительно по ядрам (Per Core), что делает общую стоимость лицензионного пакета MS SQL Enterprise для крупного сервера астрономической.
Если бюджет проекта ограничен, а требования к производительности высоки, отличной альтернативой коммерческой СУБД от Microsoft является использование систем на базе PostgreSQL.
Рассмотрим преимущества этого пути подробнее:
postgresql.conf), правильном распределении рабочих процессов сервера приложений 1С (настройка параметров rphost, ограничений памяти на процесс) производительность связки 1С + PostgreSQL практически не уступает MS SQL Server, а в некоторых сценариях (например, при интенсивной параллельной записи данных) показывает лучшие результаты.Подводя итог, при покупке 500 клиентских лицензий 1С выберите один из следующих путей обеспечения легальности и производительности СУБД: