Файл: Технология «клиент-сервер»(Понятия о распределенной технологии обработки информации).pdf
Добавлен: 17.05.2023
Просмотров: 202
Скачиваний: 7
СОДЕРЖАНИЕ
Глава 1. Понятия о распределенной технологии обработки информации
1.2. Управление одновременным доступом
Глава 2. Технология «клиент-сервер»
2.1. Понятие о технологии «клиент-сервер»
2.2. Описание принципа работы технологии «клиент-сервер»
2.3. Применение параллелизма в технологии «клиент-сервер»
2.4. Понятия прикладных протоколов и стандартов в системах распределенной обработки данных
Клиентом называется специальная система, процесс, ПК, пользователь, которые выполняют запрос к серверу для применения ресурса.
Одной из важнейших особенностей технологии клиент-сервер является значительное снижение сетевого трафика непосредственно при реализации запросов.
Каждый клиент посылает запрос на сервер на выборку информации, запрос обрабатывается определенным сервером, и клиенту сразу передается не полностью вся таблица, а только результат запроса.
Вторым преимуществом является возможность выполнения хранения бизнес-логики (к примеру, правил ссылочной целостности, а также ограничений на данные) на сервере, позволяющий избежать дублирования программного кода в различных приложениях, использующих одну и ту же базу данных.
Построение быстродействующих АИС обеспечивают технологии так называемой репликации данных.
Под репликой понимается копия БД, которая размещена на другом ПК сети для автономной обработки пользователями.
Основная идея заключается в процессе, когда пользователи работают полностью автономно с данными, растиражированными по базам данных, что размещены на локальных ПК.
Производительность работы повышается из-за специальных отсутствий необходимости обмена информации по сети.
При реализации технологии репликации ПО дополняется функциями тиражирования информации, их структуры, а также системной информации распределенной системы.
При этом, однако, возникают две проблемы реализации одного из принципов функционирования распределенных систем — принципа непрерывности согласованного состояния данных [14]:
• обеспечение согласованного состояния данных во всех репликах БД;
• обеспечение согласованного состояния структуры данных во всех репликах БД.
Обеспечение согласованного состояния данных, в свою очередь, основывается на реализации одного из двух принципов [14]:
• принципа непрерывного размножения обновлений;
• принципа отложенных обновлений (обновления реплик могут быть отложены до специальной команды или ситуации).
Принцип непрерывного размножения обновлений является основополагающим при построении так называемых систем реального времени (например, систем управления воздушным движением, систем бронирования билетов пассажирского транспорта и др.), где требуется непрерывное и точное соответствие реплик во всех узлах и компонентах распределенных систем в любой момент времени. Реализация этого принципа заключается в том, что любая транзакция считается успешно завершенной, если она успешно завершена на всех репликах системы.[2]
2.3. Применение параллелизма в технологии «клиент-сервер»
В ПО базы данных могут предусматриваться 3 вида параллелизма, присущие приложениям с интенсивной обработкой данных:[2]
– Межзапросный параллелизм предполагает выполнение одновременное множество запросов, относящихся к самым разным транзакциям.
– Под внутризапросным параллелизмом также понимается одновременное выполнение нескольких сразу операций (к примеру, операций выборки), что относятся к одному и тому запросу. Внутризапросный и межзапросный параллелизмы реализуются на основе разделения данных, аналогично горизонтальному фрагментированию.
Внутриоперационный параллелизм означает параллельное выполнение только одной операции в виде множества субопераций с использованием, в дополнение к некоторой фрагментации данных, также фрагментации функций.
Распределение (включая репликацию и фрагментацию) данных по множеству разных узлов невидимо для всех пользователей. Это свойство также называется прозрачностью.
Технологии распределенных/параллельных систем обработки данных распространяет основополагающую для управления концепцию независимости данных в среду, где данные эти распределены и реплицированы с помощью множества компьютеров, что связаны сетью.
Это также обеспечивается за счет разных видов прозрачности: [7]
– прозрачность сети;
– прозрачность репликации;
– прозрачность фрагментации.
Вопросы прозрачности также более критичны для распределенных, нежели для параллельных систем. Этому есть 2 причины:
– многопроцессорные системы, для которых и реализуются параллельные истемы, могут функционировать под управлением одной единой операционной системы;
– разработки ПО на параллельных системах также поддерживаются языками для параллельного программирования, которые обеспечивают некоторую степень прозрачности.
В таких распределенных систем приложения и данные, которые осуществляют доступ к ним, также могут быть локализованы для одного и того же узла, благодаря чему исключается (сокращается) потребность в использовании удаленного доступа к данным, что характерна для систем телеобработки используемых данных в режиме выполнения разделения времени.
Поскольку на каждом из узлов выполняется меньше приложений, а также хранится меньшая порция БД, можно сократить также и конкуренцию при доступе к ресурсам.
Высокая производительность – это одна из самых важных целей, на достижение которой постоянно направлены технологии параллельных систем обработки данных. И, как правило, она часто обеспечивается за счет некоторого сочетания взаимно дополняющих решений, таких как использование операционных систем, что ориентированы на поддержку оптимизация, параллелизм, балансировка нагрузки.
Наличие ОС, "осведомленной" о специфических надобностях баз данных (к примеру, относительно управления буферами), значительно упрощает реализацию функций нижнего уровня и способствует значительному снижению их стоимости.
Распределенные и параллельные системы предоставляют ту функциональность, что централизованные, когда не считать того, что работают они в среде, где информация распределена по узлам компьютерной вычислительной сети или же многопроцессорной системы.
Как упоминалось, пользователи могут ничего не знать вообще о распределении данных.
Архитектуры параллельных систем также варьируются между двумя точками, называемыми архитектура без разделяемых ресурсов и архитектура с разделяемой памятью. Промежуточную позицию занимает также архитектура с разделяемыми дисками.
2.4. Понятия прикладных протоколов и стандартов в системах распределенной обработки данных
Необходимо различать также понятия сетевых приложений и специальных протоколов прикладного уровня, которые всегда используются в системах распределенной обработки данных.
Протокол прикладного уровня является частью (весьма большой) для сетевых приложений. Рассмотрим 2 примера.
Web является специальным сетевым приложением, что позволяет пользователям получать web-документы с помощью запроса и состоящим из разного множества компонентов, включая также стандарт формата документов (тип HTML), браузеры (Microsoft Internet Explorer и другие), web-серверы (к примеру, Apache, Microsoft и Netscape), протоколы прикладных уровней.
Протокол прикладного уровня для сервиса web носит название «протокол передачи гипертекста» (HTTP) и описывает форматы и порядок обмена разными сообщениями между сервером и клиентом. Таким образом, HTTP – это лишь часть web-приложения.
В качестве другого примера рассмотрим приложение для электронной почты. Такая почта Интернета состоит из множества компонентов: разных почтовых серверов, содержащих и почтовые ящики пользователей, и программы для просмотра, создания электронных писем, стандарты, описывающие структуры электронных писем, а также протоколов прикладного уровня, что регламентируют порядок обмена сообщениями между серверами и с оконечными совокупностями пользователей, а также и интерпретацию полей, с которых состоят все электронные письма.
Главным протоколом прикладного уровня электронной почты является протокол передачи сообщений (SMTP). Как видно, SMTP – лишь часть (хотя и большая) структуры приложений для электронной почты.
Протоколы прикладного уровня также определяют способ обмена разными сообщениями между 2-я процессами, выполняющимися с разными оконечными системами. Обычно протокол определяет такие элементы:
– типы используемых сообщений;
– синтаксис каждого с типов сообщений, что описывают поля сообщения;
– семантику полей, смысл информации, что содержится в каждом с полей сообщения;
– правила, которые описывают события, что вызывают генерацию сообщений.
Стоит отметить, что некоторые из протоколов для прикладного доступа (HTTP, SMTP) являются официально документированными. Это означает, что разработчик нового браузера также будет следовать стандарту, а браузер сможет получать все документы с разных web-серверов, построенных по этому стандарту.
Тем не менее также существует множество протоколов и прикладного уровня, что не стандартизированы и используются при этом для поддержки коммерческих проектов. В частности, это также характерно и для Интернет-телефонии.
В области интерфейсов для систем обработки данных для соединений типа клиент-сервер происходит процесс стандартизации.
Имея несколько альтернативных типов стандартов, организации, что внедряют в свои среды управления информацией технологию «клиент-сервер», могут выбрать те что решения, наиболее полно соответствуют их конкретным потребностям.
Процесс стандартизации для доступа к «клиент-сервер» приобрел наибольшую активность еще в конце 80-х – начале 90-х годов. В 1989 г. создана группа ученых SQL Access Group (SAG), которая представляет собой консорциум с 42 компаний, которые входят крупнейшие поставщики разных СУБД.
Одной из главных задач SAG было определение разных спецификаций форматов или протоколов (FAP) для коммуникаций в системах БД «клиент-сервер» на основании спецификаций Удаленного доступа к БД (RDA), разработанных Международной организацией для стандартизации.
Стандарт RDA также описан в документе ISO/IEC 9379, который состоит из 2-х частей:
– общая модель, сервис, протокол;
– специализация SQL.
Во втором разделе приведены основные понятия и принципы работы технологии «клиент-сервер», описаны методы распараллеливания данных.
Глава 3. Практическое применение технологии «клиент-сервер» на примере СУБД SQL Server
СУБД SQL Server является семейством продуктов, которые разработаны для непосредственного сохранения данных и их обработки в системах для обслуживания коммерческих веб-компонентов.
SQL Server очень прост для использования, он также широко применяется для решения задач по обработке информации в сверхсложных системах.
Он также очень популярен для отдельных пользователей, которые применяют надежный сервер БД для разных личных задач.
Непосредственно в состав СУБД SQL Server входят такие 2 основные службы, что предназначены для применения на платформе .NET, а также систем с традиционной клиент-серверной структурой.
Первая служба является высокопроизводительным реляционным ядром для БД, которое дает возможность обеспечивать масштабируемость систем, которые созданы непосредственно на его основании. [2]
Вторая служба – это Server Analysis Services – инструмент, который предоставляет множество методов для реализации анализа данных, что имеются в хранилищах информации и разных системах для принятия решений.
Классическая архитектура «клиент-сервер» в базах данных состоит из таких двух компонентов:
– непосредственно СУБД;
– клиентское приложение.
Такая архитектура каждого клиентского приложения, предоставляет определенный пользовательский интерфейс с выполнением работы в СУБД SQL Server, а также является «толстым» клиентом.
Платформа .NET является распределенной средой, где разнообразные и слабо связанные программируемые интернет-сервисы выполняются на различных серверах.
Стоит отметить, что для такой распределенной вычислительной системы все клиентские приложения являются в данном случае «тонкими» клиентами, что обеспечивают доступ к информации СУБД SQL Server посредством вспомогательных веб-сервисов, к примеру, с помощью Internet Information Services.
Классическим примером «тонкого» клиента являются веб-браузеры, которые установлены на ПК клиентов.