Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
answers_all_last.doc
Скачиваний:
5
Добавлен:
19.04.2019
Размер:
308.74 Кб
Скачать

10. Масштабируемость (расширяемость)

Расширяемость – свойство системы, допускающее предсказуемую поддержку дополнительных пользователей, более высокую производительность и пропускную способность путем добавления вычислительных ресурсов без изменения приложений и административного сопровождения. Основными характеристиками масштабируемости являются:

  1. Поддержка многопроцессорности

С ней связано две проблемы:

  1. Растяжимость: архитектура СУБД не должна быть специфицирована некоторым заданным числом процессоров, т.е. с одинаковым успехом должна поддерживать и 1 и 2 процессоров без дополнительных программных продуктов

  2. Прозрачность: требует, чтобы архитектура СУБД позволяла скрывать изменения в платформе архитектуры от приложений и одно и тоже приложение должно одинаково работать на различной платформе.

  1. Расширяемость архитектуры

Динамически расширяемая архитектура DSA (Dynamic Scalable Architecture) обеспечивает способность на ходу определить потребности в памяти, количество параллельных потоков выполнения заданий и т.п. без остановок и перезапуска системы

11. Производительность

Существует два основных метода повышения производительности:

  1. Многопроцессорная обработка с помощью процессов типа “thread

Многопотоковой архитектурой называется способ организации одновременной обработки множества процессов внутри сервера БД при минимальных накладных расходах на переключение контекста и максимального разделения ресурсов. Основная идея многопотоковой архитектуры: обеспечить разделение вычислительных ресурсов между запросами пользователей непосредственно в сервере СУБД, не доверяя средствам ОС. При многопотоковой архитектуре сервер БД организуется как совокупность нескольких классов, постоянно работающих в виртуальных процессах. При этом каждый класс выполняет специализированный круг действий. Реализуя концепцию многопотоковой архитектуры, можно увеличить число виртуальных процессоров, где обнаружено узкое место.

Каждый виртуальный процессор – отдельный процесс, состоящий из множества потоков. Поток(thread) – фрагмент контекста одного процесса, включающий только те данные, которые необходимы для реализации выполняемых потоком функций

Поскольку затраты ресурсов на запуск/остановку, создания и уничтожения потоков силами управляющего процесса гораздо ниже, по сравнению с действиями ОС над обычными процессами, сокращается общее число процессов ОС, загружающих вычислительную систему.

  1. Поддержка параллелизма

Для обеспечения параллелизма поток может быть разделен на потоки более низкого уровня. Существует 3 области параллельных алгоритмов:

  1. Параллельный ввод/вывод: дает существенный эффект при доступе к фрагментированным таблицам и индексам, расположенным на нескольких физических дисках

  2. Параллельные средства администрирования: выполнение административных утилит (например, загрузка, выгрузка данных, архивирование, восстановление) параллельно в онлайн режиме

  3. Параллельная обработка запросов в БД: каждый запрос разбивается на иерархию элементарных запросов, состав и последовательность выполнения которых определяется оптимизатором

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]