Двенадцать правил (или целей) были сформулированы Дейтом для типичной РСУБД. Основой для построения всех этих правил является то, что распределенная СУБД должна восприниматься конечным пользователем точно так же, как и централизованная СУБД. Данные правила сходны с двенадцатью правилами Кодда для реляционных систем, представленными в [7].
Правило 1
Основной принцип. Локальная автономность
С точки зрения конечного пользователя распределенная система должна выглядеть в точности так, как и обычная, нераспределенная система.
Сайты в распределенной системе должны быть автономными. В данном контексте автономность означает следующее:
– локальные данные принадлежат локальным владельцам и сопровождаются локально;
– все локальные процессы остаются чисто локальными;
– все процессы на заданном сайте контролируются только этим сайтом.
Правило 2
Отсутствие опоры на центральный сайт
В системе не должно быть ни одного сайта, без которого система не сможет функционировать. Это означает, что в системе не должно существовать центральных серверов таких служб, как управление транзакциями, выявление взаимных блокировок, оптимизация запросов и управление глобальным системным каталогом.
Правило 3
Непрерывное функционирование
В идеале, в системе никогда не должна возникать потребность в плановом останове ее функционирования для выполнения таких операций, как:
– добавление или удаление сайта из системы;
– динамическое создание или удаление фрагментов из одного или нескольких сайтов.
Правило 4
Независимость от расположения
Независимость от расположения эквивалентна прозрачности расположения. Пользователь должен получать доступ к базе данных с любого из сайтов. Более того, пользователь должен получать доступ к любым данным так, как если бы они хранились на его сайте, независимо от того, где они физически сохраняются.
Правило 5
Независимость от фрагментации