Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 700108.doc
Скачиваний:
6
Добавлен:
01.05.2022
Размер:
629.25 Кб
Скачать

4.7.3. Выбор подхода при построении многопользовательской базы данных

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

Выбор архитектуры клиент-сервер

Перед переходом на архитектуру клиент-сервер разработчику следует подумать о том, какой тип и размер будет иметь создаваемое приложение, и о типе доступа к информации. Этот вариант следует внимательно рассматривать в случаях, перечисленных ниже.

1. В случае, если размер большинства таблиц в БД может превы­сить 25 Мбайт, применение архитектуры клиент-сервер может оказать­ся разумным. Чем больше размер базы данных, тем менее оправдано использование базы данных на файл-сервере, т.к. при этом каждый раз все хранящиеся в таблицах данные будут перемещаться по сети.

2. Технология клиент-сервер является подходящим выбором, если необходимо обеспечить возможность удаленного доступа к данным с использованием средств связи. Передача данных на большое расстоя­ние дорого стоит, и естественно желание разработчиков свести вре­менные затраты к минимуму.

3. Технологию клиент-сервер следует рассматривать в том слу­чае, если разрабатываемая система должна поддерживать работу с группой активных пользователей. Если с системой будет работать бо­лее 20-30 пользователей, одновременно обращающихся к БД в любой момент времени, то использование БД на файл-сервере приведет к возникновению проблем с производительностью.

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

Перед началом разработки многопользовательской БД необходимо выбрать клиентские и серверные компоненты будущей системы. Несмот­ря на то, что при проектировании системы в архитектуре клиент-сер­вер разработчик обладает большей свободой выбора, компоненты таких систем взаимозависимы, так что разумно выбрать все составные части одновременно. При построении системы с самого начала первым делом выбирается аппаратное и программное обеспечение для сервера, а за­тем проектируется инфраструктура. В последнюю очередь осуществля­ется подбор инструментов для создания клиентской части.

В качестве программного обеспечения для сервера следует выби­рать продукт, обладающий сильной поддержкой со стороны независимых производителей. Это дает разработчику большую свободу при выборе инструментов для создания клиентских приложений и при проектирова­нии инфраструктуры. Также следует убедиться, что БД может работать на разных аппаратных платформах. Informix, Oracle Server, SQL Ser­ver и SQL Base обладают этими свойствами. Из перечисленных систем наибольшее распространение в нашей стране получили Oracle и Infor­mix. Обычно Oracle применяется для построения более крупномасштаб­ных БД.

Построение инфраструктуры системы клиент-сервер

В данном контексте под инфраструктурой понимается операцион­ная система на сервере, сетевой протокол и аппаратная часть серве­ра. Ниже перечислены основные правила, которые следует соблюдать при планировании инфраструктуры.

1. Количество сетевых протоколов должно быть сведено к одному или двум; новые операционные системы не должны использоваться, ес­ли в них нет абсолютной уверенности.

2. Компьютер, на котором находится сервер БД, не должен ис­пользоваться в качестве файл- и принт-сервера, т.е. не следует подключать к этой машине сетевой принтер и использовать ее диски для хранения файлов коллективного пользования (несмотря на то, что это более просто и экономично). Ни одна из операционных систем не застрахована от сбоя, и использование сервера для большого коли­чества разных задач снижает надежность системы.

3. В качестве операционной системы разработчик должен исполь­зовать ОС, с которой он хорошо знаком. В настоящее время идут ак­тивные дискуссии по поводу того, какая ОС больше всего подходит для сервера рассматриваемой архитектуры. Наиболее часто упоминают­ся UNIX, Windows NT и OS/2 (при этом использование OS/2 ограничи­вает выбор компьютерами на платформе Intel). UNIX - наиболее зре­лая ОС. Она поддерживает многопроцессорную обработку и работает на широком спектре различных аппаратных платформ. Это может быть In­tel-машина или RISC-сервер. Проблема UNIX - его сложность. Windows NT также поддерживает множество платформ и процессоров. Недостат­ком является новизна этой ОС.

4. Следует обратить пристальное внимание на сетевые протоко­лы, используемые выбираемой СУБД. Несмотря на то, что большинство СУБД использует стандартные протоколы, такие как IPX или TCP/IP, иногда им требуются собственные драйверы. В том случае, если ло­кальная сеть работает под управлением Novell NetWare, разработчику следует использовать СУБД, работающую с IPX. В противном случае надо выбирать систему, поддерживающую TCP/IP. Следует воздержи­ваться от применения протоколов NetBIOS и NetBEUI, т.к. они ис­пользуют слишком много памяти на клиентских машинах и недостаточно надежны при работе в больших сетях.

5. В качестве сервера следует выбирать машину, специально спроектированную для выполнения функций сервера, а не просто быст­рый ПК. Эта машина должна быть оснащена достаточным количеством оперативной памяти для поддержки кэширования и буферизации испол­няемых процессов. Сервер будет содержать самое ценное - данные. При этом производительность является критическим параметром. Так как процесс создания резервной копии базы данных достаточно сло­жен, можно рассмотреть вариант использования дисковых массивов RAIDs (Redundant Arrays of Inexpensive Disks). Данные будут копи­роваться на несколько дисков для повышения надежности хранения ин­формации.

Инструменты для создания клиентской части

Существует большое количество инструментов для построения клиентских приложений, ориентированных как на профессиональных разработчиков, так и на конечных пользователей. Инструменты разра­ботчика различаются по форме и реализуемым функциям. Это языки программирования, редакторы экранов, CASE-инструменты. Инструменты для конечных пользователей обычно позволяют производить анализ данных, построение отчетов и извлечение данных из БД. Так как каж­дый из продуктов реализует различный набор функций, разработчики часто используют в работе сразу несколько подобных инструментов. Наиболее известными в среде Windows являются PowerBuilder фирмы PowerSoft, Microsoft Visual Basic и Gupta SQL Windows. Каждый из этих продуктов обладает сильной поддержкой со стороны независимых поставщиков. Персональные СУБД типа Access и Paradox могут исполь­зоваться как в качестве инструмента для доступа к таблицам, храня­щимся на сервере, так и для создания полнофункциональных клиент­ских приложений. Некоторые вновь появляющиеся продукты типа Visual FoxPro содержат инструментарий, позволяющий автоматически пе­реводить свои базы данных в архитектуру клиент-сервер (upsizing). Возрастающую популярность приобретает в последнее время объект­но-ориентированная среда разработки приложений NewEra фирмы Infor­mix. В качестве продуктов, ориентированных на конечного пользова­теля, следует отметить Gupta Quest и PowerSoft PowerMaker (постро­ение отчетов); Trinzic Forest & Trees (доступ к таблицам БД для анализа данных); электронные таблицы типа Lotus 1-2-3 и Microsoft Excel/Access.

Выбор правильного подхода при построении многопользователь­ских систем является в высшей степени сложной задачей, требующей профессионального подхода. И если разработка базы данных на файл-сервере под силу одному человеку, то эффективная реализация многопользовательской БД в архитектуре клиент-сервер требует нали­чия команды разработчиков-профессионалов, имеющих большой практи­ческий опыт работы в этой области.