На чём хранить базу 1С: сравнение СУБД и выбор под задачу

· 10 мин

Содержание

1С:Предприятие 8.3 работает в двух вариантах. Файловый хранит всю базу в одном файле 1Cv8.1CD и отдельной СУБД не требует. Клиент-серверный использует внешнюю СУБД: Microsoft SQL Server, PostgreSQL, IBM Db2 или Oracle Database. На практике выбор почти всегда стоит между тремя вариантами: файл, MS SQL или PostgreSQL.

Файловую базу берут, когда пользователей мало и нет сервера. MS SQL — когда есть Windows-инфраструктура и бюджет на лицензии. PostgreSQL — когда нужна бесплатная СУБД, Linux или требования импортозамещения. Db2 и Oracle встречаются редко, обычно там, где эта СУБД уже стоит в компании.

Файловый вариант: когда базе 1С не нужна отдельная СУБД

Файловая база — это каталог с файлом 1Cv8.1CD и служебными файлами. Движок данных встроен в саму платформу. Ставить и настраивать ничего не нужно: скопировали каталог, добавили базу в список — работаете.

✅ Плюсы:

  • 💰 бесплатно: нужны только клиентские лицензии 1С;
  • ⚡ быстрая установка и простое резервное копирование — копия каталога при закрытой базе;
  • 🧳 базу легко перенести на флешку или другой компьютер.

❌ Минусы:

  • 👥 при одновременной работе нескольких человек растут блокировки, тормоза начинаются при проведении документов и закрытии месяца;
  • 🌐 работа по сети через общую папку чувствительна к качеству сети, обрыв может повредить файл;
  • 📈 большой файл (десятки гигабайт) работает заметно медленнее, а проверка и восстановление занимают часы;
  • 🔧 нет механизмов СУБД: журнала транзакций, точечного восстановления на момент времени, распределения нагрузки.

Ориентир из практики: файловый вариант комфортен для 1–5 одновременных пользователей и базы до нескольких гигабайт. Жёсткого лимита на число пользователей нет, но после 5–10 человек, работающих одновременно, переход на клиент-сервер обычно окупается.

Файловую базу можно опубликовать на веб-сервере и работать через тонкий или веб-клиент. Это снимает проблему «общей папки по сети», но не снимает ограничения самого файлового движка.

MS SQL Server для 1С: когда его выбирают

Microsoft SQL Server — исторически самая распространённая СУБД для 1С. Большинство администраторов и консультантов знают её лучше всего, а платформа на ней ведёт себя предсказуемо без глубокой донастройки.

Что нужно для работы:

  • 🖥 сервер 1С:Предприятия (служба агента сервера) и лицензия на него;
  • 🗄 установленный SQL Server на Windows (SQL Server для Linux 1С тоже поддерживает, но встречается реже);
  • 🔑 лицензии на сам SQL Server — по ядрам или «сервер + клиентские лицензии».

Редакции:

РедакцияДля чего подходитОграничения
Expressтест, маленькая базаразмер одной базы до 10 ГБ, ограничение по памяти и ядрам
Standardрабочие базы малого и среднего бизнесаограничение по объёму используемой памяти и числу ядер
Enterpriseкрупные нагруженные системыбез существенных ограничений, самая дорогая

С 2022 года официально купить лицензии Microsoft в России сложно. Компании с действующими лицензиями продолжают работать, новые проекты всё чаще уходят на PostgreSQL.

Настройки, которые администратор делает сразу после установки:

  1. Задать параметр max server memory, чтобы SQL Server не забрал всю память у сервера 1С на той же машине.
  2. Выбрать модель восстановления. Simple — если хватает ежедневной полной копии. Full — только вместе с регулярными копиями журнала транзакций.
  3. Настроить план обслуживания: обновление статистики, реорганизацию индексов, резервное копирование.
  4. При создании базы из консоли кластера указать сопоставление Cyrillic_General_CI_AS (так же создаёт базу и сама 1С, если её не создавали вручную).

PostgreSQL в 1С: бесплатная СУБД с оговорками

PostgreSQL бесплатна, работает на Linux и Windows и входит в реестры для импортозамещения в сборке Postgres Pro. Для бюджетных организаций и госсектора это часто единственный реальный вариант.

Обычный PostgreSQL из репозитория дистрибутива для 1С не подходит. Платформе нужны дополнительные расширения (например, тип mchar и функции для временных таблиц). Используют одну из сборок:

  • 📦 PostgreSQL от фирмы «1С» — выкладывается вместе с дистрибутивами платформы для пользователей с подпиской ИТС;
  • 📦 Postgres Pro Standard или Enterprise — сборки компании Postgres Professional с поддержкой 1С.

Перед установкой сверьте версию: каждая версия платформы поддерживает определённые версии PostgreSQL. Список приводится в требованиях к платформе и в описании сборки.

Что важно в настройке:

  • ⚙️ параметры памяти (shared_buffers, work_mem, effective_cache_size) по умолчанию рассчитаны на слабую машину. Без их подбора под объём ОЗУ база работает в разы медленнее, чем могла бы;
  • 🌍 кластер баз создают с русской локалью, например ru_RU.UTF-8;
  • 🧹 нужен регулярный VACUUM и ANALYZE (автовакуум должен быть включён) и резервное копирование через pg_dump или физические копии.

PostgreSQL прощает меньше ошибок администрирования, чем MS SQL. Если в компании нет человека, который будет её настраивать и обслуживать, заложите бюджет на внешнего специалиста.

IBM Db2 и Oracle: редкие варианты для 1С

Платформа 8.3 поддерживает IBM Db2 и Oracle Database. Технически база 1С на них работает так же, как на MS SQL или PostgreSQL: структура таблиц создаётся платформой, запросы транслируются в SQL нужной СУБД.

Когда их выбирают:

  • 🏢 в компании уже есть Oracle или Db2 с лицензиями, командой DBA и регламентами;
  • 🔗 служба безопасности требует держать все данные на одной корпоративной СУБД.

Почему почти никто не выбирает их с нуля:

  • 💸 лицензии Oracle и Db2 дороже MS SQL, а покупка в России сейчас ещё сложнее;
  • 👨‍🔧 специалистов по 1С на этих СУБД мало, типовые советы по оптимизации написаны в основном для MS SQL и PostgreSQL;
  • 🧪 проблемы конкретной связки «платформа + СУБД» дольше ищутся и исправляются.

Если вы не обязаны использовать Db2 или Oracle по политике компании, берите MS SQL или PostgreSQL.

Производительность СУБД в 1С: что влияет сильнее выбора движка

Вопрос «какая СУБД быстрее для 1С» обычно задают, когда база уже тормозит. Разница между MS SQL и PostgreSQL на правильно настроенном сервере есть, но она меньше, чем разница между настроенным и ненастроенным сервером.

Сравнение по практическим критериям:

КритерийФайловаяMS SQL ServerPostgreSQL
Пользователей одновременно1–5, редко до 10десятки и сотнидесятки и сотни
Стоимость СУБД0лицензии Microsoft0 (Postgres Pro — платно)
ОС сервералюбая, где есть 1СWindows, реже LinuxLinux или Windows
Настройка «из коробки»не нужнаработает прилично сразутребует подбора параметров
Резервное копированиекопия каталога или .dtсредствами SQL, на момент времениpg_dump, физические копии
Типичная слабостьблокировки при многопользовательской работестоимость лицензийтяжёлые запросы без настройки

Что реально определяет скорость базы:

  1. 💾 Диски. SSD/NVMe под файлы данных и журнал дают больше, чем смена СУБД.
  2. 🧠 Память. База и индексы должны по возможности помещаться в ОЗУ СУБД.
  3. 🔁 Обслуживание. Устаревшая статистика — частая причина внезапно медленных отчётов.
  4. 🧱 Код конфигурации. Запросы в цикле и тяжёлые доработки замедлят любую СУБД.
  5. 🌐 Сеть между сервером 1С и СУБД. Лучше ставить их на одну машину или в одну быструю сеть.

Для быстрой оценки «железа» администраторы используют тест Гилёва — он показывает условные попугаи производительности однопоточной работы. Для сравнения СУБД надёжнее прогнать одни и те же операции на копии своей базы: закрытие месяца , перепроведение за период, тяжёлый отчёт.

Как выбрать базу данных для 1С: алгоритм по шагам

  1. Посчитайте одновременных пользователей, а не всех, у кого есть доступ. До 5 — файловый вариант, больше 10 — клиент-сервер, между ними решают объём и нагрузка.
  2. Оцените рост базы. Если за год база вырастет с 2 до 20 ГБ, проще сразу ставить СУБД, чем потом переезжать в спешке.
  3. Проверьте лицензии 1С. Для клиент-серверного варианта нужна лицензия на сервер 1С:Предприятия (ПРОФ или КОРП). Клиентские лицензии остаются те же.
  4. Определите ОС сервера. Только Linux — значит PostgreSQL. Windows с лицензиями SQL Server — можно MS SQL.
  5. Учтите требования к ПО. Госзаказчикам и компаниям с требованиями импортозамещения подходит Postgres Pro.
  6. Решите, кто будет обслуживать. Нет администратора — либо файловый вариант, либо договор на сопровождение сервера.
  7. Проверьте совместимость версий платформы 1С и выбранной СУБД до покупки и установки.
Какой у вас случай?

Как узнать, на какой СУБД работает база, и как её перенести

Самый быстрый способ — посмотреть строку подключения в окне запуска 1С. Выделите базу в списке: внизу окна показан путь.

  • File="C:\Bases\Buh" — файловая база;
  • Srvr="srv1c";Ref="buh" — клиент-серверная, база на сервере srv1c.

Для клиент-серверной базы тип СУБД виден в консоли администрирования серверов 1С: откройте кластер → «Информационные базы» → свойства нужной базы. Там указаны тип СУБД, сервер баз данных и имя базы в СУБД. В самой программе информация о подключении есть в окне «О программе» (значок с вопросом в правом верхнем углу).

Перенос между любыми вариантами делается через выгрузку в файл .dt:

  1. Запустите базу в Конфигураторе и выполните Администрирование → Выгрузить информационную базу.
  2. Создайте новую базу нужного типа: файловую — в окне запуска, клиент-серверную — в консоли кластера или при добавлении базы в список с флагом создания базы в СУБД.
  3. Откройте новую базу в Конфигураторе: Администрирование → Загрузить информационную базу, укажите файл .dt.
  4. Проверьте открытие базы в пользовательском режиме, работу обменов, регламентных заданий и лицензий.

Выгрузка .dt требует монопольного доступа: все пользователи должны выйти из базы. Загрузка .dt полностью заменяет данные в целевой базе — проверьте, что загружаете не поверх рабочей.

Так же переезжают с MS SQL на PostgreSQL: прямой конвертации средствами самих СУБД 1С не предусматривает, используется .dt. Для больших баз выгрузка и загрузка занимают часы, переезд планируют на выходные.

Ошибки при выборе и настройке СУБД для 1С

Диагностика: выберите симптом

Ещё две ошибки, которые дорого обходятся:

  • 🗃 Нет резервных копий средствами СУБД. Копия .dt раз в месяц — это не резервирование. Нужны ежедневные копии базы с проверкой восстановления.
  • 🧩 Сервер 1С и СУБД разнесены по медленной сети. Каждый запрос 1С — это много обращений к СУБД, сетевые задержки складываются в секунды.

Частые вопросы

Можно ли использовать SQL Server Express для рабочей базы 1С?
Можно, если база меньше 10 ГБ и пользователей немного. Ограничения по памяти и ядрам делают Express заметно медленнее Standard на нагрузке.
Нужна ли отдельная лицензия 1С для работы с PostgreSQL?
Отдельной лицензии на PostgreSQL от фирмы «1С» не требуется. Нужна лицензия на сервер 1С:Предприятия, как и для MS SQL.
Можно ли держать базы на разных СУБД в одном кластере 1С?
Да. Тип СУБД задаётся для каждой информационной базы отдельно, в одном кластере могут быть базы и на MS SQL, и на PostgreSQL.
Можно ли редактировать данные 1С напрямую SQL-запросами в СУБД?
Не стоит. Структура таблиц служебная, прямые изменения обходят логику платформы и могут испортить базу. Данные меняют только средствами 1С.
Работает ли 1С с MySQL или SQLite?
Нет. Платформа 1С:Предприятие 8.3 поддерживает только MS SQL Server, PostgreSQL, IBM Db2, Oracle Database и собственный файловый формат.