Где 1С хранит данные: файловый режим, СУБД и мобильная платформа
Содержание
Бухгалтер открывает список баз в окне запуска и видит три строчки. Одна лежит на диске D:\Bases\Buh, две другие подключены через сервер. Вопрос от нового коллеги: «А база данных в 1С вообще какая?» Ответ зависит от режима. В файловом режиме какая база данных используется в 1С? Собственная: один файл 1Cv8.1CD, который читает сама платформа. В клиент-серверном режиме данные лежат в промышленной СУБД: PostgreSQL, Microsoft SQL Server, IBM DB2 или Oracle Database.
Отдельной «базы данных 1С», которую можно купить как продукт, нет. Есть информационная база, а под ней — один из способов хранения. Их три: файл, SQL-сервер и локальное хранилище мобильного приложения. Разберём каждый и поймём, когда пора переезжать.
Из чего состоит информационная база
Информационная база — это данные (документы, справочники, регистры) плюс конфигурация, то есть описание того, как эти данные устроены. Конфигурация хранится в той же базе. Поэтому перенос базы на другой компьютер — это перенос и данных, и программы одним куском.
Платформа 1С:Предприятие сама не хранит данные «в памяти» и не имеет единой внутренней СУБД для всех режимов. Она работает через два слоя:
- 🗂 Файловый вариант — платформа напрямую читает и пишет файл
1Cv8.1CD. - 🖥 Клиент-серверный вариант — платформа обращается к серверу 1С, а тот к СУБД через стандартные запросы.
- 📱 Мобильное приложение — данные лежат внутри устройства в локальном хранилище приложения.
Как узнать, в каком режиме открыта ваша база: в окне запуска выберите базу и нажмите «Изменить». В строке расположения будет либо путь к папке (файловая база), либо имя сервера и имя базы на нём. В строке соединения это выглядит так:
File="D:\Bases\Buh";
Srvr="app-server";Ref="buh_prod";
Первая строка — файловая, вторая — клиент-серверная.
Файловый режим: один файл и никаких серверов
В папке файловой базы лежит 1Cv8.1CD — собственный формат 1С. Рядом могут быть служебные файлы и папка с журналом регистрации. Установки СУБД не нужно, достаточно платформы и общей папки.
Это самый простой способ начать:
- ✅ нет администрирования сервера и СУБД;
- ✅ запуск за минуту: создали базу, открыли, работаете;
- ✅ резервная копия — копирование файла, когда никто не работает в базе;
- ✅ нет затрат на лицензию серверной части 1С и на серверную СУБД.
Ограничения тоже понятны. Платформа на каждом клиентском компьютере сама разбирает файл, и по сети идёт много данных. Чем больше пользователей и чем толще база, тем заметнее тормоза. Блокировки в файловом режиме грубее, чем в SQL: два человека, проводящие документы одновременно, чаще мешают друг другу.
Ориентиры из практики (не жёсткие границы): файловая база спокойно живёт при одном-пяти пользователях и размере до нескольких гигабайт. Десять пользователей одновременно — уже предел комфорта, особенно если сеть Wi-Fi или база лежит на слабом сетевом диске.
Если база лежит в общей папке, а пользователи подключаются по Wi-Fi, ждите обрывов и повреждений файла. Файловую базу по нестабильной сети лучше не использовать.
Нельзя копировать 1Cv8.1CD на ходу, пока в базе работают люди. Копия получится «разорванной» и может не открыться.
Клиент-серверный режим: сервер 1С и промышленная СУБД
Здесь появляются два звена. Кластер серверов 1С принимает подключения пользователей и обрабатывает запросы. СУБД хранит данные в таблицах. Клиентский компьютер напрямую с СУБД не общается.
Какие СУБД поддерживает платформа 8.3:
| СУБД | Особенности |
|---|---|
| PostgreSQL | Бесплатная, самый частый выбор для малого и среднего бизнеса. Нужна сборка, совместимая с 1С (поставляется 1С или Postgres Pro) |
| Microsoft SQL Server | Привычен для Windows-сред, платная лицензия, широкий инструментарий администрирования |
| IBM Db2 | Встречается в крупных корпоративных контурах |
| Oracle Database | Тоже корпоративный вариант, лицензия дорогая |
Что даёт клиент-серверный режим:
- 🚀 Блокировки на уровне записей. Параллельная работа сотен пользователей возможна.
- 📊 Тяжёлая работа выполняется на сервере. Клиентскому ПК не нужно тянуть через сеть всю таблицу.
- 💾 Резервное копирование средствами СУБД, в том числе без остановки работы.
- 🔒 Управление доступом на уровне сервера и разделение ролей администратора.
Минусы очевидны: нужен специалист, чтобы настроить СУБД и сервер 1С, а лицензии стоят денег. Для 1С нужно купить серверную лицензию 1С:Предприятие плюс клиентские лицензии на нужное число подключений, а если выбрана платная СУБД — ещё и лицензию на неё.
Хотите попробовать клиент-серверный режим без больших затрат — разверните сервер 1С на Linux с PostgreSQL. Это типичная связка, где СУБД бесплатна, а затраты уходят только на лицензии 1С.
Отдельно стоит упомянуть автономный сервер (ibsrv). Он предназначен для небольших нагрузок: даёт клиент-серверный доступ к файловой базе без установки полноценного кластера и без отдельной СУБД. Это промежуточный вариант для тех, кому файловый режим уже тесен, а настраивать СУБД рано.
База в мобильном приложении: автономность на устройстве
Мобильная платформа 1С строится по-другому. Приложение на телефоне или планшете хранит данные в локальном хранилище устройства и работает без интернета. Подключение понадобится только для синхронизации, например отправки заказов, собранных менеджером в поездке.
Что важно знать:
- Это не замена серверной базе. Мобильное приложение чаще всего получает и возвращает данные через обмен с основной базой.
- Объёмы данных ограничены возможностями устройства. Хранить там годовую оборотку по всем контрагентам не принято.
- Конфигурацию мобильного приложения разрабатывают отдельно — это не стандартная «Бухгалтерия».
Если вам нужно, чтобы торговый представитель оформлял заявки в магазине без связи, мобильное приложение подходит. Для обычной бухгалтерской работы оно не нужно.
Сколько это стоит и что быстрее
Сравним варианты по главным параметрам.
| Параметр | Файловый | Клиент-серверный |
|---|---|---|
| Пользователей одновременно | до 5–10 | десятки и сотни |
| Размер базы | единицы гигабайт | десятки и сотни гигабайт |
| Администрирование | почти не нужно | нужен администратор |
| Затраты на запуск | минимальные | сервер, лицензии 1С, СУБД |
| Резервная копия | копирование файла при закрытой базе | средствами СУБД |
| Скорость при росте нагрузки | падает быстро | держится долго |
Ориентировочные затраты на старте: файловая база — только платформа и лицензии на рабочие места. Для сервера 1С нужна отдельная серверная лицензия, плюс сервер: арендованный виртуальный (примерно от 3–5 тысяч рублей в месяц) или собственный (от нескольких десятков тысяч рублей за железо). Если выбрать PostgreSQL, лицензию на СУБД платить не придётся; Microsoft SQL Server — ориентировочно сотни тысяч рублей за лицензию в зависимости от числа ядер.
Решить, когда пора переходить, помогает дерево выбора:
Как перенести базу из файлового режима на SQL (и обратно)
Переход делается через выгрузку в файл .dt. Он одинаково подходит для любого направления: файловая в серверную и обратно.
Порядок действий:
- Остановите работу пользователей и убедитесь, что в базе никого нет.
- Откройте базу в Конфигураторе и выберите
Администрирование → Выгрузить информационную базу. Сохраните.dtв надёжное место. - На сервере 1С создайте пустую информационную базу в клиент-серверном режиме. В окне создания укажите тип СУБД и параметры подключения.
- Откройте новую базу в Конфигураторе и выполните
Администрирование → Загрузить информационную базу, выбрав сохранённый.dt. - Проверьте работу: откройте несколько документов, сформируйте оборотно-сальдовую ведомость, сравните итоги со старой базой.
- Только после проверки переключите пользователей на новую базу.
Выгрузка и загрузка .dt требуют монопольного доступа. Сначала сделайте копию файла 1Cv8.1CD, а не только .dt: если что-то пойдёт не так, исходная база останется нетронутой.
Время выгрузки зависит от размера: база в 5 ГБ может выгружаться около часа, в 50 ГБ — полдня и больше. Планируйте работу на нерабочее время.
Отдельный совет по PostgreSQL. Стандартная сборка PostgreSQL с официального сайта работать с 1С не будет: нужна версия, собранная с учётом требований платформы. Её берут у 1С или у Postgres Pro. Версию СУБД подбирайте по требованиям вашей платформы: они меняются от релиза к релизу.
Обратный путь тот же: выгрузили .dt из серверной базы, создали файловую, загрузили. Бывает нужно, когда фирма сокращается или базу нужно отправить на разбор разработчику.
Резервные копии: чем отличается подход
Способ хранения прямо определяет, как копировать данные.
- 📁 Файловая база. Дождитесь, пока все выйдут, и скопируйте папку целиком. Настройте задачу по расписанию на ночь, а копии складывайте на другой диск или в облако.
- 🛢 Клиент-серверная база . Копию делает СУБД своими средствами: полная копия раз в сутки и, если нужно, промежуточные копии в течение дня. Так можно восстановиться на нужный момент, а не только на вчерашний вечер.
- 📤 Выгрузка
.dt. Подходит как дополнительная копия перед обновлением или переездом, но заменой копии СУБД не считается: выгрузка требует монопольного доступа и занимает время.
Проверяйте копии восстановлением. Раз в квартал разверните последнюю копию на тестовой базе и откройте пару документов: так вы узнаете, что копия рабочая, до аварии, а не после неё.
Типичные ошибки при выборе хранилища
Ошибки повторяются из года в год.
- 🔴 Файловая база на сетевом диске, подключённом по Wi-Fi. Тормоза плюс риск повреждения файла.
- 🔴 Копирование файла
1Cv8.1CDна работающей базе. Копия может оказаться битой. - 🔴 Установка обычного PostgreSQL вместо сборки для 1С. Платформа не сможет создать базу.
- 🔴 Один сервер на всё: СУБД, 1С, файловый ресурс, терминалы. Нагрузка складывается, оперативной памяти не хватает.
- 🔴 Выбор SQL «на вырост» без администратора. Через полгода никто не помнит, как настроено резервное копирование.
Ещё одна частая ситуация: вместо перехода на SQL можно сначала разгрузить файловую базу . Сократить журнал регистрации, свернуть старые периоды, убрать из базы вложенные файлы сканов. Иногда этого хватает ещё на пару лет.
Частые вопросы
Какая СУБД лучше для 1С?
Можно ли использовать MySQL или SQLite для серверной базы 1С?
Сколько пользователей выдержит файловая база?
Нужна ли СУБД для обычной бухгалтерии на одного человека?
Как узнать, какой режим у моей базы?
Можно ли вернуть базу из SQL в файл?
.dt в Конфигураторе и загрузку в новую файловую базу.