Лекция 4
Проектирование должно выполняться на основе как количественных, так и качественных показателей. Количественная информация используется в качестве основы для распределения, тогда как качественная служит базой при создании схемы фрагментации. Количественная информация включает такие показатели:
частота запуска приложения на выполнение;
узлы на которых запускается приложение;
требования к производительности транзакции и приложений.
Качественная информация может включать используемые отношения, атрибуты и кортежи, к которым осуществляется доступ, тип доступа (чтение или запись)
Определение и размещение фрагментов по узлам выполняется для достижения следующих стратегических целей:
Локальность ссылок. Везде, где только это возможно, данные должны храниться как можно ближе к местам их использования, Если фрагмент используется на нескольких узлах может оказаться целесообразным разместить на этих узлах его копии.
Повышение надежности и доступности. Надежность и доступность данных повышаются за счет использования механизма репликации, В случае отказа одного из узлов всегда будет существовать копия фрагмента, сохраняемая на другом узле.
Приемлемый уровень производительности. Неверное распределение данных будет иметь следствием возникновение в системе узких мест, В этом случае некоторый узел оказывается просто завален запросами со стороны других узлов, что может вызвать существенное снижение производительности всей системы. В то же время неправильное распределение может иметь следствием неэффективное использование ресурсов системы.
Баланс между емкостью и стоимостью внешней памяти, Обязательно следует учитывать доступность и стоимость устройств хранения данных, имеющихся на каждом из узлов системы. Везде, где только это возможно, рекомендуется использовать более дешевые устройства массовой памяти, Это требование должно быть сбалансировано с требованием поддержки локальности ссылок.
Минимизация расходов на передачу данных. Следует тщательно учитывать стоимость выполнения в системе удаленных запросов. Затраты на выборку будут минимальны при обеспечении максимальной локальности ссылок.
2.2.1. Распределение данных
Существуют четыре альтернативные стратегии размещения данных в системе: централизованное, раздельное (фрагментированное), размещение с полной репликацией и с выборочной репликацией.
а) Централизованное размещение
Данная стратегия предусматривает создание на одном из узлов единственной базы данных под управлением СУБД, доступ к которой будут иметь все пользователи сети . В этом случае уровень затрат на передачу данных будет высок. Уровень надежности и доступности в системе низок, поскольку отказ на центральном узле вызовет сбой работы всей системы.
б) Раздельное (фрагметированное) размещение
В этом случае база данных разбивается на непересекающиеся фрагменты, каждый из которых размещается на одном из узлов системы. При отсутствии репликации стоимость хранения данных будет минимальна.Уровень надежности и доступности данных в системе будет выше, чем в предыдущем варианте, поскольку отказ на любом из узлов вызовет утрату доступа только к той части данных, которая на нем хранилась. При правильно выбранном способе распределения данных уровень производительности в системе будет относительно высоким, а уровень затрат на передачу данных - низким,
в) Размещение с полной репликацией
Эта стратегия предусматривает размещение полной копии всей базы данных на каждом из узлов системы. Следовательно, надежность и доступность данных, а также уровень производительности системы будут максимальны, Однако стоимость устройств хранения данных и уровень затрат на передачу данных в этом случае также будут самыми высокими. Для преодоления части этих проблем в некоторых случаях используется технология моментальных снимков. Моментальный снимок представляет собой копию базы данных в определенный момент времени, Эти копии обновляются через некоторый установленный интервал времени - например, один раз в час или в неделю, - а потому они не всегда будут актуальными в текщий момент
г) Размещение с выборочной репликацией
Данная стратегия представляет собой комбинацию методов фрагментации, репликации и централизации, Одни массивы данных разделяются на фрагменты, что позволяет добиться для них высокой локальности ссылок, тогда как другие, используемые на многих узлах , но не подверженные частым обновлениям, подвергаются репликации.
Все остальные данные хранятся централизованно, Целью применения данной стратегии является объединение всех преимуществ, существующих в остальных моделях, с одновременным исключением свойственных им недостатков, Благодаря своей гибкости именно эта стратегия используется чаще всего.