Файловая, клиент-серверная, облачная: какую базу 1С выбрать под задачи компании
Содержание
Базы данных 1С:Предприятие 8.3 бывают двух технических видов: файловые (вся база лежит в одном файле 1Cv8.1CD) и клиент-серверные (данные хранятся в СУБД — MS SQL Server, PostgreSQL, IBM Db2 или Oracle, а работой управляет сервер 1С). Облако — не третий вид, а способ размещения: у провайдера крутится та же файловая или серверная база.
Если в базе работают 1–5 человек и объём умеренный, хватит файлового варианта. Когда пользователей больше десятка, база разрослась до десятков гигабайт или нужен доступ без зависаний при закрытии месяца, выбирайте клиент-серверный вариант.
Файловая база 1С: как она устроена и где её предел
Файловая база — это каталог, в котором лежит файл 1Cv8.1CD и служебные файлы. Чтение и запись делает сама клиентская программа 1С на компьютере пользователя. Отдельного сервера нет.
Чтобы с базой работали несколько человек, каталог кладут в общую сетевую папку. Каждый клиент открывает файл по сети и сам блокирует нужные данные.
Плюсы файлового варианта:
- 💰 не нужна лицензия на сервер 1С и СУБД — только клиентские лицензии;
- ⚡ быстро разворачивается: создали базу, указали каталог — работает;
- 📦 резервная копия — это копия каталога (при закрытой базе) или выгрузка
.dt; - 🧑💻 на одном компьютере работает быстрее серверной базы: нет сетевых задержек между сервером и СУБД.
Минусы:
- 🐢 с ростом числа пользователей растут ожидания на блокировках: файл блокируется крупно, и пока один проводит документы, другой ждёт;
- 🌐 по медленной сети (VPN, Wi-Fi) работа заметно тормозит, а обрыв во время записи может повредить файл;
- 🔓 каждому пользователю нужны права на чтение и запись всей папки базы — значит, он может её скопировать или удалить;
- 🛠 нет фоновых заданий в полноценном виде: регламентные задания в файловой базе выполняются, только пока открыт хотя бы один сеанс.
Жёсткого ограничения на число пользователей у файловой базы нет. На практике комфортный предел — около 5–10 одновременных пользователей при объёме базы до нескольких гигабайт. Дальше бухгалтерия начинает жаловаться на «висящее» проведение и закрытие месяца .
Для проверки повреждённой файловой базы в каталоге платформы есть утилита chdbfl.exe — она проверяет физическую целостность файла 1Cv8.1CD. Запускайте её только когда в базе никто не работает.
Файловую базу тоже можно опубликовать на веб-сервере (Apache или IIS) и открывать через браузер или тонкий клиент по HTTP. Это решает проблему медленной сетевой папки, но не снимает ограничения по одновременной работе.
Клиент-серверная база 1С и выбор СУБД
В клиент-серверном варианте участвуют три звена:
- Клиент — тонкий клиент или браузер на рабочем месте. Он только показывает формы и передаёт команды.
- Сервер 1С:Предприятия — кластер с рабочими процессами. Здесь выполняется код конфигурации, проведение, отчёты.
- СУБД — хранит данные. Сервер 1С обращается к ней от имени своей учётной записи.
Клиент сначала подключается к агенту сервера (порт 1540), затем к менеджеру кластера (1541) и к рабочим процессам. Диапазон портов рабочих процессов по умолчанию — 1560–1591, его задают в свойствах рабочего сервера. Эти порты должны быть открыты в брандмауэре.
Какие СУБД поддерживает платформа 8.3
| СУБД | Лицензия СУБД | Где обычно используют |
|---|---|---|
| Microsoft SQL Server | платная (есть бесплатная Express с ограничениями по объёму и памяти) | Windows-инфраструктура, исторически самый распространённый вариант |
| PostgreSQL (сборки с доработками для 1С, Postgres Pro) | бесплатная | Linux и Windows, импортозамещение, экономия на лицензиях |
| IBM Db2 | платная | редкие крупные внедрения |
| Oracle Database | платная | редкие крупные внедрения |
Для 1С обычный PostgreSQL «из коробки» не подходит: нужна сборка с патчами для работы с платформой 1С. Её поставляет фирма 1С на портале пользователей, также есть дистрибутивы Postgres Pro.
SQL Server Express ограничен по размеру одной базы (10 ГБ) и по используемой памяти. Для небольшой базы это рабочий вариант, но рост объёма упрётся в лимит — закладывайте переход заранее.
Что нужно купить для клиент-серверной базы
- 🔑 клиентские лицензии — столько же, сколько одновременных пользователей (как и в файловом варианте);
- 🖥 лицензию на сервер 1С:Предприятия — уровня ПРОФ или КОРП; КОРП нужен для функций масштабирования и отказоустойчивости кластера;
- 🗄 лицензию СУБД, если выбрана платная;
- 🧰 сервер: для 10–20 пользователей типовой конфигурации ориентировочно хватает 4–8 ядер, 16–32 ГБ памяти и SSD-дисков; сервер 1С и СУБД на старте можно держать на одной машине.
Главный выигрыш клиент-серверного варианта — блокировки на уровне записей, а не всего файла. Двое бухгалтеров спокойно проводят разные документы одновременно. Регламентные задания (загрузка курсов, обмены, обновление классификаторов) работают по расписанию на сервере, даже если ни один пользователь не вошёл.
Сравнение видов баз 1С в одной таблице
| Критерий | Файловая база | Клиент-серверная (SQL) | Облако (аренда) |
|---|---|---|---|
| Где лежат данные | файл 1Cv8.1CD в папке | СУБД на вашем сервере | у провайдера (файл или СУБД) |
| Комфортно пользователей | до 5–10 | десятки и сотни | зависит от тарифа |
| Затраты на старте | минимальные | сервер + лицензия сервера 1С + СУБД | ежемесячная плата |
| Регламентные задания | только при открытом сеансе | по расписанию на сервере | на стороне провайдера |
| Резервное копирование | копия папки или .dt | средствами СУБД, без остановки работы | у провайдера, проверяйте условия |
| Защита данных | права на всю папку у каждого | пользователи не видят файлы базы | зависит от провайдера и договора |
| Кто администрирует | бухгалтер или приходящий специалист | нужен администратор | провайдер |
Простое правило выбора: если вы не готовы держать администратора сервера и пользователей немного — файловая база или облако. Если в базе работает отдел и объём растёт — клиент-серверный вариант.
Распределённые базы и обмены между базами 1С
Одна база на всю компанию — не всегда удачный вариант. Если у филиала плохой интернет или учёт ведётся в разных программах, данные синхронизируют между несколькими базами.
Распределённая информационная база (РИБ)
РИБ — это несколько копий одной и той же конфигурации (узлов), которые периодически обмениваются изменениями. Есть главный узел и подчинённые. Изменения конфигурации делают только в главном узле, они уходят в подчинённые при обмене.
Когда РИБ уместна:
- 🏢 филиал работает автономно и сбрасывает данные в центр раз в час или раз в день;
- 🚚 выездной сотрудник с ноутбуком, где нет постоянной связи;
- 🧪 нужна копия базы для отчётности, которая не мешает основной работе.
Обмен между разными конфигурациями
Чтобы передать документы, например, из Управления торговлей в Бухгалтерию, используют типовую синхронизацию данных. В типовых конфигурациях на БСП она настраивается в разделе Администрирование → Синхронизация данных. Под капотом — формат EnterpriseData и правила конвертации.
Для нестандартных случаев (доработанные конфигурации, обмен с самописной системой) правила обмена делают в конфигурации «Конвертация данных ».
Обмен работает одинаково для файловых и серверных баз. Но в файловой базе автоматический обмен по расписанию пойдёт, только пока кто-то работает в программе. Если обмены важны — это ещё один аргумент за клиент-серверный вариант.
База 1С в облаке: аренда и сервис 1С:Фреш
Облачная база снимает с вас покупку сервера, установку и резервное копирование . Вы платите помесячно и заходите в программу через браузер, тонкий клиент или удалённый рабочий стол.
Варианты облака:
| Вариант | Как работает | Доработки конфигурации | Ориентировочная стоимость |
|---|---|---|---|
| 1С:Фреш и сервисы на его основе | типовые конфигурации в модели сервиса, вход через браузер или тонкий клиент | нельзя менять конфигурацию, можно расширения и внешние обработки в рамках правил сервиса | примерно от 1 000–2 000 ₽ в месяц за пользователя в зависимости от программы и тарифа |
| Аренда 1С у партнёра (RDP или веб) | ваша база на сервере провайдера, обычно клиент-серверная | можно, это ваша база | примерно 1 000–3 000 ₽ в месяц за пользователя |
| Своя виртуальная машина в облаке | вы арендуете сервер и сами ставите 1С и СУБД | без ограничений | от нескольких тысяч ₽ в месяц за сервер плюс свои лицензии |
Цены ориентировочные: тарифы меняются, и в них по-разному входят лицензии, резервные копии и поддержка.
Перед выбором облака уточните у провайдера три вещи:
- Как часто делается резервная копия и сколько дней она хранится.
- Можно ли в любой момент забрать базу целиком в формате
.dt. - Где физически находятся серверы — для персональных данных это важно.
Договоритесь о выгрузке базы до подписания договора. Если провайдер отдаёт данные только по заявке и с задержкой, при смене подрядчика вы можете остаться без учёта на несколько дней.
Перенос базы 1С с файлового варианта на SQL и обратно
Перевести файловую базу в клиент-серверную можно без потери данных. Основной способ — выгрузка и загрузка .dt.
Пошагово через Конфигуратор
- Предупредите пользователей и завершите все сеансы: выгрузка требует, чтобы в базе никто не работал.
- Откройте файловую базу в режиме Конфигуратор и выполните
Администрирование → Выгрузить информационную базу. Сохраните файл.dt. - На сервере 1С создайте новую информационную базу: в окне запуска нажмите «Добавить» и выберите вариант «На сервере 1С:Предприятия». Укажите кластер, имя базы, тип СУБД, сервер баз данных и учётную запись СУБД. Отметьте создание базы данных, если её ещё нет.
- Откройте новую пустую базу в Конфигураторе и выполните
Администрирование → Загрузить информационную базу, выбрав сохранённый.dt. - Запустите базу в режиме 1С:Предприятие, проверьте пользователей, остатки и ключевые отчёты.
- Переключите ярлыки пользователей на новую базу, а файловую уберите в архив, чтобы никто не работал в ней по старой привычке.
То же самое можно сделать из командной строки — удобно для регулярных выгрузок по расписанию:
"C:\Program Files\1cv8\8.3.xx.xxxx\bin\1cv8.exe" DESIGNER /F"D:\Bases\Buh" /N"Администратор" /P"пароль" /DumpIB"D:\Backup\buh.dt"
Загрузка в серверную базу
— параметром /RestoreIB, а подключение к серверной базе задают через /S"сервер\имябазы" вместо /F.
Загрузка .dt полностью заменяет содержимое базы-приёмника. Никогда не загружайте файл в рабочую базу, не сделав её свежую выгрузку.
На что смотреть при переходе
- 🔤 Неуникальные индексы и данные с ошибками. Файловая база терпит то, что СУБД не примет. Если загрузка
.dtпрервалась с ошибкой, сначала выполните в файловой базеАдминистрирование → Тестирование и исправление, затем выгрузите заново. - 🧾 Лицензия. После переезда базе нужен доступ к клиентским лицензиям, а серверу — своя лицензия на сервер 1С. Проверьте это до дня переключения.
- 🔐 Пользователи ОС. Если в файловой базе стояла аутентификация Windows, в серверной сопоставление учётных записей тоже нужно проверить.
- 🧭 Внешние обработки и пути к файлам. Код, который читал файлы с диска пользователя, на сервере будет искать их на диске сервера. Такие обработки придётся переделать.
Обратный перенос (из SQL в файловую) делается теми же шагами: выгрузка .dt из серверной базы, загрузка в новую пустую файловую. Так часто готовят копию для тестов или для передачи аудитору.
Смена СУБД (например, с MS SQL на PostgreSQL) — тоже через .dt: создаёте базу на новой СУБД и загружаете выгрузку. Средства миграции самих СУБД здесь не годятся: структура таблиц 1С зависит от типа СУБД.
Права доступа и защита данных в разных вариантах баз
Права внутри программы настраиваются одинаково в любом варианте. В типовых конфигурациях это Администрирование → Настройки пользователей и прав: пользователи, группы доступа, профили групп доступа. Здесь же задают пароль и способ входа — по паролю 1С или через учётную запись операционной системы.
Разница — в защите самих файлов базы.
| Угроза | Файловая база | Клиент-серверная база |
|---|---|---|
| Копирование базы целиком | любой пользователь с доступом к папке может скопировать 1Cv8.1CD | пользователи не имеют доступа к файлам СУБД |
| Удаление или шифровальщик | файл в общей папке уязвим вместе с папкой | данные на сервере, к которому у пользователей нет доступа |
| Обход паролей 1С | скопированную базу можно открыть отдельно | доступ к данным только через сервер 1С и СУБД |
| Разделение администраторов | нет | отдельные администраторы кластера и СУБД |
Минимальный набор мер для клиент-серверной базы:
- 🔐 задайте администратора кластера в консоли администрирования серверов — без него любой с доступом к консоли может управлять базами;
- 👤 для подключения 1С к СУБД заведите отдельную учётную запись, а не используйте суперпользователя по умолчанию;
- 🧱 закройте порты сервера 1С и СУБД от интернета, доступ снаружи — через VPN или веб-публикацию;
- 🗓 настройте резервное копирование средствами СУБД и регулярно проверяйте восстановление на тестовом сервере.
Для файловой базы:
- 📁 храните папку базы на сервере, а не на компьютере бухгалтера, и давайте доступ к общей папке только тем, кто работает в базе;
- 💾 делайте копии в отдельное место, недоступное с рабочих компьютеров — иначе шифровальщик зашифрует и их;
- 🔑 у каждого пользователя 1С должен быть пароль, а у администратора — отдельная учётная запись.
Если в базе хранятся персональные данные сотрудников и клиентов, файловая база в общей папке — слабое место при любой проверке. Клиент-серверный вариант или облако с понятным договором закрывают этот вопрос лучше.