Распределённые системы часто строятся путём «интеграции» разнородных аппаратных и программных средств. Следовательно, должен быть сделан выбор между однородной и неоднородной вычислительной системой. В случае однородных СУБД нет проблем ни с моделями данных, ни с языками запросов, ни с другими средствами. Всё это совпадает с тем, что поддерживается несколько СУБД. Для неоднородных СУБД вопросы усложняются. Использования неоднородных СУБД обычно является следствием формирования РБД из ряда существовавших ранее автономных баз данных. Стоящая перед разработчиками цель — достичь прозрачного доступа, что представляет собой нечто большее, чем простое обеспечение доступа к удалённым СУБД и их базам данных.
Прозрачность может быть реализована двумя методами.
- 1. Дать пользователю интерфейс, предоставляемой данной локальной СУБД. То есть, имеющаяся схема должна быть расширена для включения данных, имеющихся в других узлах. Сетевая СУБД должна обеспечить в каждом узле возможность обращения к данным любого другого узла независимо от модели данных. Схемы других узлов должны преобразовываться в схему данного узла. Таких преобразований будет n (n-1), где n — число узлов. При большом числе n такая схема будет слишком сложной.
- 2. Использование единого для всей сети стандартного пользовательского интерфейса (единого протокола). В этом случае все пользователи используют общий интерфейс. Должна существовать единая схема сетевой БД. Каждому типу локальной СУБД должен соответствовать свой тип преобразования схемы. При этом используется лишь n типов преобразований. Недостаток — пользователь должен изучить новую систему — сетевую СУБД.
В настоящее время для взаимодействия с различными СУБД используются специальные средства:
- 1. ODBC (Open Date Base Connectivity) — разработка фирмы Microsoft.
- 2. BDE (Borland Database Engine) — фирма Borland.
- 3. CGI (Common Gateway Interface) — сценарий в рамках Интернета.
Дифференциальные файлы (ДФ) ДФ в БД аналогичны списку опечаток в книге. Вместо того, чтобы печатать новое издание книги, всякий раз, когда требуется внести изменения в текст, составляется список исправлений с указанием страниц. При достаточно большом списке опечаток производится реорганизация, т. е. создаётся новая книга.
Обновление больших баз данных ставит аналогичную задачу. Вместо того, чтобы каждый раз модифицировать БД при каждой транзакции удобнее использовать файл изменений (ДФ).
Предварительное обращение к ДФ при операциях выборки является эффективным средством к самому последнему состоянию БД. Когда ДФ достигнет достаточно больших размеров, проводится реорганизация.