Преимущества Клиент-Сервер перед Файл-Серверной технологией При работе с файл-серверной версией вся ответственность за сохранность и целостность базы данных лежит на программе и сетевой операционной системе. Обработка всех данных происходит на рабочих местах, а сервер используется только как разделяемый накопитель. Каждый пользователь непосредственно использует информацию и вносит изменения в файлы данных и в индексные файлы. При больших объемах данных и работе во многопользовательском режиме существенно снижается быстродействие - ведь чем больше пользователей, тем выше требования к разделению данных. Кроме того, может возникнуть повреждение баз данных. Например, в момент записи в файл может возникнуть сбой сети или авария питания. В этом случае компьютер пользователя прерывает работу, база данных может оказаться поврежденной, а индексный файл - разрушенным. Переиндексация, которую необходимо провести после подобных сбоев, может длиться несколько часов. Клиент-серверная версия позволяет обойти эти проблемы, так как вся работа с базой данных происходит на сервере, не проходит по проводам и не зависит от сбоев на рабочих станциях. Все запросы на запись в файл перехватываются сервером. В файл изменения вносятся только после того, как сервер получит сообщение о том, что корректировка файла завершена. Это исключает повреждение индексных файлов и существенно повышает быстродействие системы. Кроме высокого быстродействия и надежности, архитектура "клиент-сервер" дает много преимуществ и в части технического обеспечения. Во-первых, сервер оптимизирует выполнение функций обработки данных, что избавляет от необходимости оптимизации рабочих станций. Рабочая станция может быть укомплектована не очень быстрым процессором, и тем не менее сервер позволит быстро получить результаты обработки запроса. Во-вторых, поскольку рабочие станции не обрабатывают все промежуточные данные, существенно снижается нагрузка на сеть. Предоставится возможность ведения журнала операций, в котором автоматически регистрируются все прошедшие транзакции что, в свою очередь, поможет быстрому восстановлению системы при аппаратных сбоях. История вопроса История создания компьютерных информационных систем насчитывает несколько десятилетий. За это время были созданы системы по автоматизации деятельности банков, статистических бюро, промышленных предприятий, контор, агентств по бронированию и продаже билетов и т.д. Однако бурная деятельность по созданию новых систем автоматизации не только не утихает, но и переживает в последнее время заметное оживление. Эта ситуация связана с все возрастающим значением систем обработки информации для выживания компаний в условиях высокой конкуренции, уменьшением удельной стоимости таких систем, с развитием технологий обработки и хранения информации, а также качественным изменением ситуации с развитием технологий передачи данных, в частности Internet. Если успехи в области аппаратной части компьютеров известны всем, то прогресс программных технологий, лежащих в основе функционирования и создания ИС не столь очевиден. Первые ИС создавались для больших ЭВМ и имели унитарную структуру, т.е. представляли собой по сути одну программу, включающую в себя все функции по хранению данных, их обработке и представлению, а также по контролю доступа к данным со стороны пользователей системы. Такая организация ИС имеет ряд достоинств. Это, в частности, централизованное хранение и обработка информации, простота администрирования системы, а также очень эффективное использование вычислительных ресурсов - для выполнения важных задач может быть выделена вся мощь вычислительной системы. С ростом мощности компьютеров росла и сложность ПО, появилась необходимость структурировать программы - выделить отдельные части, отвечающие за работу с данными, бизнес-логику и интерфейс с пользователем. Это были все еще части одной программы, однако они становились все более независимыми и универсальными. Логическое развитие этой тенденции в наши дни и привело к появлению архитектуры клиент-сервер. В сущности, практически все "новейшие" технологии как-то: трехслойная архитектура, мониторы транзакций, "сверхтонкие клиенты" впервые появились и получили развитие тридцать лет назад на компьютерах класса mainframe. Казалось бы, если еще в 60-е годы было найдено магистральное направление, по которому пойдет развитие информационных технологий, все должны были бы работать на "сверхтонких клиентах", используя трехслойную архитектуру клиент-сервер. Однако компьютерная отрасль развивалась отнюдь не равномерно и прямолинейно - с появлением дешевых персональных компьютеров и локальных сетей возникли многочисленные информационные системы, использующие распределенную обработку информации. Серьезным препятствием к использованию этих систем в масштабах предприятия явился принципиальный недостаток распределенных систем - неэффективность управления раздельно хранящимися данными. Одним из основных условий нормальной работы ИС является возможность доступа ко всем ее данным. Если у нас нет всей информации, значит у нас нет вообще никакой информации. Таким образом, попытки построить ИС на основе сети ПК, участвующих в совместном хранении и обработке данных не увенчались успехом в связи с чрезвычайной ненадежностью такой схемы. Любая неполадка всего одного компонента - компьютера, линии связи или сбой одной из программ приводил к неработоспособности всей системы. Только централизованное хранение данных способно обеспечить работоспособность системы, однако обработка информации может быть осуществлена и на другой машине. Такой подход позволил создать на базе ПК и рабочих станций системы распределенной обработки информации. Первыми из этого класса систем стали системы, построенные по архитектуре файл-сервер. Основной особенностью этой архитектуры явился полный отказ от централизованных вычислений. Файл-сервер выполнял лишь функции хранения данных и не принимал участия в их обработке - эта работа была возложена на клиентские машины. Однако очень скоро стало ясно, что полный отказ от централизованного контроля данных таит в себе ряд серьезных проблем. Проблемы эти состоят уже не в отказе отдельных компонентов системы, а в логике их совместной работы. Каждое из приложений, работающее с общими данными должно придерживаться ряда весьма жестких ограничений и соглашений, обеспечивающих целостность информации при ее модификации различными модулями системы. На контроль целостности данных приходилось весьма существенная доля программного кода системы, вычислительного ресурса клиентских машин и сетевого трафика, и, тем не менее, оставались проблемы, например сбой на клиентской машине в середине выполнения операции мог привести к рассогласованию данных. Выходом из создавшейся ситуации стала разработка концепции клиент-серверных вычислений, сочетающей в себе преимущества централизованной обработки данных унитарных систем с преимуществами распределенных вычислений систем типа файл-сервер. Ключевым отличием архитектуры клиент-сервер от архитектуры файл-сервер является абстрагирование от внутреннего представления данных (физической схемы данных). Теперь клиентские программы манипулируют данными на уровне логической схемы. Они уже не заботятся о построении индексов для ускорения выборки данных, о распределении данных по файлам, выставлении семафоров на обрабатываемые записи и т.д. Все рутинные функции по хранению, обработке и защите данных на так называемом физическом уровне берет на себя система управления базой данных (СУБД). Со времени своего появления СУБД также активно эволюционировали, предлагая различные модели логического представления данных (иерархические, сетевые, реляционные, объектно- ориентированные). Но суть дела от этого не меняется - программе, выполняющей бизнес-функции ИС, уже не надо заботится о том, как и где хранятся данные, следить за их достаточностью и непротиворечивостью, обеспечивать условия по безопасному совместному пользованию данными несколькими пользователями. Она лишь за
Преимущества Клиент-Сервер перед Файл-Серверной технологией
Преимущества Клиент-Сервер перед Файл-Серверной технологией
Преимущества Клиент-Сервер перед Файл-Серверной технологией | Софт-Сиб технологии автоматизации
Комментариев нет:
Отправить комментарий