Лекция (1).ppt
- Количество слайдов: 43
МОДЕЛЬ ВЗАИМОДЕЙСТВИЯ КЛИЕНТ-СЕРВЕР
ПРОБЛЕМА: ЦЕНТРАЛИЗАЦИЯ VS ДЕЦЕНТРАЛИЗАЦИЯ Это одна из старейших проблем в IT Пример: King J. L. Centralized versus decentralized computing: organizational considerations and management options // ACM Computing Surveys. Vol. 15, Issue 4. 1983. P. 319 -349.
Введение Режимы работы с базой данных : Основные понятия При размещении БД на персональном компьютере, который не находится в сети, БД всегда используется в монопольном режиме. Даже если БД используют несколько пользователей, они могут работать с ней только последовательно, и поэтому вопросов о поддержании корректной модификации БД в этом случае здесь не стоит, они решаются организационными мерами — то есть определением требуемой последовательности работы конкретных пользователей с соответствующей БД. Однако даже в некоторых настольных БД требуется учитывать последовательность изменения данных при обработке, чтобы получить корректный результат: так, например, при запуске программы балансного бухгалтерского отчета все бухгалтерские проводки — финансовые операции должны быть решены заранее до запуска конечного приложения. Однако работа на изолированном компьютере с небольшой базой данных в настоящий момент становится уже нехарактерной для большинства приложений. БД отражает информационную модель реальной предметной области, она растет по объему и резко увеличивается количество задач, решаемых с ее использованием, и в соответствии с этим увеличивается количество приложений, работающих с единой базой данных. 3
Введение Режимы работы с базой данных : Основные понятия Компьютеры объединяются в локальные сети, и необходимость распределения приложений, работающих с единой базой данных по сети, является несомненной. Действительно, даже когда вы строите БД для небольшой торговой фирмы, у вас появляется ряд специфических пользователей БД, которые имеют свои бизнес-функции и территориально могут находиться в разных помещениях, но все они должны работать с единой информационной моделью организации, то есть с единой базой данных. Параллельный доступ к одной БД нескольких пользователей, в том случае если БД расположена на одной машине, соответствует режиму распределенного доступа к централизованной БД. (Такие системы называются системами распределенной обработки данных. ) 4
Введение Режимы работы с базой данных : Основные понятия Если же БД распределена по нескольким компьютерам, расположенным в сети, и к ней возможен параллельный доступ нескольких пользователей, то мы имеем дело с параллельным доступом к распределенной БД. Подобные системы называются системами распределенных баз данных. Понятие базы данных изначально предполагало возможность решения многих задач несколькими пользователями. В связи с этим, важнейшей характеристикой современных СУБД является наличие многопользовательской технологии работы. Разная реализация таких технологий в разное время была связана как с основными свойствами вычислительной техники, так и с развитием программного обеспечения. Дадим краткую характеристику этих технологий в хронологическом порядке. 5
Рис. 1. Режимы работы с базой данных 6
Введение Режимы работы с базой данных : Основные понятия 1. Централизованная архитектура Обработка данных с помощью мэйнфреймов (больших машин с несколькими терминалами), популярная в 70 -е годы, имела свои преимущества, утраченные позже, в эпоху персональных компьютеров и настольных СУБД. Одним из таких преимуществ была централизация хранения и обработки данных, но недостаток: все задачи пользователей выполнялись на одном компьютере и замедляли работу друга. При использовании этой технологии база данных, СУБД и приложение располагаются на одном компьютере (мэйнфрейме или персональном компьютере). Для такого способа организации не требуется поддержки сети и все сводится к автономной работе. Работа построена следующим образом: q База данных в виде набора файлов находится на жестком диске компьютера. q На том же компьютере установлены СУБД и приложение для работы с БД. q Пользователь запускает приложение. Используя предоставляемый приложением пользовательский интерфейс, он инициирует обращение к БД на выборку/обновление информации. q Все обращения к БД идут через СУБД, которая инкапсулирует внутри себя все сведения о физической структуре БД. q СУБД инициирует обращения к данным, обеспечивая выполнение запросов пользователя (осуществляя необходимые операции над данными). q Результат СУБД возвращает в приложение. q Приложение, используя пользовательский интерфейс, отображает результат 7 выполнения запросов.
Рис. 2. Централизованная архитектура 8
Введение Режимы работы с базой данных : Основные понятия Подобная архитектура использовалась в первых версиях СУБД DB 2, Oracle, Ingres Многопользовательская технология работы обеспечивалась q режимом мультипрограммирования (одновременно могли работать процессор и внешние устройства – например, пока в прикладной программе одного пользователя шло считывание данных из внешней памяти, программа другого пользователя обрабатывалась процессором), q режимом разделения времени (пользователям по очереди выделялись кванты времени на выполнение их программ). Такая технология была распространена в период "господства" больших ЭВМ (IBM-370, ЕС-1045, ЕС-1060). Основным недостатком этой модели является резкое снижение производительности при увеличении числа пользователей. 9
Модели «клиент—сервер» в технологии баз данных Вычислительная модель «клиент—сервер» исходно связана с парадигмой открытых систем, которая появилась в 90 -х годах и быстро эволюционировала. Сам термин «клиент-сервер» исходно применялся к архитектуре программного обеспечения, которое описывало распределение процесса выполнения по принципу взаимодействия двух программных процессов, один из которых в этой модели назывался «клиентом» , а другой — «сервером» . Клиентский процесс запрашивал некоторые услуги, а серверный процесс обеспечивал их выполнение. При этом предполагалось, что один серверный процесс может обслужить множество клиентских процессов. Ранее приложение (пользовательская программа) не разделялась на части, оно выполнялось некоторым монолитным блоком. Но возникла идея более рационального использования ресурсов сети. Действительно, при монолитном исполнении используются ресурсы только одного компьютера, а остальные компьютеры в сети рассматриваются как терминалы. Но теперь, в отличие от эпохи мэйнфреймов, все компьютеры в сети обладают собственными ресурсами, и разумно так распределить нагрузку на них, чтобы максимальным образом использовать их ресурсы. 10
Модели «клиент—сервер» в технологии баз данных Для воплощения идеи необходимо было разработать модель разбиения единого монолитного приложения на отдельные части и определить принципы взаимосвязи между этими частями. Основной принцип технологии «клиент—сервер» применительно к технологии баз данных заключается в разделении функций стандартного интерактивного приложения на 5 групп, имеющих различную природу: 11
Модели «клиент—сервер» в технологии баз данных q функции ввода и отображения данных (Presentation Logic); q прикладные функции, определяющие основные алгоритмы решения задач приложения (Business Logic); q функции обработки данных внутри приложения (Database Logic), q функции управления информационными ресурсами (Database Manager System); q служебные функции, играющие роль связок между функциями первых четырех групп. 12
Модели «клиент—сервер» в технологии баз данных Презентационная логика (Presentation Logic) как часть приложения определяется тем, что пользователь видит на своем экране, когда работает приложение. Сюда относятся все интерфейсные экранные формы, которые пользователь видит или заполняет в ходе работы приложения, к этой же части относится все то, что выводится пользователю на экран как результаты решения некоторых промежуточных задач либо как справочная информация. Поэтому основными задачами презентационной логики являются: q формирование экранных изображений; q чтение и запись в экранные формы информации; q управление экраном; q обработка движений мыши и нажатие клавиш клавиатуры. Некоторые возможности для организации презентационной логики приложений предоставляет знако-ориентированный пользовательский интерфейс, задаваемый моделями CICS (Customer Control Information System ) и IMS/DC фирмы IBM и моделью TSO (Time Sharing Option) для централизованной мэйнфреймовой архитектуры. Модель GUI — графического пользовательского интерфейса, поддерживается в операционных средах Microsoft's Windows, , в OS/2 Presentation Manager, и 13 OSF/Motif.
Модели «клиент—сервер» в технологии баз данных Бизнес-логика, или логика собственно приложений (Business processing Logic), — это часть кода приложения, которая определяет собственно алгоритмы решения конкретных задач приложения. Обычно этот код пишется с использованием различных языков программирования, таких как С#, C++, Cobol, Small. Talk, Visual-Basic. Логика обработки данных (Data manipulation Logic) — это часть кода приложения, которая связана с обработкой данных внутри приложения. Данными управляет собственно СУБД (DBMS). Для обеспечения доступа к данным используются язык запросов и средства манипулирования данными стандартного языка SQL Обычно операторы языка SQL встраиваются в языки 3 -го или 4 -го поколения (3 GL, 4 GL), которые используются для написания кода приложения. Процессор управления данными (Database Manager System Processing) — это собственно СУБД, которая обеспечивает хранение и управление базами данных. В идеале функции СУБД должны быть скрыты от бизнес-логики приложения, однако для рассмотрения архитектуры приложения нам надо их выделить в отдельную часть приложения. 14
Модели «клиент—сервер» в технологии баз данных В централизованной архитектуре (Host-based processing) эти части приложения располагаются в единой среде и комбинируются внутри одной исполняемой программы. В децентрализованной архитектуре эти задачи могут быть по-разному распределены между серверным и клиентским процессами. В зависимости от характера распределения можно выделить следующие модели распределений (см. рис. 3): q распределенная презентация (Distribution presentation, DP); q удаленная презентация (Remote Presentation, RP); q распределенная бизнес-логика (Remote business logic, RBL); q распределенное управление данными (Distributed data management, DDM); q удаленное управление данными (Remote data management, RDМ). 15
Рис. 3. Распределение функций приложения в моделях «клиент—сервер» 16
Модели «клиент—сервер» в технологии баз данных Различия в реализациях технологии «клиент-сервер» определяются четырьмя факторами: q тем, в какие виды программного обеспечения интегрированы каждый из этих компонентов; q тем, какие механизмы программного обеспечения используются для реализации функций первых 3 групп; q как логические компоненты распределяются между компьютерами в сети; q какие механизмы используются для связи компонентов между собой. Выделяют следующие подходы, реализованных в моделях «клиент-сервер» : Ø модель файлового сервера (File Server – FS); Ø модель сервера БД (Database Server – DBS ); Ø модель сервера приложений (Application Server - AS) 17
Модели «клиент—сервер» в технологии баз данных Двухуровневые модели Двухуровневая модель фактически является результатом распределения пяти указанных функций между двумя процессами, которые выполняются на двух платформах: на клиенте и на сервере. В чистом виде почти никакая модель не существует, однако рассмотрим наиболее характерные особенности каждой двухуровневой модели. Технология с сетью и файловым сервером (архитектура "файл-сервер") (File Server, FS). В этой модели презентационная логика и бизнес-логика располагаются на клиенте. На сервере располагаются файлы с данными и поддерживается доступ к файлам. Функции управления информационными ресурсами в этой модели находятся на клиенте. Распределение функций в этой модели представлено на рис. 4. В этой модели файлы базы данных хранятся на сервере, клиент обращается к серверу с файловыми командами, а механизм управления всеми информационными ресурсами, собственно база мета-данных, находится на клиенте. 18
Рис. 4. Архитектура "файл-сервер" 19
Модели «клиент—сервер» в технологии баз данных Развитию модели File Server, FS способствовало повсеместное увлечение настольными СУБД и их сетевыми версиями, вызванное: • доступностью, • дешевизной как самого программного обеспечения, • так и дешевизной его эксплуатации, • заставило многих пользователей на долгие годы забыть о «мэйнфреймовой» модели вычислений. Недостатки настольных СУБД обычно проявляются не сразу, а лишь в процессе длительной эксплуатации, когда объем хранимых данных и число пользователей становятся достаточно большими. Это приводит к снижению производительности приложений, использующих такие СУБД. Наиболее популярные настольные СУБД: d. Base, Paradox, Fox. Pro, Access. 20
Модели «клиент—сервер» в технологии баз данных Работа построена следующим образом: § База данных в виде набора файлов находится на жестком диске специально выделенного компьютера (файлового сервера). § Существует локальная сеть, состоящая из клиентских компьютеров, на каждом из которых установлены СУБД и приложение для работы с БД. § На каждом из клиентских компьютеров пользователи имеют возможность запустить приложение. Используя предоставляемый приложением пользовательский интерфейс, он инициирует обращение к БД на выборку/обновление информации. § Все обращения к БД идут через СУБД, которая инкапсулирует внутри себя все сведения о физической структуре БД, расположенной на файловом сервере. § СУБД инициирует обращения к данным, находящимся на файловом сервере, в результате которых часть файлов БД копируется на клиентский компьютер и обрабатывается, что обеспечивает выполнение запросов пользователя (осуществляются необходимые операции над данными). § При необходимости (в случае изменения данных) данные отправляются назад на файловый сервер с целью обновления БД. § Результат СУБД возвращает в приложение. § Приложение, используя пользовательский интерфейс, отображает результат выполнения запросов. 21
Модели «клиент—сервер» в технологии баз данных Достоинства этой модели в том, что мы уже имеем разделение монопольного приложения на два взаимодействующих процесса. При этом сервер (серверный процесс) может обслуживать множество клиентов, которые обращаются к нему с запросами. Собственно СУБД должна находиться в этой модели на клиенте. В рамках архитектуры " файл-сервер " были выполнены первые версии информационных систем на базе популярных так называемых настольных СУБД, таких, как d. Base и Microsoft Access. Следующие основные недостатки данной архитектуры: • При одновременном обращении множества пользователей к одним и тем же данным производительность работы резко падает, т. к. необходимо дождаться пока пользователь, работающий с данными, завершит свою работу. В противном случае возможен конфликт исправлений, сделанных одними пользователями, с изменениями других пользователей. 22
Модели «клиент—сервер» в технологии баз данных • Вся тяжесть вычислительной нагрузки при доступе к БД ложится на приложение клиента, так как при выдаче запроса на выборку информации из таблицы вся таблица БД копируется на клиентскую машину и выборка осуществляется на клиенте. Таким образом, не оптимально расходуются ресурсы клиентского компьютера и сети. В результате возрастает сетевой трафик и увеличиваются требования к аппаратным мощностям пользовательского компьютера. • Как правило, используется навигационный подход, ориентированный на работу с отдельными записями. • В БД на файл-сервере гораздо проще вносить изменения в отдельные таблицы, минуя приложения, непосредственно из инструментальных средств (например, из утилиты Database Desktop фирмы Borland для файлов Paradox и d. Base); подобная возможность облегчается тем обстоятельством, что фактически у таких СУБД база данных – понятие более логическое, чем физическое, поскольку под БД понимается набор отдельных таблиц, сосуществующих в отдельном каталоге на диске. Все это позволяет говорить о низком уровне безопасности – как с точки зрения хищения и нанесения вреда, так и с точки зрения внесения 23 ошибочных изменений.
В целом, в файл-серверной архитектуре мы имеем "толстого" клиента и очень "тонкий" сервер в том смысле, что почти вся работа выполняется на стороне клиента, а от сервера требуется только достаточная емкость дисковой памяти. Поскольку в настольных СУБД вся реальная обработка данных осуществляется в клиентском приложении, то при выполнении запросов данные, на основании которых выполняется такой запрос, должны быть доставлены в адресное пространство клиентского приложения. Доставляться может одна или несколько таблиц целиком либо, в лучшем случае, один или несколько индексов и выбранные с их помощью части таблиц. Это и приводит к перегрузке сети при увеличении числа пользователей и объема данных, а также грозит иными неприятными последствиями, например разрушением индексов и таблиц. Недаром существует большое количество утилит для <ремонта> испорченных файлов настольных СУБД. 24
Модели «клиент—сервер» в технологии баз данных Модель сервера баз данных (DBS) Для того чтобы избавиться от недостатков модели удаленного доступа, должны быть соблюдены следующие условия: 1) Необходимо, чтобы БД в каждый момент отражала текущее состояние предметной области, которое определяется не только собственно данными, но и связями между объектами данных. То есть данные, которые хранятся в БД, в каждый момент времени должны быть непротиворечивыми. 2) БД должна отражать некоторые правила предметной области, законы, по которым она функционирует (business rules). Например, завод может нормально работать только в том случае, если на складе имеется некоторый достаточный запас (страховой запас) деталей определенной номенклатуры, деталь может быть запущена в производство только в том случае, если на складе имеется в наличии достаточно материала для ее изготовления, и т. д. 3) Необходим постоянный контроль за состоянием БД, отслеживание всех изменений и адекватная реакция на них: например, при достижении некоторым измеряемым параметром критического значения должно произойти отключение определенной аппаратуры, при уменьшении товарного запаса ниже допустимой нормы должна быть сформирована 25 заявка конкретному поставщику на поставку соответствующего товара.
Модели «клиент—сервер» в технологии баз данных Модель сервера баз данных (DBS) 4) Необходимо, чтобы возникновение некоторого события в БД четко и оперативно влияло на ход выполнения прикладной задачи. 5) Одной из важнейших проблем СУБД является контроль типов данных. В настоящий момент СУБД контролирует синтаксически только стандартно-допустимые типы данных, то есть такие, которые определены в DDL (data definition language) — языке описания данных, который является частью SQL. Однако в реальных предметных областях у нас действуют данные, которые несут в себе еще и семантическую составляющую, например, это координаты объектов или единицы различных метрик, например рабочая неделя в отличие от реальной имеет сразу после пятницы понедельник. Данную модель поддерживают большинство современных СУБД: Informix, Ingres, Sybase, Oracle, MS SQL Server. Основу данной модели составляет механизм хранимых процедур как средство программирования SQLсервера, механизм триггеров как механизм отслеживания текущего состояния информационного хранилища и механизм ограничений на пользовательские типы данных, который иногда называется механизмом поддержки доменной структуры. Модель сервера баз данных представлена 26 на рис. 9.
Рис. 9. Модель активного сервера БД 27
Модели «клиент—сервер» в технологии баз данных Модель сервера баз данных (DBS) В этой модели бизнес-логика разделена между клиентом и сервером. На сервере бизнес-логика реализована в виде хранимых процедур — специальных программных модулей, которые хранятся в БД и управляются непосредственно СУБД. Клиентское приложение обращается к серверу с командой запуска хранимой процедуры, а сервер выполняет эту процедуру и регистрирует все изменения в БД, которые в ней предусмотрены. Сервер возвращает клиенту данные, релевантные его запросу, которые требуются клиенту либо для вывода на экран, либо для выполнения части бизнес-логики, которая расположена на клиенте. Трафик обмена информацией между клиентом и сервером резко уменьшается. Централизованный контроль в модели сервера баз данных выполняется с использованием механизма триггеров. Триггеры также являются частью БД. 28
Модели «клиент—сервер» в технологии баз данных Модель сервера баз данных (DBS) Термин «триггер» взят из электроники и семантически очень точно характеризует механизм отслеживания специальных событий, которые связаны с состоянием БД. Триггер в БД является как бы некоторым тумблером, который срабатывает при возникновении определенного события в БД. Ядро СУБД проводит мониторинг всех событий, которые вызывают созданные и описанные триггеры в БД, и при возникновении соответствующего события сервер запускает соответствующий триггер. Каждый триггер представляет собой также некоторую программу, которая выполняется над базой данных. Триггеры могут вызывать хранимые процедуры. Механизм использования триггеров предполагает, что при срабатывании одного триггера могут возникнуть события, которые вызовут срабатывание других триггеров. Этот мощный инструмент требует тонкого и согласованного применения, чтобы не получился бесконечный цикл срабатывания триггеров. В данной модели сервер является активным, потому что не только клиент, но и сам сервер, используя механизм триггеров, может быть инициатором 29 обработки данных в БД.
Модели «клиент—сервер» в технологии баз данных Модель сервера баз данных (DBS) И хранимые процедуры, и триггеры хранятся в словаре БД, они могут быть использованы несколькими клиентами, что. существенно уменьшает дублирование алгоритмов обработки данных в разных клиентских приложениях. Для написания хранимых процедур и триггеров используется расширение стандартного языка SQL, так называемый встроенный SQL. Такая концепция активного сервера опирается на четыре «столпа» : 1. процедуры БД; 2. правила (триггеры); 3. события в БД; 4. типы данных, определяемые пользователем прикладных программ. 30
Модели «клиент—сервер» в технологии баз данных Модель сервера баз данных (DBS) Недостатком данной модели является очень большая загрузка сервера. Действительно, сервер обслуживает множество клиентов и выполняет следующие функции: q осуществляет мониторинг событий, связанных с описанными триггерами; q обеспечивает автоматическое срабатывание триггеров при возникновении связанных с ними событий; q обеспечивает исполнение внутренней программы каждого триггера; q запускает хранимые процедуры по запросам пользователей; q запускает хранимые процедуры из триггеров; q возвращает требуемые данные клиенту; q обеспечивает все функции СУБД: доступ к данным, контроль и поддержку целостности данных в БД, контроль доступа, обеспечение корректной параллельной работы всех пользователей с единой БД. Если мы переложили на сервер большую часть бизнес-логики приложений, то требования к клиентам в этой модели резко уменьшаются. Иногда такую модель называют моделью с «тонким клиентом» , в отличие от предыдущих моделей, где на клиента возлагались гораздо более серьезные задачи. 31
Модели «клиент—сервер» в технологии баз данных Модель сервера приложений (AS) Эта модель является расширением двухуровневой модели и в ней вводится дополнительный промежуточный уровень между клиентом и сервером. Архитектура трехуровневой модели приведена на рис. 10. Этот промежуточный уровень содержит один или несколько серверов приложений. В этой модели компоненты приложения делятся между тремя исполнителями: q Клиент обеспечивает логику представления, включая графический пользовательский интерфейс, локальные редакторы; клиент может запускать локальный код приложения клиента, который может содержать обращения к локальной БД, расположенной на компьютереклиенте. Клиент исполняет коммуникационные функции front-end части приложения, которые обеспечивают доступ клиенту в локальную или глобальную сеть. Дополнительно реализация взаимодействия между клиентом и сервером может включать в себя управление распределенными транзакциями, что соответствует тем случаям, когда клиент также является клиентом менеджера распределенных транзакций. 32
Модели «клиент—сервер» в технологии баз данных Модель сервера приложений (AS) q Серверы приложений составляют новый промежуточный уровень архитектуры. Они спроектированы как исполнения общих не загружаемых функций для клиентов. Серверы приложений поддерживают функции клиентов как частей взаимодействующих рабочих групп, поддерживают сетевую доменную операционную среду, хранят и исполняют наиболее общие правила бизнес-логики, поддерживают каталоги с данными, обеспечивают обмен сообщениями и поддержку запросов, особенно в распределенных транзакциях. q Серверы баз данных в этой модели занимаются исключительно функциями СУБД: обеспечивают функции создания и ведения БД, поддерживают целостность реляционной БД, обеспечивают функции хранилищ данных (warehouse services). Кроме того, на них возлагаются функции создания резервных копий БД и восстановления БД после сбоев, управления выполнением транзакций и поддержки устаревших (унаследованных) приложений (legacy application). 33
Рис. 10. Модель сервера приложений 34
Модели «клиент—сервер» в технологии баз данных Модель сервера приложений (AS) Отметим, что эта модель обладает большей гибкостью, чем двухуровневые модели. Наиболее заметны преимущества модели сервера приложений в тех случаях, когда клиенты выполняют сложные аналитические расчеты над базой данных, которые относятся к области OLAP-приложений. (On-line analytical processing. ) В этой модели большая часть бизнес-логики клиента изолирована от возможностей встроенного SQL, реализованного в конкретной СУБД, и может быть выполнена на стандартных языках программирования. Это повышает переносимость системы, ее масштабируемость. Двухзвенная архитектура проще, так как все запросы обслуживаются одним сервером, но именно из-за этого она менее надежна и предъявляет повышенные требования к производительности сервера. Трехзвенная архитектура (рис. 11) сложнее, но благодаря тому, что функции распределены между серверами второго и третьего уровня, эта архитектура представляет: • Высокую степень гибкости и масштабируемости. • Высокую безопасность (т. к. защиту можно определить для каждого сервиса или уровня). • Высокую производительность (т. к. задачи распределены между серверами) 35
Рис. 11. Архитектура сервера приложений 36
Модели «клиент—сервер» в технологии баз данных Модель сервера приложений (AS) За выполнением низкоуровневых операций по доступу и изменению данных сервер приложений, как в RDA-модели, обращается к SQLсерверу, направляя ему вызовы SQL-процедур, и получая, соответственно, от него наборы данных. Как известно, последовательная совокупность операций над данными (SQL-инструкций), имеющая отдельное смысловое значение, называется транзакцией. В этом отношении сервер приложений от клиентов системы управляет формированием транзакций, которые выполняет SQL-сервер. Поэтому программный компонент СУБД, инсталлируемый на сервере приложений, еще называют также монитором обработки транзакций (Transaction Processing Monitors — TRM), или просто монитором транзакций. AS-модель, сохраняя сильные стороны DBS-модели, позволяет более оптимально построить вычислительную схему информационной системы, однако, как и в случае RDA-модели, повышает трафик сети. В еще не устоявшейся до конца терминологии по моделям и технологиям «Клиент-сервер» DBS-модель и AS-модель как модели, соответственно, с «тонкими» клиентами. По критерию звеньев системы DBS-модель называют двухзвенными (двухуровневыми) системами, a AS-модель трехзвенной 37 (трехуровневой) системой
Модели «клиент—сервер» в технологии баз данных В архитектуре " клиент – сервер " работают так называемые "промышленные" СУБД. Промышленными они называются из-за того, что именно СУБД этого класса могут обеспечить работу информационных систем масштаба среднего и крупного предприятия, организации, банка. К разряду промышленных СУБД принадлежат MS SQL Server, Oracle, Informix, Sybase, DB 2, Inter. Base и ряд других. Как правило, SQL-сервер обслуживается отдельным сотрудником или группой сотрудников (администраторы SQL-сервера). Они управляют физическими характеристиками баз данных, производят оптимизацию, настройку и переопределение различных компонентов БД, создают новые БД, изменяют существующие и т. д. , а также выдают привилегии (разрешения на доступ определенного уровня к конкретным БД, SQLсерверу) различным пользователям. 38
Модели «клиент—сервер» в технологии баз данных Что дает архитектура клиент-сервер? Посмотрим на данную архитектуру с точки зрения потребностей бизнеса. Какие же качества привносит клиент-сервер в информационную систему? • Надежность Сервер баз данных осуществляет модификацию данных на основе механизма транзакций, который придает любой совокупности операций, объявленных как транзакция, следующие свойства: • атомарность - при любых обстоятельствах будут либо выполнены все операции транзакции, либо не выполнена ни одна; целостность данных при завершении транзакции; • независимость - транзакции, инициированные разными пользователями, не вмешиваются в дела друга; • устойчивость к сбоям - после завершения транзакции, ее результаты уже не пропадут. Механизм транзакций, поддерживаемый сервером баз данных, намного более эффективен, чем аналогичный механизм в настольных СУБД, т. к. сервер централизованно контролирует работу транзакций. Кроме того, в файл-серверной системе сбой на любой из рабочих станций может привести к потере данных и их недоступности для других рабочих станций, в то время, как в клиент-серверной системе сбой на клиенте, практически, никогда не сказывается на целостности 39 данных и их доступности для других клиентов.
Модели «клиент—сервер» в технологии баз данных Масштабируемость - способность системы адаптироваться к росту количества пользователей и объема базы данных при адекватном повышении производительности аппаратной платформы, без замены программного обеспечения. Общеизвестно, что возможности настольных СУБД серьезно ограничены - это пять-семь пользователей и 30 -50 Мб, соответственно. Цифры, разумеется, представляют собой некие средние значения, в конкретных случаях они могут отклоняться как в ту, так и в другую сторону. Что наиболее существенно, эти барьеры нельзя преодолеть за счет наращивания возможностей аппаратуры. Системы же на основе серверов баз данных могут поддерживать тысячи пользователей и сотни ГБ информации - дайте им только соответствующую аппаратную платформу. 40
Модели «клиент—сервер» в технологии баз данных Безопасность Сервер баз данных предоставляет мощные средства защиты данных от несанкционированного доступа, невозможные в настольных СУБД. При этом, права доступа администрируются очень гибко - до уровня полей таблиц. Кроме того, можно вообще запретить прямое обращение к таблицам, осуществляя взаимодействие пользователя с данными через промежуточные объекты - представления и хранимые процедуры. Так что администратор может быть уверен - никакой слишком умный пользователь не прочитает то, что ему читать не положено. Гибкость В приложении, работающем с данными, можно выделить три логических слоя: q пользовательского интерфейса; q правил логической обработки (бизнес-правил); q управления данными (не следует только путать логические слои с физическими уровнями). 41
Наиболее популярные серверные СУБД Производитель Url Oracle Corp. http: //www. oracle. com/ Microsoft SQL Server Microsoft http: //www. microsoft. co m/ Informix http: //www. informix. com/ Sybase http: //www. sybase. com/ DB 2 IBM http: //www-4. ibm. com/ 42
• Режимы работы с базой данных: централизованная и децентрализованная архитектуры • Функции стандартного интерактивного приложения • Модель файлового сервера(File. Server – FS) • Модель сервера БД (Database Server – DBS) • Модель сервера приложений (Application. Server - AS) • Достоинства архитектуры «клиент-сервер» • Характерные черты современных серверных СУБД 43
Лекция (1).ppt