Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Плещёв БД 2013-03-15.doc
Скачиваний:
3
Добавлен:
01.04.2025
Размер:
12.65 Mб
Скачать

1.4. Модели использования баз данных в сети

1.4.1. Сеть

Сетью называют множество компьютеров и рабочих станций (РС), соединенных средствами передачи данных. Сети бывают локальные или корпоративные (ЛВС функционирует в пределах одной организации) и глобальные (в пределах города, региона, страны или нескольких стран). Управление сетью осуществляется пакетами сетевых программ или сете­вой операционной системой (СОС). Стандартизация взаимодействия лю­бых вычислительных систем обеспечивается протоколом OSI (X25), разра­ботанным Междуна­род­ной ор­га­низацией по стандартизации ISO (International Organization for Stan­dar­dization). Этот протокол состоит из семи уровней: прикладной, пред­ставительный, сеансовый, транспортный, сетевой, канальный и физи­ческий. Любой уровень протокола может взаи­модействовать только с со­сед­ними уровнями.

Основные аппаратные компоненты ЛВС: рабочие станции (обычно персональные компьютеры), серверы (компьютеры, выполняющие функ­ции распределения ресурсов и управления подключенных к ним PC), ин­терфейсные платы (сетевые адаптеры) и кабели (коаксиальный кабель, “витая пара”, оптоволокно, беспроводные радиосети), источники бес­пе­ре­бой­ного питания, модемы, трансиверы, повторители, разъемы (коннек­то­ры, терминаторы и др.). Сетевые адаптеры имеют характеристики: тип ши­ны подключаемого компьютера (ISA, EISA, Micro Channel и др.), разряд­ность (8, 16, 32, 64, 128) и метод доступа к сетевому каналу данных (Ethernet ‑ линейная топология, Arcnet ‑ звездная, Token‑Ring (кольцевая)).

Выделяются два основных класса топологий сети: широкове­ща­тель­ный (каждый компьютер передает сигналы, восприни­мае­мы­­е другими ком­пь­ютерами) и последовательный (каждый физический подуровень пе­ре­дает данные одному компьютеру).

Существуют два принципа управления в ЛВС: централизованный и децентрализованный.

В централизованной сети несколько ПЭВМ яв­ляют­ся центральными (KC ‑ компьютер‑сервер), а остальные ‑ рабочими стан­ция­ми (РС). Наз­на­че­ние KC: управление передачей и хранением дан­ных. Сетевыми ОС, реа­лизующими централизованное управление являются: Microsoft Windows NT Server, Microsoft Lan Manager, Novell NetWare, OS/2 Warp Server Advan­ce, VINES 6.0 и др.

Достоинства: защита от несанкционированного дос­ту­па, удобство уп­­равления сетью. Недостатки: низкая надежность и эффективность.

В децентрализованной (линейной, одноранговой) сети нет КС. Функ­­ции управления сетью поочередно передаются от одного компьютера к другому. Основные программные средства управления такими сетями: Novel NetWare Lite, Windows for Workgroups, Windows 95/98, Artisoft LANtastic, LANsmart.

Достоинства: надежность, простота, более низкая стоимость. Не­достатки: слабая защита и плохое управление сетью.

При работе в сети используются понятия “сервер” (компонент сети, предоставляющий пользователю-клиенту ресурсы сети: компьютер, фай­лы, таблицы, печать и др.) и “клиент” (потре­би­тель ресурсов).

1.4.2. Модели использования баз данных

Рассмотрим основные модели использования баз данных.

Локальная ‑ приложение и база находятся на одном компьютере. Дос­­­тоинства: наличие большого числа готовых СУБД, простота. Не­дос­та­ток: отсутствие возможности эффективной работы в многополь­зо­ва­тель­ском режиме.

Двухзвенные модели

Файл‑серверная (удаленного доступа к данным, модель RDA ‑ Re­mo­te Da­ta Access) ‑ база данных находится на другом компьютере, ко­то­рый называется файл‑сервером, и приложение обращается за информацией к файлу‑серверу.

Достоинство: наличие большого числа СУБД и програм­мных средств, работающих в этом режиме. Недостаток: пере­груз­ка каналов связи, так как фактически вся база копируется по каналам на клиентскую машину.

Клиент‑серверная (модель сервера БД, DBS ‑ Da­taBase Server) ‑ от­ли­­ча­ет­ся от предыдущей модели тем, что запросы в виде хранимых про­цедур хранятся и выполняются на сер­вере (СУБД Oracle, Ingress, Sybase).

Достоинства: централизованное управление разра­боткой и вы­пол­нением приложения, уменьшение объемов пересылаемой инфор­ма­ции по сети. Недостаток: ограниченные возможности храни­мых про­це­дур, кото­рые обычно разрабатываются на SQL.

Распределение представления ‑ исполь­зуется мощ­ный сер­вер (хост‑ма­­шина) и много клиентских де­ше­вых X‑тер­ми­налов с централи­зо­ван­ным управлением.

Достоинства: прос­тота управления центра­ли­зован­ной обработкой дан­ных, дешевизна. Недостатки: низкая на­­дежность и произво­ди­тель­ность при большом числе клиентов.

Распределение функций ‑ выполнение общих (контроль за це­лост­ностью базы, выполнение хранимых процедур) и специальных (ори­ги­нальный контроль и обработка данных) функций прило­же­ния распре­де­ле­но между сервером и клиентской машиной соответственно.

Распределенная база ‑ данные хранятся как на сервере, так и на клиентских машинах в виде отдельных частей или синхронизируемых ко­пий. Достоинства: гибкость, надежность. Недостаток: вы­со­кие затраты.

Трехзвенная распределенная модель (компонентная или AS‑модель сервера приложений ‑ Application Server) ‑ к серверам баз добавляются сер­ве­ры приложений, на которых выполняются приложения клиентов. Клиент фор­ми­рует исходную информацию для расчета, посылает запрос на выпол­не­ние расчета на сервер приложения, где он и выполняется. При необхо­ди­мос­ти сервер при­ло­жения формирует запрос к серверу таблицы, который выполняет запрос, и результат посылает на сервер приложения. После вы­полнения расчета на сервере приложений результат посылается клиенту. Это поз­во­ля­ет разгрузить сервер таблицы за счет сервера при­ложе­ния. Эта модель предполагает работу с очередями. Возмож­ность хра­не­ния очере­дей в долговременной памяти позволяет сох­ра­нить эти оче­ре­ди и возобно­вить с точки, где произошел сбой.

Дос­тоин­ст­ва: гибкость и универсаль­ность. Недостаток: более вы­со­кие затраты.

Клиент‑Интернет (“тонкий клиент”). Доступ к базе данных реа­ли­зуется из броузера Интернет. Это снижает требования к клиентской ма­ши­не, при этом не требуется разработка специальных программ и про­то­колов об­мена. Доступ к базе данных может быть как на стороне клиента, так и на стороне сервера. Внешние программы (CGI‑сценарии, CGI‑ск­рип­тами, ASP‑страницы) взаимодействуют с сер­ве­ром БД на языке SQL или на командном языке работы с базой (Visual Basic [5], Delphi, C++ Builder, Visual C++ [6]) через драйверы ODBC или языки прог­рам­ми­ро­­ва­ния, обес­пе­чи­вающие уни­фи­ци­ро­ван­ный доступ к базам данных с раз­лич­ными СУБД. Внешние программы пишутся на языках C++, Delphi, Perl.

Интерфейс ODBC (Open Database Connectivity ‑ совместимость от­крытых баз данных) является посредником между приложением и СУБД; обеспечивает доступ из приложения к базам с различными СУБД. В состав ODBC входят драйверы (для каждой СУБД один драйвер, который преоб­разует форматы данных и команды приложения в форматы и ко­ман­ды СУБД и обратно) и диспетчер драйверов, который подключает нуж­ный драйвер.

Схема доступа к БД на стороне сервера

Создается Web‑страница, ко­то­рая содержит форму с полями для корректировки базы или для отображения значений из базы.

Запрос пользователем Web‑страницы с формой общения с БД.

Заполнение пользователем формы, ее контроль средствами языков VBScript или JavaScript и отправка ее Web‑серверу.

Web‑сервер получает эту форму и запускает программу (ASP‑стра­ницу) ее обработки (имя ее указано в атрибуте ACTION тега <FORM>).

Внешняя программа (ASP‑страница), используя значения полей формы, формирует за­прос на языке SQL, с которым обращается к БД. При использовании ASP‑страницы доступ к базе можно осуществить в проце­ду­рах сценария (тег <SCRIPT>) командами доступа к базе по технологии ADO, что яв­ля­ет­ся более универсальным, но трудоемким. Если в теге <SCRIPT> указать атрибут RUNAT=”Server”, то сценарии выполняются на стороне сер­вера, иначе ‑ на стороне Web‑клиента.

После получения результата внешняя программа (ASP‑страница) формирует HTML‑до­ку­мент, который передается Web‑клиенту.

Достоинства: языковая независимость, сценарий выполняется как отдельный процесс, независимость от архитектуры сервера. Недостатки: отсутствие постоянного соединения с БД, низкая скорость. Для устранения этих недостатков вместо CGI‑спецификации нужно использовать специфи­ка­цию API (интерфейсы NSAPI, ISAPI, компаний Netscape и Microsoft), программы будут привязаны к интерфейсу и к архитектуре сервера. Ин­терфейс FastCGI близок к CGI и сочетает преимущества CGI и API.

Схема доступа к БД на стороне клиента с использованием Java

  • На языке Java пишутся программы‑апплеты, выпол­ня­емые на лю­бых платформах в интерпретирующем режиме и хранятся на сервере.

  • Составляется HTML‑документ с вызовом нужных апплетов.

  • При выводе HTML‑документа в окне броузера вызываются и на­ст­­раиваются нужные апплеты.

  • При выполнении апплета выбирается информация из базы и пе­ре­сы­лается пользователю.

Схема доступа к БД на стороне клиента с использованием VBScript, ASP и ADO практически совпадает с доступом на стороне сер­ве­ра, только в теге <SCRIPT> не указывается атрибут RUNAT=”Server” и сценарии в ASP‑странице выполняются на стороне клиента.