Администрирование · 12 мин
Какой SQL-сервер лучше для 1С 8.3
Какой SQL-сервер лучше для 1С 8.3: MS SQL Server, PostgreSQL, Oracle или IBM Db2. Сравнение по стоимости, производительности и типичным сценариям работы.
Платформа 1С:Предприятие 8.3 в клиент-серверном режиме работает с четырьмя системами управления базами данных: Microsoft SQL Server, PostgreSQL (включая сборку Postgres Pro), Oracle Database и IBM Db2. На практике выбор почти всегда сводится к двум вариантам — MS SQL Server и PostgreSQL, поскольку Oracle и Db2 применяются в крупных организациях с уже существующей инфраструктурой и штатом администраторов этих СУБД.
Однозначного ответа «какой сервер лучше» нет: решение зависит от числа пользователей, бюджета на лицензии, квалификации администраторов и требований к отказоустойчивости. Для большинства российских организаций среднего размера оптимален выбор между MS SQL Server (проще в администрировании, лучше оптимизированы запросы платформы) и PostgreSQL (бесплатная лицензия, но требует более внимательной настройки).
Важно понимать, что платформа 1С формирует запросы к СУБД по-разному для разных диалектов SQL, и часть типовых конфигураций исторически тщательнее тестировалась под MS SQL Server. Это не делает PostgreSQL «плохим» вариантом, но означает, что при переходе на него важно провести нагрузочное тестирование именно вашей конфигурации.
Какие СУБД официально поддерживает платформа 1С 8.3
Платформа 1С:Предприятие 8.3 сертифицирована для работы с Microsoft SQL Server, PostgreSQL (в том числе Postgres Pro Standard и Enterprise), Oracle Database и IBM Db2. Перечень поддерживаемых версий каждой СУБД зависит от релиза платформы и публикуется в системных требованиях на портале 1С. Перед установкой всегда сверяйте версию вашей платформы с версией СУБД — несовместимые комбинации приводят к ошибкам при создании информационной базы.
Файловый режим работы (без СУБД) технически возможен, но подходит только для небольших баз с несколькими пользователями. При росте числа одновременно работающих пользователей примерно свыше 5–10 и объёма базы свыше нескольких гигабайт файловый режим становится узким местом: растут блокировки, замедляются проведение документов и формирование отчётов. Переход на клиент-серверную архитектуру в этом случае — вопрос времени.
MS SQL Server: когда это лучший выбор
Microsoft SQL Server — самый распространённый вариант для 1С 8.3, и на то есть практические причины. Типовые конфигурации (ERP, УТ, КА, ЗУП) в первую очередь тестируются и оптимизируются под этот диалект SQL. Планы запросов, которые формирует платформа, как правило, предсказуемы, а узкие места хорошо изучены и описаны в базе знаний партнёров.
Администрирование MS SQL Server проще для специалиста без глубокого опыта DBA: графический Management Studio, встроенные средства резервного копирования, понятная модель восстановления баз. Для типовых задач 1С достаточно базовых настроек: правильной модели восстановления, ограничения памяти сервера, настройки tempdb и регулярного обслуживания индексов.
Главный минус — стоимость лицензий. Коммерческие редакции (Standard, Enterprise) лицензируются по ядрам или по схеме «сервер + клиентские лицензии», и для крупных внедрений это заметная статья расходов. Бесплатная редакция Express имеет ограничения по объёму базы и используемой памяти, поэтому подходит только для небольших баз и тестовых сред.
PostgreSQL и Postgres Pro: экономия на лицензиях
PostgreSQL — основная бесплатная альтернатива. Для работы с 1С используется либо специально собранная версия с патчами от 1С, либо коммерческая сборка Postgres Pro, которая сертифицирована для работы с платформой и включает поддержку вендора. Вариант с Postgres Pro часто выбирают организации, которым нужна официальная техническая поддержка СУБД, но лицензии MS SQL не вписываются в бюджет.
Экономия на лицензиях реальна, но не бесплатна в эксплуатации. PostgreSQL требует более внимательной настройки под нагрузку 1С: параметров памяти (shared_buffers, work_mem), планировщика запросов, автовакуума. Без регулярного обслуживания (VACUUM, ANALYZE, переиндексация) производительность деградирует заметно быстрее, чем в MS SQL. Кроме того, часть запросов типовых конфигураций на PostgreSQL выполняется медленнее из-за особенностей оптимизатора — это решается обновлением платформы, настройкой или доработкой запросов.
Практический вывод: PostgreSQL оправдан, если в штате есть администратор, способный настроить и сопровождать эту СУБД, либо есть договор с партнёром на сопровождение. Ставить PostgreSQL «потому что бесплатно» без ресурса на администрирование — частая причина проблем с производительностью.
Oracle и IBM Db2: нишевые сценарии
Oracle Database и IBM Db2 поддерживаются платформой, но встречаются в связке с 1С редко. Их выбор почти всегда обусловлен внешними факторами: в организации уже есть лицензии, эксплуатация и штатные администраторы этих СУБД, а 1С становится ещё одной системой в существующем ландшафте.
Специально покупать Oracle или Db2 под 1С не имеет смысла: стоимость лицензий и сопровождения выше, чем у MS SQL, а преимуществ для типовых задач учёта это не даёт. Кроме того, найти специалистов по связке «1С + Oracle» или «1С + Db2» заметно сложнее, что повышает риски при инцидентах.
Сравнение вариантов
Оптимален для большинства внедрений: простое администрирование, лучшая оптимизация типовых конфигураций. Ограничение — стоимость лицензий.
Подходит при ограниченном бюджете и наличии компетентного администратора. Требует более тщательной настройки и обслуживания.
Оправдан только при существующей инфраструктуре Oracle в организации. Дорогое лицензирование и дефицит специалистов по связке с 1С.
Нишевый вариант для крупных предприятий с готовой эксплуатацией Db2. Покупать специально под 1С нецелесообразно.
Как выбрать под ваш сценарий
Начните с оценки четырёх факторов: число одновременно работающих пользователей, размер и темп роста базы, бюджет на лицензии СУБД и наличие компетенций по администрированию. Эти параметры определяют выбор сильнее, чем абстрактные сравнения производительности.
Для базы до 20–30 пользователей с умеренной нагрузкой разница между СУБД при грамотной настройке малозаметна, и решающим фактором становится стоимость владения. Для баз с сотнями пользователей и интенсивным документооборотом на первый план выходят предсказуемость планов запросов, качество инструментов диагностики и опыт администратора — здесь MS SQL Server обычно даёт меньше сюрпризов.
Как выбрать действие
Порядок развёртывания и проверки результата
Независимо от выбранной СУБД последовательность внедрения одинакова: установка СУБД, установка кластера серверов 1С, создание информационной базы через консоль кластера, загрузка данных, настройка обслуживания. Ошибки на этапе установки (неверные параметры сортировки, кодировка, неподдерживаемая версия СУБД) потом сложно исправить без пересоздания базы.
- 1Сверьте версию платформы 1С с перечнем поддерживаемых версий выбранной СУБД в системных требованиях.
- 2Установите СУБД на отдельный сервер или выделенную виртуальную машину; не совмещайте с кластером 1С при нагрузке выше минимальной.
- 3Установите сервер 1С:Предприятия и создайте информационную базу через консоль администрирования кластера.
- 4Загрузите данные (dt-выгрузку или начальную базу) и проверьте корректность открытия основных отчётов и документов.
- 5Настройте регламентное обслуживание: резервное копирование, обновление статистики, обслуживание индексов, для PostgreSQL — автовакуум.
- 6Проведите нагрузочную проверку: типовые операции (проведение документов, закрытие месяца, тяжёлые отчёты) при реальном числе пользователей.
После развёртывания обязательно проверьте базовые показатели работы. Время проведения типового документа, скорость формирования ключевых отчётов и отсутствие ошибок в журнале регистрации — минимальный набор контрольных точек. Для диагностики используйте технологический журнал платформы и штатные средства СУБД (планы запросов, динамические административные представления в MS SQL, pg_stat_statements в PostgreSQL).
Как проверить результат
Выполняется предсказуемо и без заметных пауз при штатной нагрузке
Время проведения растёт день ко дню при том же объёме данных
Отчёты формируются за приемлемое время, задания не конфликтуют
Отчёты зависают, в журнале регистрации ошибки взаимоблокировок
Бэкапы выполняются по расписанию, статистика и индексы обновляются
База растёт, а обслуживание не настроено — производительность деградирует
Нет повторяющихся ошибок соединения и таймаутов
Регулярные таймауты, deadlocks, ошибки превышения памяти
Типичные ошибки и риски
Самая дорогая ошибка — выбор СУБД без учёта сопровождения. Организация ставит PostgreSQL ради экономии, не имея специалиста, и через полгода получает базу без вакуума, с раздутыми таблицами и жалобами пользователей на «тормоза». Вторая типичная ошибка — размещение СУБД и сервера 1С на одной перегруженной виртуальной машине, где они конкурируют за память и дисковые ресурсы.
Отдельный блок рисков связан с резервным копированием. Выгрузка базы в dt через конфигуратор — не замена штатным бэкапам СУБД: для больших баз выгрузка занимает часы и не обеспечивает восстановление на произвольный момент времени. Настройте резервное копирование средствами СУБД (для MS SQL — полная модель восстановления с бэкапами журнала транзакций, если нужно точечное восстановление) и регулярно проверяйте восстановление на тестовом стенде.
FAQ
Можно ли сменить СУБД, если база уже работает?
Да. Типовой путь — выгрузка информационной базы в файл dt через конфигуратор и загрузка в новую базу на целевой СУБД. Для больших баз процесс занимает часы, поэтому миграцию планируют на нерабочее время и предварительно отрабатывают на копии. После загрузки обязательно проверяйте целостность данных и скорость ключевых операций.
Правда ли, что 1С работает быстрее на MS SQL Server?
Типовые конфигурации исторически тщательнее оптимизируются и тестируются под MS SQL Server, поэтому «из коробки» на нём меньше проблемных запросов. На грамотно настроенном PostgreSQL разница для большинства операций невелика, но отдельные отчёты и регламентные операции могут требовать дополнительной настройки или обновления платформы.
Достаточно ли SQL Server Express для рабочей базы?
Только для небольших баз с ограниченным числом пользователей. Редакция Express ограничивает размер базы, объём используемой памяти и число задействованных ядер. Если база активно растёт, упор в ограничение произойдёт внезапно — заранее оцените текущий размер и темп роста и заложите бюджет на переход на платную редакцию или PostgreSQL.
Нужен ли отдельный сервер под СУБД?
Для баз с заметной нагрузкой — да. СУБД и сервер 1С активно потребляют память и дисковые ресурсы; на одной машине они мешают друг другу. Минимальная схема для производительной работы — отдельный сервер (физический или виртуальный с гарантированными ресурсами) под СУБД с быстрой дисковой подсистемой.
Что выбрать для небольшой фирмы с 5–10 пользователями?
Часто достаточно файлового режима или SQL Server Express. Если планируется рост или уже есть администратор с опытом PostgreSQL, разумно сразу развернуть PostgreSQL — это снимет вопрос лицензий при масштабировании. Решение принимайте исходя из прогноза роста числа пользователей и объёма данных на ближайшие годы.
Что важно запомнить
Для большинства внедрений 1С 8.3 оптимален MS SQL Server, при ограниченном бюджете и наличии администратора — PostgreSQL или Postgres Pro. Oracle и Db2 оправданы только в существующей инфраструктуре. Выбор определяется числом пользователей, бюджетом и компетенциями сопровождения, а любая миграция требует резервной копии и нагрузочного теста.