- •1. Распределённые базы данных: основные понятия.
- •2. Аспекты сетевого взаимодействия (необходимые условия функционирования сурбд).
- •3. Свойства ddb: локальная автономия, независимость узлов, непрерывные операции, обработка распределённых транзакций.
- •4. Свойства ddb: обработка распределённых запросов, прозрачность расположения, прозрачная фрагментация, прозрачное тиражирование.
- •5. Свойства ddb: независимость от оборудования, независимость от операционных систем, прозрачность сети, независимость от баз данных.
- •6. Обработка и оптимизация запросов.
- •7. Управление одновременным доступом.
- •8. Целостность данных и протоколы обеспечения надежности.
- •9. Технология тиражирования данных
- •10. Масштабируемость (расширяемость)
- •11. Производительность
- •12. Cмешанная загрузка субд (olcp). Развитие архитектуры серверов бд
- •13. Постоянная доступность данных.
- •14. Параллельные системы баз данных: общее понятие.
- •15. Цели и параметры параллелизма: ускорение и расширяемость.
- •16. Аппаратная архитектура.
- •17. Параллелизм внутри реляционных операторов.
13. Постоянная доступность данных.
Основными характеристиками доступности являются:
1) Оперативное администрирование в режиме онлайн.
В идеальном случае все утилиты администрирования должны выполняться в режиме онлайн. В более практичном варианте, в случае необходимости, отключения части БД работоспособной части таблиц и БД должны быть доступны в течение процесса восстановления.
2) Функциональная насыщенность (устойчивость) СУБД.
Это множество механизмов используемых серверами БД для уменьшения последствий системного сбоя и повышения прозрачности доступа к дублированным данным в программных условиях.
Системы, обеспечивающие непрерывный доступ к данным (fault tolerant), или почти непрерывный (high availability) обычно опираются на различные формы избыточности.
Системы дублирования аппаратного обеспечения.
Избыточность достигается использованием:
а) Платформы с полным резервированием поддерживаемые процессорами, диски с двойным интерфейсом, дисковые массивы.
б) Используется зеркалирование дисков, когда один диск является полной копией другого.
Контролируемая избыточность данных.
Управляемая избыточность данных обычно представляется в двух формах:
а) Программное зеркалирование.
б) Тиражирование данных.
14. Параллельные системы баз данных: общее понятие.
Параллельная СУБД - Система управления базой данных, функционирующей с использованием нескольких процессоров и жестких дисков, что позволяет ей (если это возможно) распараллеливать выполнение некоторых операций с целью повышения общей производительности обработки.
Не существует четкого разграничения между параллельными и распределенными СУБД, в частности архитектуры параллельных СУБД без распределяемых ресурсов схожи со слабо связанными распределенными системами.
Под распределенной БД (Distributed Data Base) обычно понимают множество взаимосвязанных БД, расположенных на различных узлах сети и возможно управляемых различными СУБД.
Система управления распределенными БД определяется, как программная система, которая позволяет управлять БД таким образом, чтобы ее распределенность была прозрачна для пользователей.
В этом определении уточним 2 отличительных условия:
- система состоит из множества узлов данных, приемов запросов и непустого множества узлов данных. Узлы данных обладают средствами для хранения данных, а узлы приема запросов нет. На них лишь выполняются программы, реализующие интерфейс для доступа к данным, хранящимся в узлах данных.
- узлы логически представляют собой независимые компьютеры, на которые установлены собственные ОС и могут выполняться независимыми приложениями, т.е. узлы – компьютеры, связанные сетью, а не процессоры, составляющие многопроцессорную конфигурацию. Здесь важнейший отличительный признак – это слабосвязанный характер среды, где каждый узел функционирует независимо.
Замечание: если снять упомянутые выше условия, то мы получим определения системы параллельных БД.
15. Цели и параметры параллелизма: ускорение и расширяемость.
Идея обработки данных в системах с массовым параллелизмом исключительно проста – декомпозиция вычислительных задач на большое число параллельно выполняющихся операций.
Реляционные запросы состоят из однородных операций над однородным потоком данных. Это делает возможным конвейерный параллелизм, при котором один оператор вычисляется параллельно с другим, и разнесённый параллелизм, при котором операторы дублируются для каждого источника данных и дубли выполняются параллельно.
Цели и параметры параллелизма: ускорение и расширяемость.
Идеальная параллельная система обладает двумя главными свойствами:
линейное ускорение: вдвое большее аппаратное обеспечение выполнит ту же задачу в два раза быстрее;
линейная расширяемость: вдвое большее аппаратное обеспечение выполнит вдвое большую задачу за то же время.
Ускорение называется линейным, если в N раз большая (или более дорогая) система обладает в N раз большим быстродействием.
Ускорение позволяет определить эффективность наращивания системы на сопоставимых задачах. Расширяемость позволяет измерять эффективность наращивания системы на больших задачах. Расширяемость определяется, как способность в N раз большей системы выполнять в N раз большую работу за то же время, что и исходная система.
Если коэффициент расширяемости = 1, то расширяемость называется линейной.
Существуют два различных вида расширяемости: пакетная и транзакционная. Если суть работы состоит в выполнении большого количества небольших независимых запросов от многих пользователей к базе данных коллективного пользования, то свойство расширяемости состоит в удовлетворении в N раз большего числа запросов от большего в N раз числа клиентов к большей в N раз базе данных. Такая расширяемость характерна для систем транзакционной обработки запросов и систем с разделением времени и называется транзакционной.
Второй вид расширяемости, называемый пакетной расширяемостью, возникает, когда задача состоит в выполнении одной большой работы. Она характерна для запросов к базам данных, а также для задач математического моделирования. В этих случаях расширяемость состоит в использовании в N раз большего компьютера для решения в N раз большей задачи.
Достижения линейного ускорения и линейной расширяемости ограничиваются тремя факторами:
Запуск: время, необходимое для запуска параллельной операции. Если нужно запустить тысячи процессоров, то реальное время вычислений может оказаться значительно меньше времени, требуемого для их запуска.
Помехи: появление каждого нового процесса ведёт к замедлению всех остальных процессов, использующих те же ресурсы.
Перекос: с увеличением числа параллельных шагов средняя продолжительность выполнения каждого шага уменьшается, но отклонение от среднего значения может значительно превзойти само среднее значение. Время выполнения работы – это время выполнения наиболее медленного шага работы. Когда отклонение от средней продолжительности превосходит её саму, то параллелизм позволяет только слегка убыстрить выполнение работы.