Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Архитектура систем управления базами



Данных

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

При описании архитектур обработки данных используются разнообразные термины, поэтому дадим определения основных понятий, используемых в книге. Следующие определения относятся к архитектуре «клиент-сервер».

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

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

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

Функцией клиента являются инициирование установления связи, запрос конкретного вида обслуживания, получение от сервера результатов, и подтверждение окончания обслуживания. Хотя клиент может запросить синхронное или асинхронное уведомление об окончании обслуживания, он сам не управляет синхронизацией обслуживания и связи.

Основным назначением архитектуры «клиент-сервер» является обеспечение прикладным программам клиента доступа к данным, которыми управляет сервер. Архитектура «клиент-сервер» позволяет нескольким клиентам совместно эффективно использовать один сервер.

При использовании этой архитектуры высокая производительность распределенной автоматизированной системы обеспечивается за счет эффективного управления передачей запросов к серверу баз данных и возвратом полученных в результате этих запросов данных клиенту. Клиент взаимодействует с сервером баз данных с помощью языка, ориентированного на работу с базами данных (обычно это язык SQL). После обработки запроса клиента сервер баз данных посылает клиенту обратно только данные, которые удовлетворяют запросу.

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

Рассмотрим преимущества и недостатки архитектуры «клиент- сервер». Путем распределения вычислений достигается гибкость и масштабируемость системы: во-первых, каждый компьютер в системе можно выбирать так, чтобы он лучше всего подходил к требованиям каждого компонента. Например, для сервера можно выбрать мощный многопроцессорный компьютер с большим объемом памяти под управлением защищенной многопользовательской операционной системы UNIX-класса. Такой сервер будет выдерживать требуемый уровень нагрузки. Для рабочих станций, на которых будет развернуто клиентское программное обеспечение, требования совсем другие. Как правило, это так называемый офисный компьютер. Во-вторых, такая система обладает хорошей

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

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

системы, построенной по технологии «клиент-сервер», тем выше вероятность отказа любого из ее компонентов. В очень сложную проблему может превратиться процесс смены клиентского программного обеспечения, особенно если в системе работает большое число рабочих станций.

Изложенные выше недостатки архитектуры «клиент-сервер» стимулировали поиск новых архитектур обработки данных, одним из результатов которого стала многозвенная архитектура, свободная от некоторых недостатков своей предшественницы. Интернет/интранет— магистральное направление развития информационных технологий и многозвенная архитектура, специально предназначенная для работы в этой среде.

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

Аналогично технологии «клиент-сервер» дадим ряд определений, существенных для описания многозвенной архитектуры. В ее состав входит универсальный клиент — определим его как процесс, посылающий запрос на обслуживание и способный осуществить отображение его результатов на основе некоторого универсального протокола выдачи информации. Основное отличие универсальных клиентов от обычных — способность предоставления пользователю интерфейса для решения любых задач, низкая стоимость внедрения, администрирования и поддержки. Как правило, это браузер, программа просмотра сценариев на каком-либо языке разметки. Браузер может поддерживать с помощью run-time расширений и другие форматы файлов. Приложения, используемые в качестве таких расширений, хранят все свои файлы на клиенте. Когда браузер встречает вызов такого расширения, он загружает соответствующие исполнимые файлы и запускает приложение.

Сервер приложений — совокупность логических процессов, реализующих бизнес-логику на основании данных, предоставляемых сервером баз данных и передающих результаты вычислений универсальному клиенту через некоторую среду передачи данных. Администрирование и обслуживание приложений осуществляются полностью на сервере приложений, а не на стороне клиента, поэтому обновлять программные модули универсального клиента (браузера) приходится довольно редко. Основными экономическими преимуществами данной архитектуры являются:

— относительно низкие затраты на внедрение и эксплуатацию;

— высокая способность к интеграции существующих информационных ресурсов;

— прикладные программные средства доступны с любого клиентского рабочего места;

— минимальный состав программно-технических средств на клиентском рабочем месте.

Опираясь на концепцию многозвенной архитектуры, Oracle предлагает три базовых элемента информационной системы:

— сервер баз данных Oracle;

— универсальный сервер приложений Oracle Application Server;

— набор драйверов в стандарте JDBC, специально оптимизированных

для доступа из Java-программ к Oracle, а также SQLJ — поддержка операторов SQL, встроенных в программы Java. Этот набор не является жестко заданным. При проектировании конкретной системы следует учитывать все особенности ее функционирования и, например, использование web-сервера Apache и языка Perl может оказаться эффективнее применения web-расширений языка PL/SQL для Oracle Application Server. Кроме того, в интерпретации Oracle многозвенная архитектура имеет еще одну особенность. Она изначально задумана как расширяемая. Основной единицей расширения является картридж — клиентский, прикладной или картридж данных, предусмотрены интерфейсы для их взаимодействия с другими компонентами информационной системы. Картриджи могут разрабатываться как производителями программного обеспечения, так и пользователями с учетом их возможного повторного использования. Существует три типа картриджей.

Картриджи базы данных — функционируют внутри сервера базы данных. Oracle предоставляет свои картриджи для решен3и9я конкретных задач, например ////eHvledia Text для обработки неструктурированных текстов. Также разработчики могут реализовать на каком-либо языке программирования свои картриджи. Например, для устранения недостатков работы ш/erMedia Text с текстами на русском языке разработан картридж Russian Context Optimizer (RCO).

Картриджи серверов приложений — средства для получения и обработки запросов от клиентов. Примером может служить разработанное корпорацией Oracle средство Oracle Web Application Server.

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

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

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





Дата публикования: 2015-04-09; Прочитано: 467 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.021 с)...