Одним из основных «Узких» мест предыдущей платформы были ограничения платформы на количество пользователей, и объем данных, хранимых в системе. Это можно сказать наша больная мозоль. Именно этот параметр, не позволял нам уже два года назад, выступать в секторе средних предприятий.
Безусловно, за не имением выхода, компании партнеров, разработали ряд ритуальных танцев с бубнами, в результате чего, стало возможным использование одной базы, одновременно 30-50 пользователей. Так же за счет разграничения зон функциональной ответственности, путем разделения информационных баз, и создания автоматических систем синхронизации и обмена, этот барьер двигался еще дальше.
Безусловно, цифры зависят от каждого конкретного случая.
Можно перечислить несколько причин такого поведения системы:
Прежде всего, хочу отметить, что это было оправдано, так как разработка системы лишенной подобного недостатка потребовало бы больше ресурсов, и как следствие стоила бы больше. Но на момент создания платформы 7.0. эти возможности были бы не востребованы.
Так же одной из причин использования ограниченного набора команд СУБД (Системы управления базами данных), была идеология идентичных прикладных решений, как для файлового варианта, так и для SQL варианта платформы.
По той же причине (экономической целесообразности) был выбран наиболее простой (а как следствие дешевый в исполнении) механизм транзакций и блокировок. Для не специалистов, поясню проявление этих минусов. Одновременно проводить / записывать, что-то в системе, может только один пользователь. При количестве пользователей не более 10 это не критично, так как вероятность совпадения очень низка, в случае одновременной работы 50 пользователей, эта вероятность существенно выше. Это приводило к ненавистной для многих надписи «Ожидание блокировки журнала транзакций».
Первым вопросом, которым задались партнеры при получении Бета версии платформы 8.0, были вопросы производительности. В первый же день появления новой платформы во внутренней продаже, [точнее через неделю, когда все протрезвели, и выучили новый язык] она была подвергнута жесточайшим пыткам со стороны программистов. Часть тестов выкладывались на специализированных форумах, часть анализировалась, и отправлялась в 1С с просьбой еще ускорить.
Я приведу фрагменты официальной статистики [они оформлены лучше :) ]
рисунок 1. графики сравнения характеристик двух платформ
Как вы видите, разница в скорости работы, как правило, составляет 75 %, что равноценно увеличению быстродействия в 2.5 раза. От себя могу лишь добавить, что по наиболее часто используемым операциям увеличение скорость достигает 10 раз.
А вот график зависимости от количества пользователей
рисунок 2 (график зависимости скорости работы, от количества пользователей)
Хочу отметить, что, не смотря на потребность выхода на рынок средних предприятий, компания 1С как всегда позаботилась и о наших текущих клиентах, оставив файловый вариант платформы. Для этого был создан собственный «движок» базы данных.
Возникает законный вопрос: «Что Вам как конечному пользователю будет от этих изменений?». Ну, прежде всего, увеличение скорости работы Ваших сотрудников, а значит и их производительности. Так же необходимо понимать, что на крупных заказчиках, программистом всегда приходилось искать компромисс, между степенью анализа, и скоростью работы. Этот вопрос, стоял очень остро, за счет чего, аналитические возможности могли быть урезаны. Вместе с увеличением скорости работы самой платформы, мы сможем предоставлять больший сервис, а Вы как потребитель, сможете получать более полную и оперативную информацию, которая в свою очередь поможет Вам извлекать большую прибыль [Короче все довольны кроме конкурентов :) ].
Важной стороной медали являются причины, за счет которых это было достигнуто. Начнем мы в обратном порядке (сначала кратко для пользователя):
За счет этого достигнута высокая параллельность работы пользователей, что привело к результатам, наглядно показанным на рисунке 2
Здесь более подробно, об изменениях, за счет которых достигнуто такое увеличение производительности.
Прежде всего, в новой платформе практически на сто процентов реализовано использование SQL – 69, за счет чего, большую часть работы по обработке запросов переложено с платформы на движок СУБД.
Во вторых, использована трех звеньевая клиент - серверная архитектура построения информационной среды. На рисунке это можно отобразить следующим образом:
К сожалению, платформа не позволяет использовать несколько серверов 1С Предприятия, причину этому я опишу в разделе «Изменения в области разработки прикладных решений» .
Система передает запрос в СУБД, и получает уже результаты запроса. Сервер 1С Предприятия, только переводит результат запроса, в объектный вид, и возвращает результат на машину пользователя (если это необходимо).
Во вторых, существенно переработан механизм блокировки таблиц. Это очень важный момент, потому что именно этот механизм делал не возможным использование системы 1С в крупных информационных системах.
Я не буду приводить конкретные правила блокировки, скажу лишь, что анализируется действие которое выполняет пользователь, так например при чтении информации об остатках, блокируется таблица лишь на запись (что бы не допустить искажения картины). В большинстве таблица блокировка осуществляется только необходимых записей, а не всей таблицы. Отказ от единого журнала документов, так же как и единого журнала транзакций.
Это изменение позволит обеспечить независимую работу пользователей, без разделения информационных баз. Что существенно снижает стоимость разработки, и сопровождения такой информационной системы.
Более качественное построение структуры базы данных. Больше индексов, и вообще все ближе к стандартам реляционных баз данных :) .
Все это позволяет нам предположить качественную работу информационных систем с количеством пользователей немногим более сотни. Так же, при написании специализированных заказов (то есть без использования типовой, или с уничтожением части ее функций) это позволит значительно отодвинуть барьер [Что не может не радовать лично меня :) ].
Так же хотелось бы отметить дополнительные плюсы от использования Клиент серверного решения. За счет некоторых особенностей в исполнении серверного варианта, большинство работы по обработке данных, происходит на сервере СУБД и на сервере 1С Предприятия. Компьютеры пользователя, получают только результат. Таким образом, требования к рабочим станциям существенно снижаются. Так же снижается нагрузка на локальную сеть (так как по сети передается только результат). По сути, работа происходит практически в терминальном режиме, только лучше :) .
Так же вы можете разнести сервер СУБД и Сервер 1С Предприятия на две машины, что позволит более правильно распределять нагрузку на оборудование.
Таким образом, в сухом остатке мы имеем:
В платформе 8.0 возможна работа:
На этом я завершаю первую часть цикла, и жду Вашей реакции :) [Конкурентов, в лице Анонимов, просьба не беспокоить, Конкурентов в своем лице :) с радостью ждем для дискуссий в форуме]
C Уважением Сотрудник отдела внедрения Компании «Аист Ай Ти» Кондаков Владимир v.kondakov@aist -it.ru
© Клерк.Ру