3к5с Современные технологии управления базами данных / Конспект лекций
.pdfЛекция 1. Понятие распределенных систем
Одним из важнейших направлений интеграции сетевых технологий является распределенная обработка данных, позволяющая повысить эффективность удовлетворения информационной потребности пользователя и обеспечить гибкость и оперативность принимаемых им решений.
Распределенные информационные системы в виде многомашинных вычислительных комплексов и компьютерных сетей представляют собой одну из наиболее прогрессивных форм организации средств вычислительной техники. Обычно, распределенной считают такую систему, в которой функционирует более одного сервера БД. Это применяется для уменьшения нагрузки на сервер и обеспечения работы территориально удаленных подразделений. Различная сложность создания, модификации,
сопровождения, интеграции с другими системами позволяют разделить ИС на классы малых, средних и крупных распределенных систем.
Малые ИС имеют небольшой жизненный цикл (ЖЦ), ориентацию на массовое использование, невысокую цену, невозможность модификации без участия разработчиков, использующие в основном настольные системы управления базами данных (СУБД), однородное аппаратно-программное обеспечение, не имеющие средств обеспечения безопасности.
Крупные корпоративные ИС, системы федерального уровня и другие имеют длительный ЖЦ, миграцию унаследованных систем, разнообразие аппаратно-программного обеспечения, масштабность и сложность решаемых задач, пересечение множества предметных областей, аналитическую обработку данных, территориальную распределенность компонент.
Данные из разнородных систем обычно объединяются в логические группы, к которой и адресуются запросы. Абстрактная система запросов предполагает, что система оперирует не конкретным синтаксисом запросов, а
его логической сутью на основе абстрактных атрибутов.
Распределенный характер построения системы обусловливает сложность ее настройки и сопровождения.
Лекция 2. Технология распределённой обработки информации
Под распределенной обработкой информации понимается комплекс операций с информацией, проводимый на независимых, но связанных между собой вычислительных машинах, предназначенных для выполнения общих задач. Важно отметить, что распределение (или разделение) не идентично параллелизму. Распределение видов обработки информации состоит в том,
чтобы поручить их вычислительным машинам, наилучшим образом приспособленным к этому.
Важно отметить, что распределение (или разделение) не идентично параллелизму. Распределение видов обработки информации состоит в том,
чтобы поручить их вычислительным машинам, наилучшим образом приспособленным к этому. Параллелизм же подразумевает понятие одновременности обработки информации.
Целью распределенной обработки информации является оптимизация использования ресурсов и упрощение работы пользователя.
Достоинствами распределенной обработки информации является:
-большое число взаимодействующих между собой пользователей;
-устранение пиковых нагрузок с централизованной базы данных за счет распределения обработки и хранения локальных баз данных на разных ЭВМ;
-возможность доступа пользователя к вычислительным ресурсам сети
ЭВМ;
-обеспечение обмена данными между удаленными пользователями.
Основные недостатки реализации распределенной обработки информации на сегодняшний день заключаются в ее зависимости от доступности,
надежности, безопасности и характеристик сети.
Лекция 3. Принципы создания и функционирования распределенных БД
Распределенная база данных — это набор отношений, хранящихся в разных узлах компьютерной сети и логически связанных таким образом,
чтобы составлять единую совокупность данных.
Распределенная база данных предполагает хранение данных на нескольких узлах сети, обработку данных и их передачу между этими узлами в процессе выполнения запросов. Разбиение данных в распределенной базе данных может достигаться путем хранения различных таблиц на разных компьютерах или хранения разных фрагментов одной таблицы на разных компьютерах. Для пользователя (или прикладной программы) не должно иметь значения, каким образом распределены данные между компьютерами.
Работа с распределенной базой данных должна осуществляться так же, как и с централизованной.
Впервые задача об исследовании основ и принципов создания и функционирования распределенных информационных систем была поставлена известным специалистом в области баз данных К. Дейтом.
В основе распределенных ИС лежат две основные идеи:
-работа множества пользователей с общей БД;
-объединение распределенных данных на логическом и физическом уровнях в общей БД.
Основные принципы создания и функционирования распределенных
БД:
-прозрачность размещения данных для пользователя (пользователю распределенная БД должна представляться точно так же, как и нераспределенная);
-изолированность пользователей друг от друга (на работу одного пользователя с БД не должна влиять работа других пользователей с ней);
-синхронизация БД и непротиворечивость состояния данных в любой момент времени.
Лекция 4. Требования к свойствам распределенной БД
Под распределенной (Distributed DataBase - DDB) БД обычно подразумевают базу данных, включающую фрагменты из нескольких баз данных, которые располагаются на различных узлах сети компьютеров и возможно управляются различными СУБД. Распределенная база данных выглядит с точки зрения пользователей и прикладных программ как обычная локальная база данных. В этом смысле слово "распределенная" отражает способ организации базы данных, но не внешнюю ее характеристику. ("распределенность" базы данных невидима извне).
Определение Дэйта. 12 свойств идеальной DDB:
Локальная автономия (local autonomy)
Независимость узлов (no reliance on central site)
Непрерывные операции (continuous operation)
Прозрачность расположения (location independence)
Прозрачная фрагментация (fragmentation independence)
Прозрачное тиражирование (replication independence)
Обработка распределенных запросов (distributed query processing)
Обработка распределенных транзакций (distributed transaction
processing)
Независимость от оборудования (hardware independence)
Независимость от операционных систем (operationg system independence)
Прозрачность сети (network independence)
Независимость от баз данных (database independence)
Исходя из определения Дэйта, можно рассматривать DDB как слабосвязанную сетевую структуру, узлы которой представляют собой локальные базы данных. Локальные базы данных автономны, независимы и самоопределены.
Лекция 5. Реализация распределенных вычислений по технологии файлового сервера (FS).
Модель файлового сервера. (FS) - является базовой для локальных сетей ПК.
Одним из компьютеров в сети считается файловым сервером и предоставляет другим компьютерам услуги по обработке файлов. Файловый сервер работает под управлением сетевой операционной системы и играет роль компонента доступа к информационным ресурсам (т.е. к файлам). На других ПК в сети функционирует приложение, в кодах которого совмещены компонент представления и прикладной компонент.
Файловый сервер загружает файлы из разделяемого местоположения, а
прикладные программы полностью исполняются на компьютерах-клиентах.
Эта архитектура достаточно проста в реализации, однако метафора совместного использования файлов крайне ограничивает число параллельных пользователей ввиду того, что при увеличении количества клиентов производительность системы существенно сокращается из-за частых конфликтов обновления данных и необходимости передачи по сети больших объемов трафика, требующих экономически затратного повышения пропускной способности сети.
Достоинства: простота, отсутствие высоких требований и производительности сервера, программные компоненты не распределены,
т.е. никакая часть СУБД на сервере не инсталлируется и не размещается.
Недостатки: прежде всего высокий сетевой трафик, достигающий пиковых значений в момент массового вхождения в систему пользователей;
отсутствие специальных механизмов безопасности файлов БД со стороны СУБД.
Лекция 6. Реализация распределенных вычислений по технологии «клиент-сервер». RDA и DBS модели.
Модель доступа к удаленным данным (RDA) – существенно отличается от FS-модели методом доступа к информационным ресурсам. В RDA-модели коды компонента представления и прикладного компонента совмещены и выполняются на компьютере-клиенте. Доступ к информационным ресурсам обеспечивается операторами специального языка (SQL, если речь идет о базах данных) или вызовами функций специальной библиотеки (если имеется специальный интерфейс прикладного программирования - API). Запросы к информационным ресурсам направляются по сети удаленному компьютеру,
который обрабатывает и выполняет их, возвращая клиенту блоки данных.
Основное достоинство RDA-модели заключается в унификации интерфейса клиент-сервер в виде языка SQL и широком выборе средств разработки приложений.
Основу модели сервера баз данных (DBS) составляет механизм хранимых процедур - средство программирования SQL-сервера. Процедуры хранятся в словаре баз данных, разделяются между несколькими клиентами и выполняются на том же компьютере, где функционирует SQL-сервер. В DBS-
модели компонент представления выполняется на компьютере-клиенте, в то время как, прикладной компонент оформлен как набор хранимых процедур и функционирует на компьютере-сервере БД. Там же выполняется компонент доступа к данным, т.е. ядро СУБД.
Достоинства DBS-модели:
-возможность централизованного администрирования прикладных функций;
-снижение трафика (вместо SQL-запросов по сети направляются вызовы хранимых процедур);
-возможность разделения процедуры между несколькими приложениями;
-экономия ресурсов компьютера за счет использования единожды созданного
плана выполнения процедуры.
Лекция 7. Реализация распределенных вычислений по технологии «клиент-сервер». Многозвеньевые модели. AS – модель.
Модель сервера приложений (AS) - представляет собой процесс,
выполняемый |
на |
компьютере-клиенте, отвечающий за |
интерфейс с |
пользователем (т.е. реализует функции первой группы). |
|
||
Прикладной |
компонент реализован как группа |
процессов, |
|
выполняющих прикладные функции, и называется сервером приложения
(Application Server - AS).
Доступ к информационным ресурсам осуществляет менеджер ресурсов
(например, SQL-сервер). Из прикладных компонентов доступны такие ресурсы как, базы данных, очереди, почтовые службы и др. AS, размещенная на компьютере, где функционирует менеджер ресурсов, избавляет от необходимости направления SQL-запросов по сети, что повышает производительность системы.
Модели RDA и DBS опираются на двухзвенную схему разделения функций:
-в RDA-модели прикладные функции отданы программе-клиенту
(прикладной компонент сливается с компонентом представления);
- в DBS-модели ответственность за их выполнение берет на себя ядро СУБД (прикладной компонент интегрируется в компонент доступа к информационным ресурсам).
В AS-модели реализована трехзвенная схема разделения функций.
Здесь прикладной компонент выделен как важнейший изолированный элемент приложения. Сравнивая модели, AS обладает наибольшей гибкостью и имеет универсальный характер. Четкое разграничение логических компонентов и рациональный выбор программных средств для их реализации обеспечивают модели такой уровень гибкости и открытости,
который пока недостижим в RDA- и DBS-моделях.
Именно AS-модель используется в качестве фундамента вида программного обеспечения - мониторов транзакций.
Лекция 8. Технология объектного связывания данных. Технология COM/DCOM
Объектно-ориентированный подход способствует значительному усовершенствованию механизмов организации распределенной обработки информации
Технология COM (Component Object Model) и ее вариант для распределенных систем DCOM (Distributed Component Object Model) была разработана компанией Microsoft. DCOM является расширением технологии СОМ и включает в себя среду распределенных вычислений DCE (Distributed Computing Environment) и механизм удаленного вызова процедур (RFC —
Remote Procedure Calling).
COM и DCOM - технологии, обеспечивающие взаимодействие между компонентами приложения и позволяющие развертывать распределенное приложение на платформе Windows. DCOM дает возможность двум или нескольким компонентам легко взаимодействовать друг с другом независимо от того, когда и на каком языке программирования они были написаны, а
также где именно они находятся и в какой операционной системе работают. DCOM являет собой типичный пример двухзвенной распределенной
архитектуры. При этом он обладает всеми достоинствами и недостатками подобной архитектуры.
СОМ содержит все элементы, необходимые для построения распределенной системы:
технологию удаленного вызова методов (как статических, так и динамических);
базы данных серверных объектов (библиотеки типов), которые могут быть импортированы для анализа структуры серверов СОМ;
универсальный протокол обмена между клиентами и серверами;
спецификации так называемых "составных документов" (ActiveDoc);
объектный монитор транзакций (MTS);
компонентную модель (ActiveX) и др.
Лекция 9. Технология объектного связывания данных. DAO и протокол ODBC
DAO (Data Access Object) – технология «объектов доступа к данным»
DAO базируется на технологии баз данных Microsoft Jet —процессоре баз данных, предназначенном для Microsoft Access. Приложения,
использующие Access, могут задействовать DAO для прямого доступа к данным. Связанные объекты для пользователя ничем не отличаются от внутренних объектов. DAO может работать и с отличными от Access базами данных, такими, как SQL Server и Oracle, используя ODBC. Интерфейс
ODBC предоставляет прикладным программам доступ к системам управления реляционными базами данных, использующим язык SQL в
качестве стандарта языка обработки данных
ODBC (Open Database Connectivity ) - открытый интерфейс доступа к базам данных
В основу интерфейса ODBC положены спецификация CLI-интерфейса
(Call-Level Interface), разработанная X/Open, и ISO/IEC для API баз данных, а
также язык SQL (Structured Query Language) как стандарт языка доступа к БД.
позволяет осуществлять максимальную переносимость приложения с одной СУБД на другую без учета их специфики. Это достигается с помощью выделения в интерфейсе двух компонентов: диспетчера (или менеджера) ODBC и драйвера ODBC
диспетчер ODBC предлагает единый интерфейс всем приложениям,
нуждающимся в доступе к базе данных, а интерфейс администратора
ODBC остается одинаковым независимо от того, с какой СУБД приложение будет взаимодействовать
если приложению нужно сменить используемую базу, разработчик просто заменяет один драйвер другим, и приложение может работать как обычно, без необходимости модификации кода программы
Лекция 10. Технология объектного связывания данных.
OLE DB и ADO.
Object Linking and Embedding, Database (OLE DB) - набор интерфейсов,
основанных на COM, которые позволяют приложениям обращаться к данным, хранимым в разных источниках информации или хранилищах данных с помощью унифицированного доступа.
OLE DB представляет собой следующую ступень развития ODBC. Эти средства образуют относительно независимый программный слой,
использующий один и тот же набор основных интерфейсов прикладных программ (API) для доступа к разнообразным базам данных. Их работа обеспечивается невидимыми для пользователя программными модулями,
которые учитывают специфические особенности каждой СУБД и выступают в качестве драйверов для верхних программных слоев. В OLE DB полностью реализован принцип открытости связей между базами данных.
Чтобы облегчить работу с OLE DB, был создан дополнительный прикладной уровень, который получил название ADO (ActiveX Data Objects).
Работать с ADO существенно проще, чем с OLE DB. Технология ADO
предназначена для прикладных программистов.
Основное назначение библиотеки ADO – операции с DML (Data Manipulation Language, язык обработки данных). Это определяет архитектуру библиотеки, ориентированную на получение наборов данных и их последующую обработку.
ADO основано на технологии COM. Все объекты и интерфейсы ADO
являются интерфейсами и объектами COM.
ADO является частью более крупномасштабной технологии под названием Microsoft Data Access Components (MDAC). Термин MDAC
является общим обозначением для всех разработанных компанией Microsoft
технологий, связанных с БД. К этому набору относятся ADO, OLE DB, ODBC и RDS (Remote Data Services).
