Администрирование · 14 мин
Что такое СУБД в 1С и какую выбрать для базы
Что такое СУБД в 1С, чем файловый режим отличается от клиент-серверного, какие СУБД поддерживает платформа и как выбрать подходящий вариант для базы.
СУБД — система управления базами данных, то есть программный слой, который хранит, обрабатывает и выдаёт данные информационной базы 1С. Платформа 1С:Предприятие сама по себе не хранит данные «внутри себя»: она обращается к СУБД — встроенной (файловый режим) или внешней (клиент-серверный режим). От того, какая СУБД используется, зависят скорость работы, допустимое число пользователей, устойчивость к сбоям и возможности резервного копирования.
Для небольшой компании с 1–5 пользователями вопрос СУБД часто вообще не встаёт: база работает в файловом режиме, где роль СУБД выполняет встроенный механизм платформы. Но при росте числа пользователей, объёма документов и требований к бесперебойности файловый режим становится узким местом, и базу переводят на полноценную СУБД — чаще всего PostgreSQL или Microsoft SQL Server.
Понимание того, как устроено взаимодействие 1С и СУБД, нужно не только системному администратору. Бухгалтеру и руководителю это помогает осознанно подходить к вопросам производительности, резервного копирования и стоимости лицензий, а разработчику — писать запросы, которые не будут «класть» сервер при росте базы.
Что такое СУБД и какое место она занимает в архитектуре 1С
СУБД (система управления базами данных) — это отдельное программное обеспечение, которое отвечает за хранение данных на диске, выполнение запросов, управление транзакциями и разграничение доступа. В контексте 1С СУБД — это «хранилище», а платформа 1С:Предприятие — «посредник», который переводит действия пользователя (провести документ, сформировать отчёт) в запросы к СУБД.
Архитектура выстраивается так: пользователь работает в клиентском приложении (тонкий или толстый клиент), клиент обращается к платформе, платформа формирует запросы на встроенном языке 1С, а механизм СУБД преобразует их в SQL-запросы к конкретной базе. Разработчик в 1С, как правило, не пишет SQL напрямую — платформа делает это за него, что и объясняет, почему одна и та же конфигурация может работать на разных СУБД без переписывания кода.
Важно понимать: данные в базе 1С хранятся не в виде привычных «таблиц документов», а в структуре, которую платформа создаёт и контролирует сама. Прямое изменение данных средствами СУБД (запросами UPDATE или DELETE в обход платформы) разрушает эту структуру и приводит к потере работоспособности базы.
Файловый и клиент-серверный режимы: в чём разница
В файловом режиме вся база — это один файл с расширением 1Cv8.1CD, лежащий на локальном диске или в сетевой папке. Встроенный механизм платформы сам выполняет функции СУБД: читает и пишет данные, управляет блокировками. Отдельное серверное ПО не требуется, настройка минимальна — достаточно указать путь к файлу при добавлении базы в список.
В клиент-серверном режиме данные хранит внешняя СУБД на отдельном сервере, а между клиентом и СУБД работает сервер 1С:Предприятия. Такая трёхзвенная архитектура снимает ограничения файлового режима: СУБД эффективно обрабатывает параллельные запросы десятков и сотен пользователей, поддерживает регламентные операции обслуживания и промышленные средства резервного копирования.
| Параметр | Файловый режим | Клиент-серверный режим |
|---|---|---|
| Роль СУБД | Встроенный механизм платформы | Внешняя СУБД (PostgreSQL, MS SQL и др.) |
| Ориентировочное число пользователей | Единицы, обычно до 5–10 | Десятки и сотни |
| Устойчивость к сбоям | Низкая: обрыв связи может повредить файл | Высокая: транзакционность на стороне СУБД |
| Резервное копирование | Копирование файла, выгрузка в dt | Штатные средства СУБД, горячие копии |
| Затраты на инфраструктуру | Минимальные | Сервер, лицензии, администрирование |
Файловый режим при работе по сети особенно чувствителен к качеству локальной сети: разрыв соединения в момент записи — типичная причина повреждения файла базы. Клиент-серверный режим от этого защищён, потому что запись выполняет сама СУБД на сервере, а не клиентская машина через сетевую папку.
Сравнение вариантов
Подходит для 1–5 пользователей и небольших объёмов. Ограничение: риск повреждения файла при сбоях сети и замедление при росте базы.
Подходит при десятках пользователей, больших объёмах и требованиях к бесперебойности. Ограничение: нужны сервер, лицензии и администрирование СУБД.
Какие СУБД поддерживает платформа 1С
Платформа 1С:Предприятие 8.3 официально работает с несколькими СУБД. Перечень поддерживаемых версий зависит от версии самой платформы, поэтому перед развёртыванием стоит свериться с системными требованиями конкретного релиза — сочетание «версия платформы + версия СУБД» должно быть в списке поддерживаемых.
Основные варианты:
- PostgreSQL — свободная СУБД, для 1С используются специально подготовленные сборки. Оптимальна по соотношению цены и возможностей, но требует корректной настройки конфигурации сервера.
- Microsoft SQL Server — коммерческая СУБД с развитыми средствами администрирования. Частый выбор в организациях, где уже есть инфраструктура Microsoft и лицензии.
- Oracle Database — применяется в крупных внедрениях, где Oracle уже используется как корпоративный стандарт.
- IBM Db2 — встречается реже, обычно в организациях с существующим парком решений IBM.
На практике выбор чаще всего сводится к паре «PostgreSQL или MS SQL Server». PostgreSQL не требует покупки лицензий на СУБД, но настройка производительности (параметры памяти, автовакуума) ложится на администратора. MS SQL Server проще в сопровождении для тех, кто уже работает с экосистемой Microsoft, но лицензионная стоимость может быть существенной.
Как понять, что файлового режима уже недостаточно
Переход на клиент-серверную СУБД редко бывает преждевременным — чаще его затягивают. Есть набор наблюдаемых признаков, которые говорят, что файловый режим исчерпал себя и дальнейший рост будет сопровождаться сбоями и потерей времени пользователей.
- База заметно «тормозит» при одновременной работе нескольких пользователей: документы проводятся по несколько секунд, отчёты формируются минутами.
- Появляются ошибки блокировок и конфликты при параллельном вводе данных.
- База хотя бы раз «падала»: повреждение файла, восстановление из копии, потеря данных за часть дня.
- Размер файла базы вырос до десятков гигабайт, а регламентные операции (тестирование, реструктуризация) занимают часы.
- Число одновременно работающих пользователей превысило 5–10 и продолжает расти.
Отдельный сигнал — требования к доступности. Если остановка базы на несколько часов означает остановку продаж или сдачи отчётности, файловый режим с копированием файла «вручную» не обеспечивает нужного уровня защиты. Клиент-серверная СУБД позволяет настроить автоматические резервные копии по расписанию без остановки работы.
Файловый режим работает на пределе, планируйте переход
Проверьте нагрузку и блокировки — типичный симптом перегрузки файловой базы
Риск повторится; клиент-серверный режим устраняет эту причину
Регламентные операции в файловом режиме становятся непрактично долгими
Как перевести базу из файлового режима на клиент-серверную СУБД
Переход выполняется через механизм выгрузки и загрузки информационной базы. Платформа переносит данные целиком, поэтому конфигурацию дорабатывать не нужно — но процедура требует подготовки и обязательного резервного копирования до начала работ.
- 1Сделайте резервную копию файловой базы: скопируйте файл 1Cv8.1CD и дополнительно выполните выгрузку в файл .dt через конфигуратор.
- 2Установите и настройте выбранную СУБД и сервер 1С:Предприятия, проверьте соответствие версий требованиям платформы.
- 3В консоли кластера серверов 1С создайте новую пустую информационную базу, указав параметры подключения к СУБД.
- 4Откройте файловую базу в конфигураторе и выполните выгрузку в файл .dt (Администрирование — Выгрузить информационную базу).
- 5Откройте новую серверную базу в конфигураторе и загрузите файл .dt (Администрирование — Загрузить информационную базу).
- 6Проверьте работоспособность: вход пользователей, проведение документов, формирование ключевых отчётов, работу обменов и регламентных заданий.
Два момента, которые часто упускают. Первый — после загрузки нужно заново настроить регламентные и фоновые задания, а также проверить все внешние подключения: обмены с другими базами, интеграции с сайтом, банк-клиенты. Второй — пользователям нужно раздать новые параметры подключения, потому что старая ссылка на файловую базу ведёт в никуда, а работа «по старинке» в двух базах параллельно гарантированно приведёт к расхождению данных.
На время перехода запланируйте окно, когда пользователи не работают с базой. Для больших баз выгрузка и загрузка занимают заметное время, и прерывать процесс нельзя.
Обслуживание СУБД: что нужно делать регулярно
Клиент-серверная СУБД — не «поставил и забыл». Без регламентного обслуживания база постепенно деградирует: растут журналы, устаревает статистика, замедляются запросы. Минимальный набор регулярных операций зависит от СУБД, но общая логика одинакова.
- Резервное копирование — автоматическое, по расписанию, с периодической проверкой того, что копия реально восстанавливается. Копия, которую ни разу не разворачивали, нельзя считать рабочей.
- Обновление статистики и обслуживание индексов — помогает оптимизатору СУБД строить эффективные планы запросов.
- Контроль свободного места — переполнение диска с данными или журналом транзакций останавливает работу всей базы.
- Мониторинг блокировок и длительных запросов — позволяет заметить проблему до жалоб пользователей.
Для PostgreSQL критична настройка параметров памяти и автоматической очистки (autovacuum): значения по умолчанию рассчитаны на слабое оборудование и не подходят для рабочей базы 1С. Для MS SQL Server важны настройки модели восстановления и регламентные задания обслуживания. Конкретные значения параметров подбираются под объём базы и характеристики сервера — универсальных «правильных» цифр нет.
Частые ошибки и ограничения при работе с СУБД в 1С
Главное ограничение, о котором нужно помнить всем участникам: база 1С в СУБД — не самостоятельная реляционная база, а управляемое платформой хранилище. Подключаться к ней сторонними инструментами для чтения ещё допустимо (с осторожностью и пониманием структуры), но любая запись в обход платформы — прямой путь к рассогласованию данных.
Вторая группа ошибок связана с экономией на инфраструктуре: размещение СУБД и сервера 1С на перегруженной машине, использование медленных дисков под базу, отсутствие резервного сервера при жёстких требованиях к доступности. Производительность базы 1С сильно зависит от дисковой подсистемы — это один из тех случаев, где экономия на «железе» оборачивается ежедневными потерями времени всех пользователей.
Как проверить результат
Все пользователи подключаются к серверной базе, документы проводятся без ошибок
Часть пользователей работает в старой файловой копии — данные расходятся
Копии создаются по расписанию, тестовое восстановление проходит успешно
Копии не создаются или восстановление завершается ошибкой
Время операций сопоставимо или лучше, чем в файловом режиме
Серверная база медленнее файловой — вероятно, СУБД не настроена
Обмены, банк-клиенты и внешние сервисы работают с новой базой
Интеграции смотрят на старый путь или отключены
Что важно запомнить
СУБД в 1С — это слой хранения данных: встроенный в файловом режиме и внешний (PostgreSQL, MS SQL Server, Oracle, Db2) в клиент-серверном. Файловый режим подходит для нескольких пользователей, при росте нагрузки базу переводят на клиент-серверную СУБД через выгрузку и загрузку .dt. После перехода обязательны настройка СУБД, автоматическое резервное копирование и проверка восстановления. Прямая правка данных средствами СУБД недопустима.
Частые вопросы
Можно ли работать в 1С без отдельной СУБД?
Да. В файловом режиме платформа использует собственный встроенный механизм хранения, и устанавливать отдельную СУБД не нужно. Это штатный вариант для небольших баз с несколькими пользователями.
Какая СУБД лучше для 1С — PostgreSQL или MS SQL Server?
Универсального ответа нет. PostgreSQL не требует лицензионных платежей за СУБД, но нуждается в грамотной настройке. MS SQL Server проще в сопровождение для команд, уже работающих с продуктами Microsoft, но увеличивает стоимость владения. Оба варианта штатно поддерживаются платформой.
Потеряются ли данные при переходе с файлового режима на клиент-серверный?
При корректном переносе через выгрузку и загрузку файла .dt данные переносятся полностью, включая документы, справочники и настройки. Риск потери связан только с прерыванием процедуры или отсутствием резервной копии, поэтому копию делают до начала работ.
Можно ли подключиться к базе 1С напрямую через SQL для отчётов?
Технически чтение возможно, но структура таблиц, которую создаёт платформа, не предназначена для прямой работы и может меняться при обновлениях. Для отчётности правильнее использовать встроенные механизмы 1С, СКД или официальные способы интеграции, а не прямые запросы к таблицам.
Нужен ли отдельный администратор для клиент-серверной СУБД?
Для небольшой базы достаточно специалиста, совмещающего администрирование 1С и базовое обслуживание СУБД. Для крупных внедрений с высокими требованиями к доступности и производительности выделенный администратор баз данных оправдан.
Что делать, если файл базы 1Cv8.1CD повреждён?
Сначала восстановите базу из последней резервной копии. Если копии нет, используйте штатную утилиту проверки физической целостности файловой базы (chdbfl) и тестирование-исправление в конфигураторе, но результат не гарантирован. После восстановления стоит пересмотреть подход к резервному копированию и оценить переход на клиент-серверный режим.