Некоторые службы в SQL Server, обеспечивающие масштабируемость и отказоустойчивость системы:
Для масштабируемости используются, например:
- Регулировщик нагрузки на ядро (Engine Throttling). 1 Защищает сервер от перегрузки, отслеживает нагрузку на каждый компьютер и каждую реплику базы данных. 1
- Балансировщик нагрузки (Load Balancer). 1 Оценивает загрузку каждого из компьютеров в центре обработки данных. 1 Если один из компьютеров перегружен, балансировщик может переместить основную реплику на менее нагруженный компьютер. 1
- Федерация базы данных. 1 Позволяет масштабировать слой баз данных, разбивая одну большую базу на несколько более маленьких по определённому принципу. 1
- Регулятор ресурсов. 2 Даёт возможность выполнять масштабирование, задавать параметры для указания минимальной и максимальной загрузки процессора, объёма занимаемой памяти и числа операций ввода-вывода в секунду. 2
Для отказоустойчивости в SQL Server используются, например:
- Группы доступности (AG). 3 Обеспечивают защиту на уровне базы данных, отправляя каждую транзакцию базы данных в другой экземпляр или реплику, содержащую копию этой базы данных в специальном состоянии. 3
- Экземпляры отказоустойчивого кластера. 34 Обеспечивают доступность для всей установки SQL Server, включая базы данных, агент SQL Server, задания, связанные серверы и т. д.. 3 В случае проблемы на базовом сервере всё в экземпляре перемещается на другой сервер. 3
- Репликация. 35 Обеспечивает отказоустойчивость по транзакциям и может даже делать это лишь для части одной таблицы в базе данных. 5 Работает с журналом транзакций и посылает индивидуальные транзакции на вторичный сервер по мере их поступления. 5