Требования к распределенным базам данных
Распределенная база данных (DDB – Distributed DataBase) – это совокупность множества взаимосвязанных БД, распределенных в компьютерной сети. БД распределена физически, но логически едина (имеет общую схему данных).
В системах с распределенными БД используются разные технологии распределения данных по узлам сети – фрагментация и тиражирование.
При использовании фрагментации единая логическая БД разбивается на составные части (фрагменты), хранящиеся в разных узлах сети. Разбиение может проводиться по территориальному, функциональному и временному критериям.
При использовании тиражирования в нескольких узлах сети создаются и поддерживаются в согласованном состоянии (синхронизируются) копии всей БД или ее фрагментов. Копия БД называется репликой.
В системах с централизованной БД (много клиентов/один сервер) проблемы управления БД решаются просто, поскольку вся она хранится на сервере. В системах с распределенной БД проектирование, реализация запросов и управление представляют собой сложные задачи. Однако такие системы обеспечивают большую гибкость, надежность и быстродействие. Технологии распределения данных видоизменяют преимущества и недостатки систем. Одно из преимуществ БД – сокращение дублирования – теряется при использовании тиражирования. При этом сохраняются возможности контроля целостности данных для всей системы.
Ведущими поставщиками СУБД сформулированы следующие свойства идеальной системы управления распределенными БД:
· прозрачность относительно расположения данных – СУБД должна представлять все данные так, как если бы они были локальными;
· гетерогенность системы – СУБД должна работать с данными, которые хранятся в системах с различной архитектурой и производительностью;
· прозрачность относительно сети – СУБД должна одинаково работать в условиях разнородных сетей;
· поддержка распределенных запросов – пользователь должен иметь возможность объединять данные из любых баз, даже размещенных в разных системах;
· поддержка распределенных изменений – пользователь должен иметь возможность изменять данные в любых базах, на доступ к которым у него есть права;
· поддержка распределенных транзакций – СУБД должна выполнять транзакции, выходящие за рамки одной вычислительной системы, и поддерживать целостность БД при возникновении отказов как в системах, так и в сети;
· безопасность – СУБД должна обеспечивать защиту всей распределенной БД от несанкционированного доступа;
· универсальность доступа – СУБД должна обеспечивать единую методику доступа ко всем данным.
Ни одна из существующих СУБД не достигает этого идеала поскольку:
· низкая и несбалансированная производительность сетей снижает общую производительность обработки в распределенных транзакциях;
· обеспечение целостности данных в распределенных транзакциях базируется на принципе «все или ничего» и требует специального протокола, что приводит к длительной блокировке изменяемых данных;
· необходимо обеспечить совместимость данных, для хранения которых в разных системах используются разные форматы и кодировки;
· если каталог хранится в одной системе, то удаленный доступ будет замедлен; если будет размножен – изменения придется синхронизировать;
· необходимо обеспечить совместимость СУБД разных типов и поставщиков;
· велика потребность в ресурсах для обнаружения и устранения тупиковых ситуаций в распределенных транзакциях.
Эти причины определили поэтапность введения в СУБД возможностей распределенной обработки. В простейшем случае пользователь может обращаться по сети к записям в БД на других компьютерах. В других случаях СУБД сама проводит аутентификацию удаленного клиента и устанавливает сетевое соединение.
Изучая тенденции развития технологий обработки данных, можно выделить два класса систем:
· системы распределенной обработки данных;
· системы распределенных баз данных.
Системы распределенной обработки данных базировались на многопользовательских операционных системах с БД на центральном компьютере. Клиентские места реализовались в виде терминалов, не имеющих собственных ресурсов. Развитие сетевых технологий, распространение персональных ЭВМ и стандартов открытых систем привело к появлению систем распределенных БД, размещенных в сети разнотипных компьютеров. Система состоит из узлов, каждый из которых является СУБД. БД любого узла доступна пользователю.
При обработке данных в сетевой среде выделяют следующие группы функций:
· презентационная логика (PL – Presentation Logic): ввод и отображение данных – внешний (пользовательский) уровень реализации функциональной обработки и представления;
· бизнес-логика (BL – Business Logic): функциональная обработка, реализующая алгоритм решения задач пользователя;
· манипулирование данными БД в рамках приложения, которое обычно реализуется средствами SQL (DL – Database Logic);
· управление данными и другими ресурсами БД, реализуемое внутренними средствами конкретной СУБД обычно в рамках файловой системы ОС;
· управление процессами обработки: связывание и синхронизация процессов обработки данных разного уровня.
Дата добавления: 2017-10-04; просмотров: 2240;