Добавлен: 04.12.2023
Просмотров: 48
Скачиваний: 2
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Благодаря модульности распределенной среды расширение существующей системы осуществляется намного проще. Добавление в сеть нового узла не оказывает влияния на функционирование уже существующих. Подобная гибкость позволяет организации легко расширяться. В централизованных СУБД рост размера базы данных может потребовать замены и вычислительной системы на более мощную, и используемого программного обеспечения на более мощную и гибкую СУБД. Распределенным системам свойственны и некоторые недостатки, наиболее существенным из которых является повышение сложности, по крайней мере, с технической точки зрения. Распределенные СУБД являются более сложными программными комплексами, чем централизованные СУБД. Достаточно указать на тот факт, что данные могут подвергаться репликации. Если репликация данных не будет поддерживаться на требуемом уровне, система будет иметь более низкий уровень доступности данных, надежности и производительности, чем централизованные системы.
В распределенных системах могут возникнуть проблемы защиты не только данных, реплицируемых на несколько различных сайтов, но и защиты сетевых соединений самих по себе. В централизованных системах доступ к данным легко контролируется.
Усложнение контроля за целостностью данных – еще один из недостатков распределенных СУБД. Требования обеспечения целостности (корректности и согласованности данных) формулируются в виде ограничений. Выполнение ограничений гарантирует защиту информации в базе данных от разрушения. Реализация таких ограничений целостности требует доступа к большому количеству данных, используемых во время проверок. В распределенных СУБД повышенная стоимость передачи и 14 обработки данных может препятствовать организации эффективной защиты от нарушений целостности данных.
Наконец, нельзя не сказать об усложнении процедуры проектирования базы данных. Помимо обычных проблем, связанных с проектированием централизованных баз данных, разработка распределенных СУБД требует принятия решения о фрагментации данных, распределения фрагментов по отдельным сайтам и организации процедур репликации данных.
3 Методология инфологического проектирования централизованных реляционных баз данных3.1 Проектирование распределенных реляционных баз данных
В рассмотрена методология инфологического проектирования централизованных реляционных баз данных. Рассмотрим следующие дополнительные аспекты проектирования распределенных реляционных систем . ¨
Фрагментация. Любое отношение может быть разделено на части или фрагменты при организации физического хранения этого отношения. Фрагменты распределяются по различным узлам. Если во фрагмент выделяется подмножество кортежей отношения, то он называется горизонтальным фрагментом. Фрагмент называется вертикальным, если в нем используется подмножество атрибутов отношения.
-
Распределение. Узел для хранения фрагмента выбирается исходя из некоторой оптимальной схемы размещения фрагментов. -
Репликация. Одной из задач РСУБД является поддержка актуальной копии некоторого фрагмента на нескольких узлах.
Определение и размещение фрагментов должно производиться на основе анализа наиболее важных приложений, определяющих особенности использования базы данных.
При проектировании должны учитываться как качественные, так и количественные показатели будущей системы. Распределение выполняется на основе количественной информации, а базой при создании схемы фрагментации являются качественные показатели. К количественным показателям относятся следующие:
-
частота запуска приложения на выполнение; -
узел, на котором запускается приложение; -
требования к производительности транзакций и приложений.
Качественная информация может включать перечень транзакций, выполняемых в приложении, используемые в этих транзакциях отношения, атрибуты и кортежи, тип доступа к этим объектам (чтение или запись), предикаты, используемые в операциях чтения.
Разделение отношений на фрагменты и распределение фрагментов по узлам выполняется для достижения следующих целей .
-
Локальность ссылок. Данные должны храниться как можно ближе к местам их использования. Если фрагмент используется несколькими узлами, может оказаться целесообразным разместить на этих узлах его реплики. -
Повышение надежности и доступности. Надежность и доступность данных повышаются за счет использования механизма репликации. В случае отказа одного из узлов всегда будет существовать копия фрагмента, сохраняемая на другом узле. -
Достаточный уровень производительности. Неправильный выбор схемы размещения данных может привести к возникновению в системе узких мест. Некоторый узел может быть перегружен запросами со стороны других узлов, что приведет к снижению производительности всей системы. С другой стороны, некоторые узлы будут "простаивать", т.е. ресурсы системы при неправильном распределении будут использоваться неэффективно. -
Приемлемое соотношение между стоимостью и емкостью внешней памяти. На всех узлах обычно рекомендуется использовать более дешевые устройства массовой памяти. Это требование должно быть согласовано с требованием поддержки локальности ссылок. -
Минимизация расходов на передачу данных. Стоимость выполнения в системе удаленных запросов – одна из важнейших характеристик системы. Затраты на выборку будут минимальны при обеспечении максимальной локальности ссылок, т.е. когда каждый узел будет иметь свою собственную копию данных. Однако при обновлении реплицируемых данных внесенные изменения придется распространять на все узлы с репликами, что вызовет увеличение затрат на передачу данных.
3.2 Распределение данных
Существует четыре схемы размещения данных в системе: централизованное, раздельное (фрагментированное), размещение с полной репликацией и размещение с выборочной репликацией. Рассмотрим эти схемы подробнее с точки зрения достижения целей, определенных выше. Централизованное размещение
На одном из узлов под управлением СУБД создается и хранится единственная база данных. Доступ к этой базе имеют все пользователи сети . В этом случае локальность ссылок минимальна для всех узлов, кроме центрального, так как для получения любого доступа к данным требуется установка сетевого соединения. Соответственно уровень затрат на передачу данных будет высок. Уровень надежности и доступности в системе низок, поскольку аварийная ситуация на центральном узле приведет к отказу всей системы.
Локальность ссылок - самая низкая.
Надежность и доступность - самая низкая.
Производительность — неудовлетворительная.
Стоимость устройств хранения - самая низкая.
Затраты на передачу данных - самые высокие.
Раздельное (фрагментированное) размещение
База данных разбивается на непересекающиеся фрагменты, каждый из которых размещается на одном из узлов системы. Уровень локальных ссылок будет высок, если на узлах размещены именно те элементы данных, которые чаще всего используются на этих узлах. Если репликация не используется, то стоимость хранения данных будет минимальна, но при этом будет также невысок уровень надежности и доступности данных в системе. Однако он будет выше, чем в предыдущем варианте, поскольку аварийная ситуация на любом из узлов вызовет отказ в доступе только к той части данных, которая на нем хранилась. При правильно выбранной схеме распределения данных уровень производительности в системе будет относительно высоким, а уровень затрат на передачу данных – низким.
Локальность ссылок - высокая.
Надежность и доступность - низкая для отдельных элементов;
высокая для системы в целом.
Производительность - удовлетворительная.
Стоимость устройств хранения - самая низкая.
Затраты на передачу данных — низкие.
Размещение с полной репликацией
Полная копия всей базы данных размещается на каждом из узлов системы. Следовательно, локальность ссылок, надежность и доступность данных и уровень производительности системы будут максимальны. Однако стоимость устройств хранения данных и уровень затрат на передачу данных в этом случае будут также самыми высокими.
Локальность ссылок - самая высокая.
Надежность и доступность - самая высокая.
Производительность - хорошая для операций чтения.
Стоимость устройств хранения - самая высокая.
Затраты на передачу данных - высокие для операций обновления, низкие для операций чтения. Размещение с выборочной репликацией
Эта схема представляет собой комбинацию методов фрагментации, репликации и централизации. Одни массивы данных разделяются на фрагменты, что позволяет добиться для них высокой локальности ссылок. Другие данные, используемые на многих узлах, но не часто обновляемые, реплицируются. Остальные данные хранятся централизованно. Такая стратегия позволяет объединить все преимущества, существующие в остальных моделях, и исключить свойственные им недостатки. Благодаря своей гибкости именно эта стратегия используется чаще всего.
Локальность ссылок - высокая.
Надежность и доступность - низкая для отдельных элементов;высокая для системы в целом.
Производительность - удовлетворительная.
Стоимость устройств хранения - средняя. Затраты на передачу данных - низкие.
3.3 Фрагментация
Система поддерживает фрагментацию, если данное отношение может быть разделено на части или фрагменты при организации его физического хранения. Фрагментация желательна для повышения эффективности системы. В этом случае данные могут храниться в том месте, где они чаще всего используются. Это позволяет достичь локализации большинства операций и уменьшения сетевого трафика. Кроме того, исключается хранение данных, которые не используются локальными приложениями, а значит, неавторизированные пользователи не смогут получить к ним доступ. С другой стороны, производительность приложений, требующих доступа к данным из нескольких фрагментов на различных узлах, может оказаться недостаточной. Поддержка целостности данных также может существенно осложняться, так как функционально зависимые данные могут оказаться фрагментированными и размещаться на различных узлах.
Для корректности фрагментации необходимо выполнение следующих правил.
-
Полнота. Каждый элемент данных из исходного отношения должен присутствовать, по крайней мере, в одном из созданных фрагментов. Это гарантирует отсутствие потери информации при фрагментации. -
Восстановимость. Исходное отношение должно быть восстановимо из его фрагментов при помощи операций реляционной алгебры. Это гарантирует сохранение функциональных зависимостей. -
Непересекаемость. Один элемент данных не должен присутствовать в двух и более фрагментах. Исключение составляет вертикальная фрагментация, когда в каждом фрагменте должны присутствовать атрибуты первичного ключа, необходимые для восстановления исходного отношения. Это правило гарантирует минимальную избыточность данных во фрагментах.
Существуют два основных типа фрагментации: горизонтальная и вертикальная. Горизонтальные фрагменты представляют собой подмножества кортежей отношения, а вертикальные – подмножества атрибутов отношения.
Горизонтальная фрагментация
Горизонтальным называется фрагмент, выделенный из отношения по горизонтали и состоящий из некоторого подмножества кортежей этого отношения. Для создания горизонтального фрагмента определяется предикат, с помощью которого выполняется отбор кортежей из исходного отношения. Этот тип фрагмента определяется с помощью операции выборки (селекции) реляционной алгебры. Операция выборки позволяет отобрать группу кортежей, имеющих некоторое общее для них свойство, – например, все кортежи, используемые одним из приложений, или все кортежи, применяемые на одном из узлов. Если задано отношение R1, то его горизонтальный фрагмент может быть определен формулой [4]: R (R ) F 1 = s Здесь F является предикатом, построенным с использованием одного или больше атрибутов отношения R1.