Учебно-методический комплекс Санкт-Петербург 2010 министерство образования и науки российской федерации Государственное образовательное учреждение высшего профессионального образования




Скачать 2.73 Mb.
Название Учебно-методический комплекс Санкт-Петербург 2010 министерство образования и науки российской федерации Государственное образовательное учреждение высшего профессионального образования
страница 6/22
Дата публикации 15.05.2014
Размер 2.73 Mb.
Тип Учебно-методический комплекс
literature-edu.ru > Информатика > Учебно-методический комплекс
1   2   3   4   5   6   7   8   9   ...   22








3.2. Опорный конспект

ВВЕДЕНИЕ


Вы начинаете изучение дисциплины “Базы данных”.

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

Основу современной информационной технологии, обеспечивающей управление информацией, составляют базы данных (БД) и системы управления базами данных (СУБД).

История развития СУБД насчитывает более 40 лет. В 1968 году была введена в эксплуатацию первая промышленная СУБД система IMS фирмы IBM. В 1975 году появился первый стандарт ассоциации по языкам систем обработки данных — Conference of Data System Languages (CODASYL), который определил ряд фундаментальных понятий в теории систем баз данных.

В дальнейшее развитие теории баз данных большой вклад был сделан американским математиком Э. Ф. Коддом, который является создателем реляционной модели данных.

Изучение курса БД невозможно без разбора таких понятий, как информация и информационная система (ИС).

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

ИC – система, реализующая сбор, обработку и манипулирование данными и включающая технические средства обработки данных, программное обеспечение и персонал.

В этом смысле ИС – это предприятие, вуз, отдел банка и т.д. В теории БД термин ИС употребляют по отношению к автоматизированной ИС.

Современный подход к созданию ИС основан на их интеграции, т.е. создании единой ИС всего предприятия, учреждения и т.д., с единым хранилищем данных – БД, многочисленным доступом к ней пользователям.

В результате изучения курса Вы получите представление об организации и принципах построения современных СУБД (как основы ИС), теоретических основах их проектирования и исследования, взаимодействии их программных и аппаратных средств; научитесь оценивать технические характеристики СУБД и выбирать их конфигурацию в соответствии с требованиями конкретной информационной, вычислительной или управляющей системы.

В курсе также уделяется внимание вопросам иллюстрации принципов организации и функционирования СУБД на примере их использования в локальных и глобальных сетях (WEB приложениях с применением языка PHP - “Hypertext Preprocessor (Препроцессор Гипертекста)").

Схема работы с разделом 1




Раздел 1. Назначение и основные компоненты системы баз данных



Первый раздел курса включает две темы: “ СУБД – основа информакионных систем” и “ Современные архитектуры ИС . После изучения каждой темы Вам следует ответить на вопросы для самопроверки.

Работа с разделом 1 завершается сдачей контрольного теста. Кроме того, в данном разделе выполняется лабораторное задание 1.

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

http://www.citforum.ru/database/osbd/contents.shtml,

http://web.dklab.ru/

или к главе 1 учебника [1] или главам 1, 2 учебника [3].


1.1. СУБД – основа информационных систем



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

Для проверки изучения материала темы Вам предстоит ответить на вопросы для самопроверки.

Если Вы испытываете затруднения в ответе на какой-либо вопрос, обратитесь к материалам главы 1 учебника [1] или [3].

1.1.1. Эволюция развития систем управления данными


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

В большинстве случаев при создании собственной ИС невозможно обойтись без использования баз данных. Чем отличается "база данных" от какого бы то ни было набора данных, поддерживаемого в файлах операционной системы? Основное отличие состоит в том, что набором данных, входящих в состав базы данных управляет специальная программа, обычно называемая "системой управления базами данных (СУБД)", которая обладает знаниями по взаимосвязи между разнородными данными предметной области. Например, в случае ИС управления ВУЗом, СУБД, управляющая соответствующей базой данных, должна знать, что для экзаменационной ведомости не могут появиться фамилии студентов, не сдавших необходимые зачеты. Такого типа свойства называются целостностью базы данных. При создании базы данных ИС разработчик сообщает СУБД, какого рода ограничения целостности система должна поддерживать в базе данных, а далее ответственность берет на себя СУБД, без требования вмешательства прикладной программы.

Второй важной особенностью СУБД является обеспечение выполнения так называемых "незапланированных" запросов к базе данных. Представим себе, что при проектировании информационной системы, предназначенной для автоматизации управления ВУЗом, было запланировано выполнение запросов об успеваемости учебных групп, а впоследствии понадобилась информация об успеваемости в разрезе, например, возрастного или полового признака студентов. При отсутствии СУБД понадобилась бы переделка ИС. Однако СУБД, обладая достаточными знаниями о предметной области (например, о структуре и смысле объектов ИС), включающая универсальный язык запросов (например, язык SQL Structured Query Languague), позволяющий сформулировать произвольный запрос на выборку информации из соответствующей базы данных, в некоторой степени повышает жизненный цикл ИС. Такой запрос может быть в любой момент подан с терминала или встроен в одну из прикладных программ, входящих в ИС.

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

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

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

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

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

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

Как уже отмечалось, понятие базы данных изначально предполагает использование многопользовательской технологии работы. Разная реализация таких технологий в разное время была связана как с основными свойствами вычислительной техники, так и с развитием программного обеспечения. Приведем краткую характеристику этих технологий в хронологическом порядке.
1.1.2. Локальная технология

При использовании этой технологии база данных, СУБД и прикладная программа (приложение) располагаются на одном компьютере (мэйнфрейме или персональном компьютере) (рис.1.1.). Для такого способа организации не требуется программные и аппаратные средства сети и все сводится к монопольной (автономной) работе.

Свойства технологии:

  • База данных в виде набора файлов находится на жестком диске компьютера.

  • На этом же компьютере установлены СУБД и приложение для работы с БД.

  • Пользователь запускает приложение. Используя предоставляемый приложением пользовательский интерфейс, он формирует обращение к БД на выборку/обновление информации.

  • Все обращения к БД идут через СУБД, которая внутри себя хранит все сведения о физической структуре БД.

  • СУБД инициирует обращения к данным, обеспечивая выполнение запросов пользователя (осуществляя необходимые операции над данными).

  • Результат СУБД возвращает в приложение, которое, используя пользовательский интерфейс, отображает результат запроса.



Рис. 1.1. Локальная архитектура

Подобная архитектура использовалась в первых версиях СУБД DB2, Oracle, ORD, Ingres.

Многопользовательская технология работы обеспечивалась либо режимом мультипрограммирования (одновременно могли работать процессор и внешние устройства – например, пока в прикладной программе одного пользователя шло считывание данных из внешней памяти, программа другого пользователя обрабатывалась процессором), либо режимом разделения времени (пользователям по очереди выделялись кванты времени на выполнении их программ). Такая технология была распространена в период больших ЭВМ (IBM-370 и ЕС ЭВМ в СССР). Основным недостатком этой модели является снижение производительности при увеличении числа пользователей.

Как правило, в основу ИС закладывается реляционная база данных (см. раздел 3, 4). Все подходы к организации ИС базируются на общей архитектуре "клиент-сервер". Различие состоит только в том, что делают клиенты и серверы. Тем не менее, широко применяется более узкое разделение на “файл-сервер”, непосредственно “клиент-сервер”, “Intranet”.
1.1.3. Архитектура с сетью и файловым сервером

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



Рис. 1.2. Архитектура "файл-сервер"

Свойства технологии:

  • База данных в виде набора файлов находится на жестком диске специально выделенного компьютера (файлового сервера).

  • Существует локальная сеть, состоящая из клиентских компьютеров, на каждом из которых установлены СУБД и приложение для работы с БД.

  • На каждом из клиентских компьютеров пользователи имеют возможность запустить приложение. Используя предоставляемый приложением пользовательский интерфейс, он инициирует обращение к БД на выборку/обновление информации.

  • Все обращения к БД идут через СУБД, которая зафиксировала внутри себя все сведения о физической структуре БД, расположенной на файловом сервере.

  • СУБД инициирует обращения к данным, находящимся на файловом сервере, в результате которых часть файлов БД копируется на клиентский компьютер и обрабатывается, что обеспечивает выполнение запросов пользователя (осуществляются необходимые операции над данными).

  • При необходимости (в случае изменения данных) данные отправляются назад на файловый сервер с целью обновления БД.

  • Результат СУБД возвращает в приложение, которое, используя пользовательский интерфейс, отображает результат запроса.

В рамках архитектуры "файл-сервер" были выполнены первые версии популярных так называемых настольных СУБД, таких, как Clipper, FoxBase и Microsoft Access. В подобных СУБД на файл-сервере гораздо проще вносить изменения в отдельные таблицы базы, минуя приложения, непосредственно из инструментальных средств (например, из утилиты Database Desktop фирмы Borland для файлов Paradox и dBase); подобная возможность облегчается тем обстоятельством, что фактически у таких СУБД база данных – набор отдельных таблиц (файлов), хранящихся в отдельном каталоге на диске.

В литературе указываются следующие основные недостатки данной архитектуры:

  • Вся таблица (файл) БД копируется на клиентскую машину и обработка данных осуществляется на клиенте. В результате возрастает сетевой трафик и увеличиваются требования к аппаратным мощностям пользовательского компьютера.

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

  • Как правило, используется навигационный подход, ориентированный на работу с отдельными записями файла.

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

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

Вопросы для самопроверки по теме 1.1

1. Дайте определение ИС и назначение и роль БД в ИС.

2. Что такое сервер и клиент.

3. Что такое файл серверная технология?

4. Что такое выделенный сервер?

5. Поясните, чем отличается локальная архитектура от файл-серверной?

6. Что такое монопольный и разделяемый режим обработки информации?

7. Где производится обработка приложений бизнес логики в рассмотренных архитектурах?

8. Что понимается под мэйнфреймом?

9. Что такое трафик сети?

1.2. Современные архитектуры ИС


При изучении данной темы Вы должны рассмотреть основные концепции и принципы, современных архитектур информационных систем - основой которых является технология "клиент – сервер". Также следует усвоить структуру, взаимосвязь функций и структуры, характеристики СУБД, их классификацию и области применения и рассмотреть режимы работы СУБД.

Для проверки изучения материала темы Вам предстоит ответить на вопросы для самопроверки.

Если Вы испытываете затруднения в ответе на какой-либо вопрос, обратитесь к материалам главы 2 учебника [1] или главы 28 учебника [3].
1.2.1. Архитектура "клиент – сервер"

Использование технологии "клиент – сервер" предполагает наличие некоторого количества компьютеров, объединенных в сеть, один из которых выполняет особые управляющие функции (является сервером сети), а остальные статус клиента.

Приложение-клиент формирует запрос к серверу, на котором расположена БД, на структурном языке запросов SQL или QBE. Удаленный сервер принимает запрос и переадресует его SQL-серверу БД. SQL-сервер – специальная программа, управляющая удаленной базой данных. SQL-сервер обеспечивает интерпретацию запроса, его выполнение в базе данных, формирование результата выполнения запроса и выдачу его приложению-клиенту. При этом ресурсы клиентского компьютера не участвуют в физическом выполнении запроса; клиентский компьютер лишь отсылает запрос к серверной БД и получает результат, после чего интерпретирует его необходимым образом и представляет пользователю. Клиентскому приложению посылается только результат выполнения запроса (только те данные, которые необходимы клиенту), а не вся таблица (ы), как это происходит в стандартной файл-серверной архитектуре. В итоге снижается нагрузка на сеть и повышается быстродействие системы. Кроме того, SQL-сервер, если это возможно, оптимизирует полученный запрос таким образом, чтобы он был выполнен в минимальное время с наименьшими накладными расходами. Архитектура подхода представлена на рис. 1.3.

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

Функции приложения-клиента:

  • Посылка запросов серверу.

  • Интерпретация результатов запросов, полученных от сервера.

  • Представление результатов пользователю в некоторой форме (интерфейс пользователя).

Функции серверной части:

  • Прием запросов от приложений-клиентов.

  • Интерпретация запросов.

  • Оптимизация и выполнение запросов к БД.

  • Отправка результатов приложению-клиенту.

  • Обеспечение системы безопасности и разграничение доступа.

  • Управление целостностью БД.

  • Реализация стабильности многопользовательского режима работы.



Рис. 1.3. Архитектура удаленных БД "клиент – сервер"

Работа в архитектуре "клиент – сервер" построена следующим образом:

  • База данных (файл) в виде набора таблиц находится на жестком диске специально выделенного компьютера (сервера сети).

  • СУБД располагается только на сервере сети.

  • Существует локальная сеть, состоящая из клиентских компьютеров, на каждом из которых установлено клиентское приложение для работы с БД.

  • На каждом из клиентских компьютеров пользователи имеют возможность запустить приложение. Используя предоставляемый приложением пользовательский интерфейс, он формирует SQL запрос к СУБД, расположенной на SQL сервере, на выборку/обновление информации. Т.е. по сети от клиента к серверу передается лишь текст запроса.

  • СУБД инкапсулирует внутри себя все сведения о физической структуре БД, расположенной на сервере.

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

Архитектура "клиент-сервер" может быть использована и в пределах глобальной сети.

В архитектуре "клиент – сервер" работают так называемые "промышленные" СУБД. Промышленными они называются из-за того, что именно СУБД этого класса могут обеспечить работу информационных систем масштаба среднего и крупного предприятия. К разряду коммерческих промышленных СУБД принадлежат MS SQL Server, Oracle, Gupta, Informix, Sybase, DB2, ряд других.

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

Основные достоинства данной архитектуры по сравнению с архитектурой "файл-сервер":

  • Уменьшается сетевой трафик.

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

  • Наличие специального программного средства – SQL-сервера – приводит к тому, что доступ к хранимой информации становится подконтрольным и централизованным.

  • Существенно повышается целостность и безопасность БД.

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

В рамках направления "клиент-сервер" существуют два основных направления: "тонкий" и "толстый" клиент.

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

В целом, в файл-серверной архитектуре мы имеем "толстого" клиента и очень "тонкий" сервер в том смысле, что почти вся работа выполняется на стороне клиента, а от сервера требуется только достаточная емкость дисковой памяти.

Системы с толстым клиентом, напротив, реализуют основную логику обработки на клиенте, а сервер представляет собой в чистом виде сервер баз данных, обеспечивающий исполнение только стандартизованных запросов на манипуляцию с данными (как правило - чтение, запись, модификацию данных в таблицах реляционной базы данных). В системах такого класса требования к рабочей станции выше, а к серверу - ниже. Достоинство архитектуры - переносимость серверной компоненты на серверы различных производителей: все промышленные серверы баз данных реляционного типа поддерживают работу со стандартизованным языком манипулирования данными SQL, но внутренний встроенный язык обработки данных, необходимый для реализации логики обработки, на сервере у каждого из серверов свой.
1.2.2. Трехзвенная архитектура "клиент – сервер"

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

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



Рис. 1.4. Трехзвенная архитектура "клиент-сервер" с выделенным сервером приложений

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

Такая архитектура предоставляет возможность распределить функции между тремя звеньями системы:

  • Клиентское приложение реализует главным образом интерфейс с пользователем. Никаких объемных вычислений, никаких непосредственных обращений к базе данных. Как следствие - невысокие требования к аппаратным ресурсам;

  • Сервер приложений реализует все прикладные расчеты, связанные с обращением к базе данных. И при этом не имеет никакого прикладного интерфейса с пользователем;

  • Сервер базы данных занимается только хранением данных в файлах базы данных и обеспечением их целостности. И никаких функций, выходящих за эти рамки, он практически не реализует.


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

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

Свойства архитектуры:

  • База данных в виде набора файлов находится на жестком диске специально выделенного компьютера (сервера сети).

  • СУБД располагается также на сервере сети.

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

  • Существует множество клиентских компьютеров, на каждом из которых установлен так называемый "тонкий клиент" – клиентское приложение, реализующее интерфейс пользователя.

  • На каждом из клиентских компьютеров пользователи имеют возможность запустить приложение – тонкий клиент. Используя предоставляемый приложением пользовательский интерфейс, он инициирует обращение к ПО делового анализа, расположенному на сервере приложений.

  • Сервер приложений анализирует требования пользователя и формирует запросы к БД. Для общения используется специальный язык запросов SQL, т.е. по сети от сервера приложений к серверу БД передается лишь текст запроса.

  • СУБД инкапсулирует внутри себя все сведения о физической структуре БД, расположенной на сервере.

  • СУБД инициирует обращения к данным, находящимся на сервере, в результате которых результат выполнения запроса копируется на сервер приложений.

  • Сервер приложений возвращает результат в клиентское приложение (пользователю).

  • Приложение, используя пользовательский интерфейс, отображает результат выполнения запросов.

Следует заметить, что, как и любая классификация, рассмотренная выше классификация архитектур информационных систем, не является абсолютно жесткой. В архитектуре любой конкретной ИС часто можно найти влияния нескольких общих архитектурных решений.
Однако, разработчики и пользователи информационных систем, основанных на архитектуре "клиент-сервер", часто бывают неудовлетворены постоянно существующими сетевыми накладными расходами, которые следуют из потребности обращаться от клиента к серверу с каждым очередным запросом. На практике возможна ситуация, когда для эффективной работы отдельной клиентской составляющей информационной системы в действительности требуется только небольшая часть общей базы данных. Это приводит к идее поддержки локального кэша (части общей базы данных) на стороне каждого клиента.

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

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

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

Характеризуется тем, что несколько экземпляров исполняемого модуля работают одновременно. Эти системы отличаются хорошей масштабируемостью, но требуют значительных расходов памяти, так как память каждому экземпляру приложения выделяется отдельно. Эта архитектура опирается на операционную систему при разделении процессорного времени между отдельными экземплярами приложения. Самый известный пример сервера, построенного по этой архитектуре, - Oracle Server. Когда пользователь подключается к БД Oracle, он в действительности запускает отдельный экземпляр исполняемого файла процессора базы данных.
2. Многопоточная архитектура

Эта архитектура использует только один исполняемый файл, с несколькими потоками исполнения. Главное преимущество – более скромные требования к оборудованию, чем для архитектуры с несколькими процессами. Здесь сервер берет на себя разделение времени между отдельными потоками, иногда давая преимущество некоторым задачам над другими. Кроме того, отпадает необходимость в сложном механизме взаимодействия процессов. По этой архитектуре реализованы MS SQL Server и Sybase SQL Server.
Заметим, что интерфейс между клиентской частью приложения и клиентской частью сервера баз данных, как правило, основан на использовании языка SQL. Поэтому такие функции, как, например, предварительная обработка форм, предназначенных для запросов к базе данных, или формирование результирующих отчетов выполняются в коде приложения, а все обращения к серверу баз данных сводятся к передаче текста операторов языка SQL.

Поскольку вся работа с БД (выборка, добавление, выполнение триггеров и процедур) происходит на стороне сервера, то в клиент-серверной организации клиенты могут являться достаточно "тонкими", а сервер должен быть "толстым" настолько, чтобы быть в состоянии удовлетворить потребности всех клиентов.

1.2.3. Архитектура Intranet-приложений

Появление Internet (совокупность взаимосвязанных компьютерных сетей мирового масштаба) естественным образом повлияло на технологию создания корпоративных ИС, которая получила название Intranet. Intranet - это прежде всего корпоративная - локальная или территориально распределенная сеть, закрытая от внешнего доступа из Internet, но использующая сервисы Всемирной Сети Internet (e-mail, http, ftp, telnet, WWW и т.д.).

Применение Internet и WWW-технологий в корпоративной сети, изолированной от Internet, принято называть Intranet-технологией.

Архитектура Intranet-приложений является, по сути, продолжением и разновидностью трехслойной архитектуры клиент-сервер. Архитектура Intranet использует среду Internet, которая обладает глобальной доступностью для пользователей, является платформенно-независимой и для нее существует большое количество мощных и удобных средств разработки Web-приложений, что позволяет быстро и эффективно создавать клиентскую часть ИС. На этой архитектуре строятся все более распространяющиеся Internet-магазины, системы заказа билетов и т.д.

В этой разновидности, трехслойной архитектуры клиент-сервер, роль сервера приложений играет web-сервер, а в качестве клиента используется стандартный web-браузер (программа просмотра гипертекста). Достоинства - в пониженных требованиях к клиенту и в легкой встраиваемости данной архитектуры в мировые информационные сети. Основной недостаток - известные ограничения, накладываемые на интерфейс пользователя web-браузерами.

Хотя в общем случае в Intranet-системе могут использоваться все возможные службы Internet, наибольшее внимание привлекает гипертекстовая служба WWW. Видимо, для этого имеются две основные причины.

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

Во-вторых, наличие нескольких готовых к использованию клиентских частей - Web-браузеров избавляет от необходимости создавать собственные интерфейсы с пользователями, предоставляя им развитые механизмы доступа к информации. В ряде случаев такая организация корпоративной информационной системы (рис.1.5.) оказывается достаточной для удовлетворения потребностей компании.



Рис. 1.5. Взаимодействие с базой данных в технологии интранет.

Разграничение функций между Web-браузером и Web-сервером является очень четким. Web-сервер предоставляет HTML-страницы, а браузер отображает эти страницы путем интерпретации тегов HTML.

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

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

Язык HTML позволяет вставлять в гипертекстовые документы формы для ввода и редактирования информации. Когда браузер ‘натыкается’ на форму, он предлагает пользователю заполнить ее, а затем посылает серверу сообщение, содержащее введенные параметры. Как правило, к форме приписывается некоторая внешняя процедура сервера. При получении сообщения от клиента сервер вызывает эту внешнюю процедуру с передачей параметров пользователя. Понятно, что такая внешняя процедура может, в частности, играть роль шлюза между Web-сервером и сервером баз данных. В этом случае параметры должны специфицировать запрос пользователя к базе данных. В результате получается конфигурация информационной системы, схематически изображенная на рис. 1.6.



Рис. 1.6. Доступ к базе данных в Intranet-системе
На принципах использования внешних процедур основывается также возможность модификации документов, поддерживаемых Web-сервером, и создание временных "виртуальных" HTML-страниц.

Даже начальное введение в Intranet было бы неполным, если не упомянуть про возможности языка Java. Java - это интерпретируемый объектно-ориентированный язык программирования, созданный на основе языка Си++. Мобильные коды (апплеты), полученные в результате компиляции Java-программы, могут быть привязаны в HTML-документу. В этом случае они поступают на сторону клиента вместе с документом и выполняются либо автоматически, либо по явному указанию. Апплет может быть, в частности, специализирован как шлюз к серверу баз данных (или к какому-либо другому серверу). При применении подобной техники доступа к базам данных схема организации Intranet-системы становится такой как показано на рисунке 1.7, 1.8.

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

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



Рис. 1.7. Доступ к базе данных на стороне клиента Intranet-системы


Рис. 1.8. Трехуровневая архитектура клиент-сервер Intranet-системы
Затем сервер БД выполняет работу по обслуживанию запроса и возвращает результат программе-расширению серверной части. Наконец та преобразует результаты в формат, приемлемый для браузера, и передает их Web-серверу, а тот в свою очередь – браузеру.
Программы расширения серверной части

Одной из главных причин использования программ-расширений серверной части на промежуточном уровне является возможность использовать стандарты, существующих для двух крайних уровней, путем осуществления трансляции между ними. Другие применения расширений серверной части состоят в поддержании соединений между БД с целью уменьшить трафик в сети и в поддержании резерва соединений между БД для уменьшения затрат ресурсов на открытие/закрытие БД. Расширения серверной части также поддерживают взаимозаменяемость в своих стандартных интерфейсах. Поэтому Web-серверы и серверы БД можно сравнительно легко заменять или наращивать.

Существует три категории расширений серверной части: с обычным CGI, с гибридным CGI и с API.

Вопросы для самопроверки по теме 1.2

1. Найдите сходства первого и современного этапов развития ИС.

2. Что такое Web сервер.

3. Что лежит в основе клиент-серверной технологии?

4. Что такое гипертекст и тег гипертекста?

5. Зачем нужен браузер?

6. Поясните, зачем нужен язык SQL?

7. Что потенциально быстрее – файловая система или база данных реализованная с использованием SQL?

8. В чем отличие понятия интернет от интарнет?

9. Назовите пример из реальной практики, когда необходимо разрабатывать клиентское приложение.

10. Что такое сервер приложений?

11. Поясните назначение и принцип работы Router.

12. В чем различия между потоковой и процессной архитектурой процессора БД?
Резюме

Современный этап развития баз данных характеризуется появлением новой технологии доступа к данным — интернет. Основное отличие этого подхода от технологии клиент-сервер состоит в том, что отпадает необходимость использования специализированного клиентского ПО. Для работы с удаленной базой данных используется стандартный Браузер Интернета, например Microsoft Internet Explorer или Netscape Navigator, и для конечного пользователя процесс обращения к данным происходит аналогично скольжению по Всемирной Паутине (см. рис. 1.8), используя маршрутезатор (роутер от англ. Router) - сетевое устройство, на основании информации о топологии сети и определённых правил принимающее решения о пересылке пакетов сетевого уровня между различными сегментами сети.

При этом встроенный в загружаемые пользователем HTML-страницы код, написанный обычно на языке PHP, Java-script, Perl и других, отслеживает все действия пользователя и транслирует их в низкоуровневые SQL-запросы к БД, выполняя, таким образом, ту работу, которой в технологии клиент-сервер занимается клиентская программа. Важно понимать, что Java-программа хоть и загружается с web-сервера, но исполняется на компьютере посетителя (не на сервере), а PHP-программа исполняется на сервере.

Удобство данного подхода привело к тому, что он стал использоваться не только для удаленного доступа к БД, но и для пользователей локальной сети предприятия. В этом случае для подключения нового пользователя к возможности использовать данную задачу не требуется установка дополнительного клиентского ПО. Однако алгоритмически сложные задачи рекомендуется реализовывать в архитектуре "клиент-сервер" с разработкой специального клиентского ПО.
1   2   3   4   5   6   7   8   9   ...   22

Похожие:

Учебно-методический комплекс Санкт-Петербург 2010 министерство образования и науки российской федерации Государственное образовательное учреждение высшего профессионального образования icon Учебно-методический комплекс санкт-Петербург 2010 министерство образования...
Учебно-методический комплекс предназначен для студентов специальности 220201. 65 управление и информатика в технических системах,...
Учебно-методический комплекс Санкт-Петербург 2010 министерство образования и науки российской федерации Государственное образовательное учреждение высшего профессионального образования icon Уроках биологии в 7 классе. Группа
Министерство образования и науки российской федерации министерство образования московской области государственное образовательное...
Учебно-методический комплекс Санкт-Петербург 2010 министерство образования и науки российской федерации Государственное образовательное учреждение высшего профессионального образования icon Министерство образования и науки российской федерации
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
Учебно-методический комплекс Санкт-Петербург 2010 министерство образования и науки российской федерации Государственное образовательное учреждение высшего профессионального образования icon Министерство образования и науки Российской Федерации
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
Учебно-методический комплекс Санкт-Петербург 2010 министерство образования и науки российской федерации Государственное образовательное учреждение высшего профессионального образования icon Министерство образования и науки Российской Федерации Федеральное...
Пропедевтическая система работы по предупреждению речевых нарушений у детей раннего возраста
Учебно-методический комплекс Санкт-Петербург 2010 министерство образования и науки российской федерации Государственное образовательное учреждение высшего профессионального образования icon Учебно-методический комплекс по дисциплине «Психология»
Федеральное государственное образовательное учреждение высшего профессионального образования
Учебно-методический комплекс Санкт-Петербург 2010 министерство образования и науки российской федерации Государственное образовательное учреждение высшего профессионального образования icon Учебно-методический комплекс по дисциплине « В. Дв. 2»
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
Учебно-методический комплекс Санкт-Петербург 2010 министерство образования и науки российской федерации Государственное образовательное учреждение высшего профессионального образования icon Учебно-методический комплекс по дисциплине «Логопсихология»
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
Учебно-методический комплекс Санкт-Петербург 2010 министерство образования и науки российской федерации Государственное образовательное учреждение высшего профессионального образования icon Учебно-методический комплекс по дисциплине «Маркетинг в книжном деле»
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
Учебно-методический комплекс Санкт-Петербург 2010 министерство образования и науки российской федерации Государственное образовательное учреждение высшего профессионального образования icon Учебно-методический комплекс по дисциплине «Профилактика девиантного поведения»
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
Литература


При копировании материала укажите ссылку © 2015
контакты
literature-edu.ru
Поиск на сайте

Главная страница  Литература  Доклады  Рефераты  Курсовая работа  Лекции