- •1. Распределённые базы данных: основные понятия.
- •2. Аспекты сетевого взаимодействия (необходимые условия функционирования сурбд).
- •3. Свойства ddb: локальная автономия, независимость узлов, непрерывные операции, обработка распределённых транзакций.
- •4. Свойства ddb: обработка распределённых запросов, прозрачность расположения, прозрачная фрагментация, прозрачное тиражирование.
- •5. Свойства ddb: независимость от оборудования, независимость от операционных систем, прозрачность сети, независимость от баз данных.
- •6. Обработка и оптимизация запросов.
- •7. Управление одновременным доступом.
- •8. Целостность данных и протоколы обеспечения надежности.
- •9. Технология тиражирования данных
- •10. Масштабируемость (расширяемость)
- •11. Производительность
- •12. Cмешанная загрузка субд (olcp). Развитие архитектуры серверов бд
- •13. Постоянная доступность данных.
- •14. Параллельные системы баз данных: общее понятие.
- •15. Цели и параметры параллелизма: ускорение и расширяемость.
- •16. Аппаратная архитектура.
- •17. Параллелизм внутри реляционных операторов.
10. Масштабируемость (расширяемость)
Расширяемость – свойство системы, допускающее предсказуемую поддержку дополнительных пользователей, более высокую производительность и пропускную способность путем добавления вычислительных ресурсов без изменения приложений и административного сопровождения. Основными характеристиками масштабируемости являются:
Поддержка многопроцессорности
С ней связано две проблемы:
Растяжимость: архитектура СУБД не должна быть специфицирована некоторым заданным числом процессоров, т.е. с одинаковым успехом должна поддерживать и 1 и 2 процессоров без дополнительных программных продуктов
Прозрачность: требует, чтобы архитектура СУБД позволяла скрывать изменения в платформе архитектуры от приложений и одно и тоже приложение должно одинаково работать на различной платформе.
Расширяемость архитектуры
Динамически расширяемая архитектура DSA (Dynamic Scalable Architecture) обеспечивает способность на ходу определить потребности в памяти, количество параллельных потоков выполнения заданий и т.п. без остановок и перезапуска системы
11. Производительность
Существует два основных метода повышения производительности:
Многопроцессорная обработка с помощью процессов типа “thread”
Многопотоковой архитектурой называется способ организации одновременной обработки множества процессов внутри сервера БД при минимальных накладных расходах на переключение контекста и максимального разделения ресурсов. Основная идея многопотоковой архитектуры: обеспечить разделение вычислительных ресурсов между запросами пользователей непосредственно в сервере СУБД, не доверяя средствам ОС. При многопотоковой архитектуре сервер БД организуется как совокупность нескольких классов, постоянно работающих в виртуальных процессах. При этом каждый класс выполняет специализированный круг действий. Реализуя концепцию многопотоковой архитектуры, можно увеличить число виртуальных процессоров, где обнаружено узкое место.
Каждый виртуальный процессор – отдельный процесс, состоящий из множества потоков. Поток(thread) – фрагмент контекста одного процесса, включающий только те данные, которые необходимы для реализации выполняемых потоком функций
Поскольку затраты ресурсов на запуск/остановку, создания и уничтожения потоков силами управляющего процесса гораздо ниже, по сравнению с действиями ОС над обычными процессами, сокращается общее число процессов ОС, загружающих вычислительную систему.
Поддержка параллелизма
Для обеспечения параллелизма поток может быть разделен на потоки более низкого уровня. Существует 3 области параллельных алгоритмов:
Параллельный ввод/вывод: дает существенный эффект при доступе к фрагментированным таблицам и индексам, расположенным на нескольких физических дисках
Параллельные средства администрирования: выполнение административных утилит (например, загрузка, выгрузка данных, архивирование, восстановление) параллельно в онлайн режиме
Параллельная обработка запросов в БД: каждый запрос разбивается на иерархию элементарных запросов, состав и последовательность выполнения которых определяется оптимизатором