Upload
andrey-korshikov
View
47
Download
0
Embed Size (px)
Citation preview
Отказоустойчивые решения SQL
Андрей
Коршиков
@AndreyKorshikov
PASS Regional Mentor for
Central Eastern Europe
Факторы, влияющие на доступность
Ошибки программного обеспечения
Неисправности компонентов оборудования
Неполадки сети
Пропадание электропитания и природные катаклизмы
Высокая доступность
•Индексирование (Indexing)
• Online reorganization
•Секционирование (Partitions)
Доступ к данным в SQL Server
Просмотр строк таблицы
SQL Server считывает все страницы таблицы
Индекс
SQL Server использует страницы индексадля поиска строк
https://msdn.microsoft.com/en-us/library/ms175049.aspx
Секционирование
https://msdn.microsoft.com/en-us/library/ms190787.aspx
Отказоустойчивость
• Backup
• Service Broker
• Log shipping
•Replication
•Mirroring
• Failover clustering
•AlwaysOn Availability Groups
Аварийное восстановление(бэкапирование)
Типы резервного копирования SQL Server
Тип резервной копии
Описание
Полная Все файлы данных и часть журнала транзакций
Журнал транзакций Любые изменения базы данных, записанные в файлах журнала
Заключительные
фрагменты журналаАктивная часть журнала
РазностнаяЧасти базы данных, которые изменились с момента выполнения полного резервного копирования базы данных
Файл / файловая группа Указанные файлы или файловые группы
ЧастичнаяПервичная файловая группа, все файловые группы, доступные для чтения и записи, и любые указанные файловые группы, доступные только для чтения
Доступная только
для копирования
База данных или журнал (не оказывается влияния на последовательность резервного копирования)
Модели восстановления
Модель восстановления
Описание
ПростаяИспользует полные или разностные резервные копии базы данных. Усекает журналы транзакций
ПолнаяВключает резервные копии как базы данных, так и журнала транзакций
С неполным
протоколированием
Включает резервные копии как базы данных, так и журнала транзакций, но использует меньше пространства журнала для некоторых операций
Стратегия полного резервного копирования базы данных
• Полное резервное копирование выполняется, если:
• База данных имеет небольшой размер
• База данных подвергается незначительным
изменениям или доступна только для чтения
• Следует периодически очищать журнал транзакций, если
используется полная модель восстановления
воскресенье понедельник вторник
Стратегия резервного копирования базы данных и журнала транзакций
• Следует объединить резервное копирование базы
данных и журнала транзакций, если:
• База данных часто изменяется
• Полное резервное копирование занимает слишком
много времени
воскресенье понедельник
Стратегия разностного резервного копирования
• Разностное резервное копирование следует использовать,
если:
• База данных часто изменяется
• Необходимо сократить время резервного копирования
• Резервное копирование журналов транзакций выполняется
отдельно
понедельник вторник
Стратегия резервного копирования файлов и файловых групп
• Файлы или файловые группы следует использовать, если:
• База данных имеет большой размер
• Полное резервное копирование занимает слишком
много времени
• Резервное копирование журналов транзакций выполняется отдельно
• Возможны сложности с управлением
воскресенье понедельник вторник среда
Файлданных 1
Файлданных 2
Файлданных 3
Service Broker
Системная архитектура Service Broker
Тип объекта Описание
Тип сообщений Определяет допустимые сообщения для обмена между службами
Контракт Задает тип сообщений и их направление в общении
Очередь Хранит сообщения до отправки и после получения как результирующий набор
Служба Отражает адресуемую конечную точку для взаимодействия служб
Служебная программа Обрабатывает сообщения из очередей и применяет бизнес-логику
Служебнаяпрограмма
Контракт
ОчередьТип сообщений
Служба
Архитектура общения Service Broker
Конструкция Описание
Сообщение Данные, которыми обмениваются две службы
Диалоговое общение
Общение, предполагающее отправку и получение сообщений двумя службами
Группа сообщенийГруппа связанных сообщений с уникальным идентификатором
МаршрутСетевой адрес и дополнительное имя службы, используемые для перенаправления сообщений при общении между разными экземплярами SQL Server
Привязка удаленной службы
Связь между пользователем локальной базы данных и удаленной службой
Служба SubmitExpense
Процедура общения Service Broker
Контракт ProcessExpense
Тип сообщения (Initiator)ExpenseClaim
Тип сообщения (Target)ClaimResponse
Служба ProcessExpense
7
3Очередь ExpenseQueue
Хранимая процедураExpenseResult
сообщение
Хранимая процедураSubmitExpense
сообщение
28
Очередь ExpenseQueue
сообщение сообщение
6
Хранимая процедураProcessExpense
5
4
СообщениеExpenseClaim
СообщениеClaimResponse
1
Доставка журнала транзакций
Доставка журнала
https://technet.microsoft.com/ru-ru/library/ms187103(v=sql.120).aspx
Репликация
Роли сервера в репликации
•Издатель
• Распространитель
•Подписчик
Издатель Распространитель
Подписчик
Подписчик
Типы репликации
• Репликация: моментальный снимок
• Отправляет все данные
• Репликация транзакций
• Отправляет изменения данных
• Репликация слиянием
• Изменение данных как на издателе, так и на подписчиках
• Гетерогенная репликация
• Репликация данных между SQL Server и другими продуктами для работы с базами данных
Что такое статьи, публикации и подписки
•Статьи
•Публикации
•Подписки
Что такое агенты репликации
• Типы агентов репликации
• Агент моментальных снимков
• Агент чтения журнала
• Агент чтения очереди
• Агент распространителя
• Агент слияния
Издатель ПодписчикАгент
Сценарии репликации между сервером и клиентом
• Обмен данными с мобильными пользователями
• Приложения для работы с покупателями на
месте продажи
• Интеграция данных с нескольких узлов
HTTP-репликация слиянием
Подписчик Брандмауэр IIS Издатель
XML через HTTP/HTTPS Двоичный формат через TCP/IP
Настройка HTTP-репликациислиянием
Создание репликации слиянием
Установка и настройка служб IIS
Настройка веб-синхронизации
Проверка расширения WebSync ISAPI
Включение веб-синхронизации
Подписка наHTTP-публикацию слиянием
Импорт клиентского сертификата для агентаслияния
Использование веб-синхронизации
Подключение к URL-адресу, используемому для веб-синхронизации
Интернет
Репликация между одноранговыми серверами
Краснодар
Москва
Тюмень
Как работает одноранговая репликация
Настройка одноранговой репликации
Публикация Oracle
Издатель OracleРаспространительSQL Server
Подписчик
Подписчик
Зеркалирование
Что такое зеркальное отображение базы данных?
• Альтернатива
отказоустойчивой
кластеризации
• Зеркальный сервер
• Является сервером горячей
замены
• Следящий сервер
• Осуществляет мониторинг
сервера-источника и
сервера зеркальной базы
данных
• Перенаправление клиента
• Автоматическое
перенаправление клиента
Параметры настройки зеркального отображения базы данных
РежимАвтоматический
переход на другой ресурс
Полная защита от потери данных
Высокая доступность
Высокая защита
Высокоуровневая
производительность
Кластеризация
Что такое кластеризация сервера
• Виртуальный
сервер
• Отображается в
сети как
обычный сервер
• Выпуски
• Enterprise Edition
• Developer
Edition
• Standard Edition
Подготовка кластера
Проверка конфигурации исовместимости:
Оборудование
Конфигурация кластера Windows
Общий диск
Как установить сервер SQL Server в кластере
• Виртуальный сервер
• Укажите имя
виртуального
сервера
в программе
установки
SQL Server
• Экземпляры
• Только один
экземпляр
SQL Server
в каждой
группе ресурсов
Always On
AlwaysOn
A
A
A
A
AlwaysOn – Механизм работы
Commit
Запись в локальный Log
Передача данных
Запись в log
Log
Подтверждение
Сохранено в локальном log
Запись данных в базу
Подтверждение
DBDB Log
1
2
2
3
4
5
6
7
AlwaysOn
•Переключение нескольких баз
(концепция Availability Groups)
•Автоматическое переключение
•Несколько копий базы
•Чтение с копий
•Перенаправление соединения
пользователя в случае отказа основной
базы
AlwaysOn
• T-SQL DDL команды
•Wizards
• Новая группа доступности (availability group)
• Добавление базы данных в группу доступности
• Добавление реплики в группу доступности
• Failover availability group
•AlwaysOn Dashboard for availability group health
view
•Object Explorer details for availability group info
• PowerShell cmdlets for automation
Резервное копирование в облако
Ключевые преимущества
Снижение капитальных и
операционных расходов
Улучшенная защита данных
Восстановление резервной
копии
в ВМ Microsoft Azure
Полное резервное
копирование SQL Server
Microsoft Azure
Хранение
Географическаярепликация
Восстановление в ВМ
Локальная сеть
SQL Server
Полное шифрование данныхПериодические снимки экрана(автоматически или вручную)
Локальная сеть
Аварийное восстановление в облаке
Ключевые преимущества
Снижение капитальных
и операционных расходов
Аварийное восстановление
с низким показателем RTO
Быстрое составление
отчетов BI
"Время восстановления сократилось
с нескольких минут до нескольких
секунд… У нас практически нет
потерь данных".
Представитель компании
Восстановле-
ние за
несколько
секунд
Значительное
снижениерасходов
Microsoft Azure
Вспом. реплика
Запуск резервных копий
Контроллер домена
Основнаяреплика
Асинхронная связь
Запускотчетов BI
Туннель VPN (Microsoft Azure Virtual Network)
Вспом. реплика
Синхронная связь
Разработка новых приложений для облака
Microsoft Azure SQL DatabaseКлючевые преимущества
Динамич. масштабируемость
Быстрый выход на рынок
Управляемая платформа
и инфраструктура
"Microsoft Azure не требует больших
затрат времени и денег, поэтому мы
смогли сосредоточиться на расширении
бизнеса, а не рутинном управлении ИТ".
Уильям К. Смит (William K Smythe), 3M
50% Снижение расходов на управление
Экономноемасштаби-рованиерост
доходов
Мобильные
устройства
Интернет
Создание гибридных приложений
50
Ключевые преимущества
Снижение капитальных
и операционных расходов
Улучшение изоляции
внутренних ресурсов
Более широкий глобальный
охват
"Теперь мы можем добавлять
больше игроков и операторов
без снижения скорости отклика
приложения".
Томас Пуллен (Thomas Pullen), BetOnSoft
Улучшеннаядоступность и масштабиру-емость
Поддержка в 10 раз
более высокой нагрузки
с использованием
аналитики в реальном
времени
Собственный ЦОДМаркетинговые
приложения,
размещаемые
в Microsoft Azure
Переданные
рабочие
нагрузки BI
Показатели
и средства
мониторинга
БД
показателей
БД вирусного
маркетинга
БД OLTP
Основная реплика
AlwaysOn
Синхронные реплики AlwaysOn
Доступные для чтения вспом. реплики
Microsoft Azure
Маркетинговые
приложения в
Microsoft AzureКластер SQL Server 2012 AlwaysOn
Более 158 000 ВМ SQL Server в
Microsoft Azure
Более 750 000 БД Microsoft
Azure SQL
Вопросы?