Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Распределенные базы данных




 

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

Распределенная база данных (РаБД) – это совокупность логически взаимосвязанных баз данных, распределенных в компьютерной сети.

Система управления распределенной базой данных (РаСУБД) – это программная система, которая обеспечивает управление распределенной базой данных и прозрачность ее распределенности для пользователей.

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

Крис Дейт сформулировал основные принципы со­здания и функционирования распределенных баз данных. К их числу относятся:

1) прозрачность расположения данных для пользовате­ля (иначе говоря, для пользователя распределенная база дан­ных должна представляться и выглядеть точно так же, как и нераспределенная);

2) изолированность пользователей друг от друга (пользо­ватель должен “не чувствовать”, “не видеть” работу других пользователей в тот момент, когда он изменяет, обновляет, уда­ляет данные);

3) синхронизация и согласованность (непротиворечи­вость) состояния данных в любой момент времени.

Из основных вытекает ряд дополнительных принципов:

 локальная автономия (ни одна вычислительная установка для своего успешного функционирования не должна зависеть от любой другой установки);

 отсутствие центральной установки (следствие преды­дущего пункта);

 независимость от местоположения (пользователю все равно, где физически находятся данные, он работает так, как будто они находятся на его локальной установке);

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

 независимость от фрагментации данных (как от гори­зонтальной фрагментации, когда различные группы записей одной таблицы размещены на различных установках или в раз­личных локальных базах, так и от вертикальной фрагментации, когда различные поля-столбцы одной таблицы размещены на разных установках);

 независимость от реплицирования (дублирования) дан­ных (когда какая-либо таблица базы данных (или ее часть) физически может быть представлена несколькими копиями, рас­положенными на различных установках, причем “прозрачно” для пользователя);

 распределенная обработка запросов (оптимизация зап­росов должна носить распределенный характер – сначала гло­бальная оптимизация, а далее локальная оптимизация на каж­дой из задействованных установок);

 распределенное управление транзакциями (в распреде­ленной системе отдельная транзакция может требовать выпол­нения действий на разных установках, транзакция считается завершенной, если она успешно завершена на всех вовлечен­ных установках);

 независимость от аппаратуры (желательно, чтобы сис­тема могла функционировать на установках, включающих ком­пьютеры разных типов);

 независимость от типа операционной системы (систе­ма должна функционировать вне зависимости от возможного различия ОС на различных вычислительных установках);

 независимость от коммуникационной сети (возможность функционирования в разных коммуникационных средах);

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

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

Важнейшую роль в технологии создания и функциониро­вания распределенных баз данных играет техника “представ­лений” (Views).

Представлением называется сохраняемый в базе данных авторизованный глобальный запрос на выборку данных. Авторизованность означает возможность запуска такого запроса только конкретно поименованным в системе пользователем. Глобальность заключается в том, что выборка данных может осуществляться со всей базы данных, в том числе из данных, расположенных на других вычислительных установках. Напом­ним, что результатом запроса на выборку является набор дан­ных, представляющий временную на сеанс открытого запроса таблицу, с которой (которыми) в дальнейшем можно работать, как с обычными реляционными таблицами данных. В резуль­тате таких глобальных авторизованных запросов для конкрет­ного пользователя создастся некая виртуальная база данных со своим перечнем таблиц, связей, т. е. со “своей” схемой и со “своими” данными. В принципе, с точки зрения информацион­ных задач в большинстве случаев пользователю безразлично, где и в каком виде находятся собственно сами данные. Данные должны быть такими и логически организованы таким обра­зом, чтобы можно было решать требуемые информационные задачи и выполнять установленные функции.

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

Технологически в реляционных СУБД техника представ­лений реализуется через введение в язык SQL-конструкций, позволяющих аналогично технике “событий–правил–процедур” создавать именованные запросы-представления:

 

CREATE VIEW ИмяПредставления AS

SELECT...

FROM...

…;

 

В данных конструкциях после имени представления и клю­чевого слова AS размещается запрос на выборку данных, соб­ственно и формирующий соответствующее представление ка­кого-либо объекта базы данных.

Авторизация представлений осуществляется применением команд (директив) GRANT, присутствующих в базовом переч­не инструкций языка SQL и предоставляющих пол­номочия и привилегии пользователям:

 

GRANT SELECT ОN ИмяПредставления ТО ИмяПользователя1, ИмяПользователя2,...;

 

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

Решение подобных проблем и практическая реализация распределенных вычислений осуществляется че­рез отступление от некоторых рассмотренных выше принци­пов создания и функционирования распределенных систем. В зависимости от того, какой принцип приносится в “жертву” (отсутствие центральной установки, непрерывность функцио­нирования, согласованного состояния данных и др.) выдели­лись несколько самостоятельных направлений в технологиях распределенных систем – технологии “ Клиент - сервер ”, тех­нологии реплицирования, технологии объектного связывания.

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

 

2.3. Технологии и модели “Клиент-сервер”

 

Системы на основе технологий “Клиент-сервер” истори­чески выросли из первых централизованных многопользова­тельских автоматизированных информационных систем, ин­тенсивно развивавшихся в 70-х годах (системы mainframe), и получили, вероятно, наиболее широкое распространение в сфе­ре информационного обеспечения крупных предприятий и кор­пораций.

В технологиях “Клиент-сервер” отступают от одного из главных принципов создания и функционирования распределен­ных систем – отсутствия центральной установки. Поэто­му можно выделить две основные идеи, лежащие в основе кли­ент-серверных технологий:

1) общие для всех пользователей данные на одном или не­скольких серверах;

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

Иначе говоря, системы, основанные на технологиях “Кли­ент-сервер”, распределены только в отношении пользователей, поэтому часто их не относят к “настоящим” распределенным системам, а считают отдельным, уже упоминавшимся классом многопользовательских систем.

Важное значение в технологиях “Клиент-сервер” имеют понятия сервера и клиента.

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

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

В своем развитии системы “Клиент-сервер” прошли не­сколько этапов, в ходе которых сформировались различные модели систем “Клиент-сервер”. Их реализация и, следователь­но, правильное понимание основаны на разделении структу­ры СУБД на три компонента:

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

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

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

Исходя из особенностей реализации и распределения (рас­положения) в системе этих трех компонентов различают четы­ре модели технологий “Клиент-сервер”:

модель файлового сервера (File Server – FS);

модель удаленного доступа к данным (Remote Data Access – RDA);

модель сервера базы данных (DataBase Server – DBS);

модель сервера приложений (Application Server – AS).

 

Модель файлового сервера

 

Модель файлового сервера является наиболее простой и характеризует не столько способ образования информационной системы, сколько общий спо­соб взаимодействия компьютеров в локальной сети. Один из компьютеров сети выделяется и определяется файловым сер­вером, т. е. общим хранилищем любых данных. Суть FS-модели иллюстрируется схемой, приведенной на рис. 2.3.

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

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

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

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

 





Поделиться с друзьями:


Дата добавления: 2016-11-18; Мы поможем в написании ваших работ!; просмотров: 1870 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Даже страх смягчается привычкой. © Неизвестно
==> читать все изречения...

2484 - | 2178 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.013 с.