1С 8. Стоит ли переходить на клиент-сервер?
1С 8 бывает в двух вариантах: файловый и клиент серверный, при чем последний по стоимости намного дороже. В чем же между ними разница, и в каком случае имеет смысл использовать клиент серверную технологию? Что бы ответить на этот вопрос, давайте посмотрим, в чем же разница между этими двумя режимами работы.
И так, файловый вариант. Все данные (таблицы базы данных, список пользователей и их права, сама конфигурация) хранятся в одном файле 1Cv8.1CD. И у такого режима работы есть ряд ограничений:
-
Каждая таблица не может быть больше 4 ГБ. Давайте подумаем, а много это или мало. Пусть у нас имеется товарный ассортимент на 10000 наименований. Длина наименования 100 символов. Вроде бы под такую таблицу нужно 1 МБ памяти (1 млн. байт, 10000*1000). Ну пусть там есть еще другие данные. Даже если в итоге на одну запись нам требуется 1 Кб информации, то в 4 ГБ должно уместиться 4 млн. записей. Хотя, в редких случаях, действительно бывает, что такого ограничения недостаточно. Например, для каких то целей нужно хранить миллионы серийных номеров, или в день у нас там много движений, что за год таблица какого то регистра разбухает до очень больших объемов, вплоть до нескольких гигабайт. Но в таких случаях, как правило, мы сталкиваемся уже с другими ограничениями. В общем же случае рекомендуется задуматься о клиент-серверном режиме в том случае, если размер файла 1Cv8.1CD превышает 4 Гб.
-
Кол-во пользователей. Как показывает практика, в файловом режиме комфортно могут работать не более 10 пользователей. Это связано с тем, что в файловом режиме неразделяемые блокировки таблиц. Если юзер обращается к таблице, то она блокируется от записи вся. В клиент серверном варианте возможна блокировка таблиц на уровне записей. Тоесть, возможно такое, что один пользователь читает данные из таблицы, другой в это время пишет туда. И такая ситуация корректно обрабатывается системой. Это повышает производительность системы и дает возможность одновременной работы большого числа пользователей. В общем, если у вас одновременно работают с базой данный больше 10 пользователей и система "тормозит", то, возможно, вам нужен клиент-серверный вариант.
-
Низкая безопасность. Файл можно легко скопировать. И хотя все равно доступ к этому файлу ограничен паролями, теоретический есть возможность взлома. Если база храниться в какой либо СУБД на сервере, то скопировать данные не так то просто.
-
Выполнение регламентных заданий вручную - тоесть, под определенным пользователем. В клиент серверном варианте регламентные задания запускаются на сервере даже если не запущен ни один сеанс работы с 1С.
Теперь рассмотрим клиент-серверный вариант. В этом случае база храниться в СУБД на сервере. 1С обращается к этой базе посредством так называемого кластера серверов - промежуточного звена, который как бы эмулирует обращение к файлу 1Cv8.1CD. В таком режиме работы отсутствуют ограничения файлового режима работы. При чем 1С 8 поддерживает несколько видов СУБД:
-
MS SQL
-
IBM DB2 (для win и linux)
-
Postrgy SQL (для win и linux)
-
Oracle 10g,11g (начиная с версии 8.2)
Теперь подведем некоторые итоги. И так, стоит задуматься о переходе на клиент серверную технологию в следующих случаях:
-
Размер 1Cv8.1CD более 4 Гб.
-
Число пользователей больше 10.
И возникает необходимость перехода на клиент серверную технологию в случаях:
-
Размер одной таблицы превышает 4 Гб.
-
С базой одновременно работает много пользователей (больше 10) и при этом система очень сильно тормозит, делая невозможной нормальную работу пользователей.