Рассмотрение примера завершено.
Очень важно понимать различия, существующие между распределенными СУБД и распределенной обработкой данных. Распределенная обработка – обработка с использованием централизованной базы данных, доступ к которой может осуществляться с различных компьютеров сети.
Ключевым моментом в определении распределенной базы данных является утверждение, что система работает с данными, физически распределенными в сети. Если данные хранятся централизованно, то даже в том случае, когда доступ к ним обеспечивается для любого пользователя в сети, данная система просто поддерживает распределенную обработку, но не может рассматриваться как распределенная СУБД.
Кроме того, следует четко понимать различия, существующие между распределенными и параллельными СУБД. Параллельная СУБД – система управления базой Данных, функционирующая с использованием нескольких процессоров и устройств жестких дисков, что позволяет ей (если это возможно) распараллеливать выполнение некоторых операций с целью повышения общей производительности обработки.
Параллельные технологии обычно используются в случае исключительно больших баз данных, размеры которых могут достигать нескольких терабайт (1012 байт), или в системах, которые должны поддерживать выполнение тысяч транзакций в секунду. Подобные системы нуждаются в доступе к большому объему данных и должны обеспечивать приемлемое время реакции на запрос. Параллельные СУБД могут использовать различные вспомогательные технологии, позволяющие повысить производительность обработки сложных запросов за счет применения методов распараллеливания операций сканирования, соединения и сортировки, что позволяет нескольким процессорным узлам автоматически распределять между собой текущую нагрузку.
Распределенные СУБД можно классифицировать как гомогенные и гетерогенные. В гомогенных системах все сайты используют один и тот же тип СУБД. В гетерогенных системах на сайтах могут функционировать различные типы СУБД, использующие разные модели данных, т.е. гетерогенная система может включать сайты с реляционными, сетевыми, иерархическими или объектно-ориентированными СУБД.
Гомогенные системы значительно проще проектировать и сопровождать. Кроме того, подобный подход позволяет поэтапно наращивать размеры системы, последовательно добавляя новые сайты к уже существующей распределенной системе. Дополнительно появляется возможность повышать производительность системы за счет организации на различных сайтах параллельной обработки информации.
Гетерогенные системы обычно возникают в тех случаях, когда независимые сайты, уже эксплуатирующие свои собственные системы с базами данных, интегрируются во вновь создаваемую распределенную систему. В гетерогенных системах для организации взаимодействия между различными типами СУБД потребуется организовать трансляцию передаваемых сообщений. Для обеспечения прозрачности в отношении типа используемой СУБД пользователи каждого из сайтов должны иметь возможность вводить интересующие их запросы на языке той СУБД, которая используется на данном сайте. Система должна взять на себя локализацию требуемых данных и выполнение трансляции», передаваемых сообщений. В общем случае данные могут быть затребованы с другого сайта, который характеризуется такими особенностями, как: иной тип используемого оборудования; иной тип используемой СУБД; иной тип применяемых оборудования иСУБД.
Одной из разновидностей распределенных СУБД, являются мультибазовые системы. Мультибазовая система – распределенная система управления базами данных, в которой управление каждым из сайтов осуществляется совершенно автономно. В последние годы заметно возрос интерес к мультибазовым СУБД, в которых предпринимается попытка интеграции таких распределенных систем баз данных, в которых весь контроль над отдельными локальными системами целиком и полностью осуществляется их операторами. Одним из следствий полной автономии сайтов является отсутствие необходимости внесения каких-либо изменений в локальные СУБД. Следовательно, мультибазовые СУБД требуют создания поверх существующих локальных систем дополнительного уровня программного обеспечения, предназначенного для предоставления необходимой функциональности.
Мультибазовые системы позволяют конечным пользователям разных сайтов получать доступ и совместно использовать данные без необходимости физической интеграции существующих баз данных. Они обеспечивают пользователям возможность управлять базами данных их собственных сайтов без какого-либо централизованного контроля, который обязательно присутствует в обычных типах СУРБД. Администратор локальной базы данных может разрешить доступ к определенной части своей базы данных посредством создания схемы, экспорта, определяющей, к каким элементам локальной базы данных смогут получать Доступ внешние пользователи. Различают нефедеральные (не имеющие локальных пользователей) и федеральные мультибазовые системы. Федеральная система представляет собой некоторый гибрид распределенной и централизованной систем, поскольку она выглядят как распределенная система для удаленных пользователей и как централизованная система – для локальных.
Говоря простыми словами, мультибазовая СУБД является такой СУБД, которая прозрачным образом располагается поверх существующих баз данных и файловых систем, предоставляя их своим пользователям как некоторую единую базу данных. Мультибазовая СУБД поддерживает глобальную схему, на основании которой пользователи могут строить запросы и модифицировать данные. Мультибазовая СУБД работает только с глобальной схемой, тогда как локальные СУБД собственными силами обеспечивают поддержку данных всех их пользователей. Глобальная схема создается посредством интеграции схем локальных баз данных. Программное обеспечение мультибазовой СУБД предварительно транслирует глобальные запросы и превращает их в запросы и операторы модификации данных соответствующих локальных СУБД. Затем полученные после выполнения локальных запросов результаты сливаются в единый глобальный результат, предоставляемый пользователю. Кроме того, мультибазовая СУБД осуществляет контроль за выполнением фиксации или отката отдельных операций глобальных транзакций локальных СУБД, а также обеспечивает сохранение целостности данных в каждой из локальных баз данных. Программы мультибазовой СУБД управляют различными шлюзами, с помощью которых они контролируют работу локальных СУБД.
Двенадцать правил (или целей) были сформулированы Дейтом для типичной РСУБД (табл. 1). Основой для построения всех этих правил является то, что распределенная СУБД должна восприниматься конечным пользователем точно так же, как и централизованная СУБД.
Таблица 1. Правила построения распределенных систем
№ | Правило | Сущность |
1. | Локальная автономность | С точки зрения конечного пользователя распределенная система должна выглядеть в точности так, как и обычная, нераспределенная система. Сайты в распределенной системе должны быть автономными. В данном контексте автономность означает следующее: локальные данные принадлежат локальным владельцам и сопровождаются локально; все локальные процессы остаются чисто локальными; все процессы на заданном сайте контролируются только этим сайтом. |
2. | Отсутствие опоры на центральный сайт | В системе не должно быть ни одного сайта, без которого система не сможет функционировать. Не должно существовать центральных серверов таких служб, как управление транзакциями, выявление взаимных блокировок, оптимизация запросов и управление глобальным системным каталогом. |
3. | Непрерывное функционирование | В идеале, в системе никогда не должна возникать потребность в плановом останове ее функционирования для выполнения таких операций, как: добавление или удаление сайта из системы; динамическое создание или удаление фрагментов из одного или нескольких сайтов. |
4. | Независимость от расположения | Эквивалентна прозрачности расположения. Пользователь должен получать доступ к базе данных с любого из сайтов, причем так, как если бы они хранились на его сайте (независимо от того, где они физически сохраняются). |
5. | Независимость от фрагментации | Пользователь должен получать доступ к данным независимо от способа их фрагментации. |
6. | Независимость от репликации | Пользователь не должен нуждаться в сведениях о наличии репликации данных. Это значит, что пользователь не будет иметь средств для получения прямого доступа к конкретной копии элемента данных, а также не должен заботиться об обновлении всех имеющихся копий элемента данных. |
7. | Обработка распределенных запросов | Система должна поддерживать обработку запросов, ссылающихся на данные, расположенные на более чем одном сайте. |
8. | Обработка распределенных транзакций | Система должна поддерживать выполнение транзакций, как единицы восстановления. Система должна гарантировать, что выполнение как глобальных, так и локальных транзакций будет происходить с сохранением четырех основных свойств транзакций, а именно: атомарности, согласованности, изолированности и продолжительности. |
9. | Независимость от типа оборудования | СУРБД должна быть способна функционировать на оборудовании с различными вычислительными платформами. |
10. | Независимость от операционной системы | СУРБД должна быть способна функционировать под управлением различных операционных систем. |
11. | Независимость от сетевой архитектуры | СУРБД должна быть способна функционировать в сетях с различной архитектурой и типами носителя. |
12. | Независимость от типа СУБД | СУРБД должна быть способна функционировать поверх различных локальных СУБД, возможно, с разным типом используемой модели данных (т.е. СУРБД должна поддерживать гетерогенность). |
Следует отметить, что для гомогенных систем справедливы не все правила. Но основное правило (локальная автономность) должно соблюдаться для всех без исключения распределенных систем.
Дата добавления: 2016-02-04; просмотров: 913;