Лекция 10. Общая характеристика распределенных баз данных
До сих пор изучались централизованные, локальные базы данных. В то же время распределенные базы данных (РБД) находят все более широкое применение в связи с массовым распространением "сетевых" технологий.
Теория создания, использования и функционирование РБД имеет свои особенности по сравнению с централизованными БД.
В силу сказанного в данной части акцент сделан преимущественно на отличия теории РБД от теории централизованных БД.
В гл. 10 рассмотрена суть РБД и ее возможные структуры. Отмечено все более широкое распространение режима клиент-сервер, для которого представлена специфика одно- и многоуровневой структуры.
Новые требования, предъявляемые к БД
Базы данных явились в значительной мере следствием развития [39] автоматизированных систем управления (АСУ). Первоначально АСУ строились по централизованному принципу: данные из источников передавались в центральный вычислительный центр с суперЭВМ и там обрабатывались. В силу этого базы данных первоначально назывались банками данных.
Сразу же выяснилось, что хотя бы часть данных необходимо обрабатывать непосредственно в источниках данных. Доля децентрализованной обработки данных неуклонно росла.
К концу 80-х годов XX в. возникли новые условия работы для БД: большие объемы информации возникли во многих местах (например, розничная торговля, полиграфическое и другие производства); источником большого количества данных мог быть и центр, но к этим данным требовался быстрый доступ с периферии (географически распределенное производство, работающее по одному гра
фику). К тому же данные могли запрашиваться и центром, и удаленными потребителями. Появилось большое количество данных, которые должны использоватся в срочных запросах, чаще всего местного характера (продажа авиа- и железнодорожных билетов).
Пример 10.1. В компьютерном интегрированном полиграфическом производстве [39] необходимой является РБД (рис. 10.1), связывающая в единое целое процесс управления комплексом различных технологических процессов. Здесь осуществляется работа не с одним, а с системой приложений.
Централизованные БД, особенно построенные на классическом подходе, не могли удовлетворить новым требованиям. Возникла потребность в сетях передачи данных и формировании сети удаленных компьютеров, в том числе сети локальных БД, т. е. в распределенных базах данных (РБД).
Быстрое распространение сетей передачи данных, резкое увеличение объема внешней памяти ПК при ее удешевлении в 80-е годы XX в., развитие возможностей персональных компьютеров, которые по своим характеристикам в 90-е годы уже превосходили суперЭВМ 80-х годов, создали необходимую базу для реализации и широкого внедрения РБД.
Рис. 10.1. Схема компьютерного интегрированного полиграфического производства:
УЧ – управляющая часть; ОУ – объект управления
К достоинствам РБД относятся:
• соответствие структуры РБД структуре организаций;
• гибкое взаимодействие локальных БД;
• широкие возможности централизации узлов;
• непосредственный доступ к информации, снижение стоимости передач (за счет уплотнения и концентрации данных);
• высокие системные характеристики (малое время отклика за счет распараллеливания процессов, высокая надежность);
• модульная реализация взаимодействия, расширения аппаратных средств, возможность использования объектно-ориентированного подхода в программировании;
• возможность распределения файлов в соответствии с их активностью;
• независимые разработки локальных БД через стандартный интерфейс.
Вместе с тем РБД обладают более сложной структурой, что вызывает появление дополнительных проблем (избыточность, несогласованность данных по времени, согласование процессов обновления и запросов, использования телекоммуникационных ресурсов, учет работы дополнительно подсоединенных локальных БД, стандартизация общего интерфейса, усложнение защиты данных) согласования работы элементов.
Серьезные проблемы возникают при интеграции в рамках РБД однородных (гомогенных) локальных БД с одинаковыми, чаще всего реляционными, моделями данных.
Проблемы значительно усложняются, если локальные БД построены с использованием различных моделей данных (неоднородные, гетерогенные РБД).
Возникла необходимость в теоретической проработке процессов в РБД.
Распределенная база данных (РБД) – система логически интегрированных и территориально распределенных БД, языковых, программных, технических и организационных средств, предназначенных для создания, ведения и обработки информации.
Это означает, что информация физически хранится на разных ЭВМ, связанных сетью передачи данных. Любой узел (участок) может выполнять приложение и участвовать в работе по крайней мере одного приложения.
В распределенной базе данных используется Вперед специфическая терминология.
Архитектура клиент-сервер – структура локальной сети, в которой применено распределенное управление сервером и рабочими станциями (клиентами) для максимально эффективного использования вычислительной мощности.
Атрибут – характеристика элемента данных в объекте.
Вызов процедуры – передача управления подпрограмме или процедуре с последующим возвратом к основной программе по окончании выполнения подпрограммы или процедуры.
Вызов удаленной процедуры (Remote Procedure Call) – вызов процедуры с другого компьютера.
Инкапсуляция – объединение данных и программы (кода) в "капсуле", модуле.
Класс – объединяющая концепция набора объектов, имеющих общие характеристики (атрибуты).
Компонент – аналог класса в приложении Delphi.
Клиент – компьютер, обращающийся к совместно используемым ресурсам, которые предоставляются другим компьютером (сервером).
Локализация (размещение) – распределение данных по узлам (участкам) сети с учетом дублирования (наличия копий).
Локальная вычислительная сеть (ЛВС) – коммуникационная система, поддерживающая в пределах здания или некоторой другой территории один или несколько скоростных каналов передачи цифровой информации, предоставленных подключенным устройствам для кратковременного монопольного использования.
Метод – набор подпрограмм, оперирующих с данными.
Мост – устройство для соединения двух полностью идентичных подсетей в общую сеть.
Наследование – передача определенных свойств от класса к его производному.
Объект – комбинация элементов данных, характеризующихся атрибутами, и методов их обработки, упакованных вместе в одном модуле.
Полиморфизм – возможность переопределения процедуры в производном классе.
Прозрачность – устройство или часть программы, которая работает настолько четко и просто, что ее действия незаметны пользователю.
Свойство – аналог атрибута в приложении Delphi.
Сервер – узловая станция компьютерной сети, предназначенная в основном для хранения данных коллективного пользования и для обработки в ней запросов, поступающих от пользователей других узлов.
Событие – сигнал запуска метода.
Среда (Computer Aided Software Engineering – CASE) – среда создания программного обеспечения, ориентированная на разработку программы от планирования и моделирования до кодирования и документирования.
Фрагмент логический – блок данных, однородных для транзакций с точки зрения доступа.
Фрагментация (расчленение) – процесс разбиения целостного объекта глобального типа на несколько частей (фрагментов).
Фрагмент хранимый – физическая реализация логического фрагмента.
Шлюз – устройство для соединения разнотипных сетей, работающих по разным протоколам.
Большинство требований, предъявляемых к РБД, аналогично требованиям к централизованным БД, но их реализация имеет свою, рассматриваемую ниже специфику. В частности, в РБД иногда полезна избыточность.
Дополнительными специфическими требованиями являются:
• ЯОД в рамках схемы должен быть один для всех локальных БД;
• доступ должен быть коллективным к любой области РБД с соответствующей защитой информации;
• подсхемы должны быть определены в месте сосредоточения алгоритмов (приложений, процессов) пользователя;
• степень централизации должна быть разумной;
• необходим сбор и обработка информации об эффективности функционирования РБД.
В дальнейшем К. Дейт сформулировал 12 правил для РБД [1-3].
1. Локальная автономность.
2. Отсутствие опоры на центральный узел.
3. Непрерывное функционирование (развитие) РБД.
4. Независимость РБД от расположения локальных БД.
5. Независимость от фрагментации данных.
6. Независимость от репликации (дублирования) данных.
7. Обработка распределенных запросов.
8. Обработка распределенных транзакций.
9. Независимость от типа оборудования.
10. Независимость от операционной системы.
11. Независимость от сетевой архитектуры.
12. Независимость от типа СУБД.
В дальнейшем рассмотрении РБД выделим:
• общие вопросы (состав, работа РБД);
• теоретические вопросы РБД, в которых по-прежнему выделим три составляющие (создание, использование и функционирование РБД).