· прозрачность относительно сети – СУБД должна одинаково работать в условиях разнородных сетей;
· поддержка распределенных запросов – пользователь должен иметь возможность объединять данные из любых баз, даже размещенных в разных системах;
· поддержка распределенных изменений – пользователь должен иметь возможность изменять данные в любых базах, на доступ к которым у него есть права;
· поддержка распределенных транзакций – СУБД должна выполнять транзакции, выходящие за рамки одной вычислительной системы, и поддерживать целостность БД при возникновении отказов как в системах, так и в сети;
· безопасность – СУБД должна обеспечивать защиту всей распределенной БД от несанкционированного доступа;
· универсальность доступа – СУБД должна обеспечивать единую методику доступа ко всем данным.
Ни одна из существующих СУБД не достигает этого идеала поскольку:
· низкая и несбалансированная производительность сетей снижает общую производительность обработки в распределенных транзакциях;
· обеспечение целостности данных в распределенных транзакциях базируется на принципе «все или ничего» и требует специального протокола, что приводит к длительной блокировке изменяемых данных;
· необходимо обеспечить совместимость данных, для хранения которых в разных системах используются разные форматы и кодировки;
· если каталог хранится в одной системе, то удаленный доступ будет замедлен; если будет размножен – изменения придется синхронизировать;
· необходимо обеспечить совместимость СУБД разных типов и поставщиков;
· велика потребность в ресурсах для обнаружения и устранения тупиковых ситуаций в распределенных транзакциях.
Эти причины определили поэтапность введения в СУБД возможностей распределенной обработки. В простейшем случае пользователь может обращаться по сети к записям в БД на других компьютерах. В других случаях СУБД сама проводит аутентификацию удаленного клиента и устанавливает сетевое соединение.
предыдущаяследующая