Отказоустойчивые решения sql
TRANSCRIPT
![Page 1: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/1.jpg)
![Page 2: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/2.jpg)
Отказоустойчивые решения SQL
![Page 3: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/3.jpg)
Андрей
Коршиков
@AndreyKorshikov
PASS Regional Mentor for
Central Eastern Europe
![Page 4: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/4.jpg)
Факторы, влияющие на доступность
Ошибки программного обеспечения
Неисправности компонентов оборудования
Неполадки сети
Пропадание электропитания и природные катаклизмы
![Page 5: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/5.jpg)
Высокая доступность
•Индексирование (Indexing)
• Online reorganization
•Секционирование (Partitions)
![Page 6: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/6.jpg)
Доступ к данным в SQL Server
Просмотр строк таблицы
SQL Server считывает все страницы таблицы
Индекс
SQL Server использует страницы индексадля поиска строк
https://msdn.microsoft.com/en-us/library/ms175049.aspx
![Page 7: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/7.jpg)
Секционирование
https://msdn.microsoft.com/en-us/library/ms190787.aspx
![Page 8: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/8.jpg)
Отказоустойчивость
• Backup
• Service Broker
• Log shipping
•Replication
•Mirroring
• Failover clustering
•AlwaysOn Availability Groups
![Page 9: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/9.jpg)
Аварийное восстановление(бэкапирование)
![Page 10: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/10.jpg)
Типы резервного копирования SQL Server
Тип резервной копии
Описание
Полная Все файлы данных и часть журнала транзакций
Журнал транзакций Любые изменения базы данных, записанные в файлах журнала
Заключительные
фрагменты журналаАктивная часть журнала
РазностнаяЧасти базы данных, которые изменились с момента выполнения полного резервного копирования базы данных
Файл / файловая группа Указанные файлы или файловые группы
ЧастичнаяПервичная файловая группа, все файловые группы, доступные для чтения и записи, и любые указанные файловые группы, доступные только для чтения
Доступная только
для копирования
База данных или журнал (не оказывается влияния на последовательность резервного копирования)
![Page 11: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/11.jpg)
Модели восстановления
Модель восстановления
Описание
ПростаяИспользует полные или разностные резервные копии базы данных. Усекает журналы транзакций
ПолнаяВключает резервные копии как базы данных, так и журнала транзакций
С неполным
протоколированием
Включает резервные копии как базы данных, так и журнала транзакций, но использует меньше пространства журнала для некоторых операций
![Page 12: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/12.jpg)
Стратегия полного резервного копирования базы данных
• Полное резервное копирование выполняется, если:
• База данных имеет небольшой размер
• База данных подвергается незначительным
изменениям или доступна только для чтения
• Следует периодически очищать журнал транзакций, если
используется полная модель восстановления
воскресенье понедельник вторник
![Page 13: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/13.jpg)
Стратегия резервного копирования базы данных и журнала транзакций
• Следует объединить резервное копирование базы
данных и журнала транзакций, если:
• База данных часто изменяется
• Полное резервное копирование занимает слишком
много времени
воскресенье понедельник
![Page 14: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/14.jpg)
Стратегия разностного резервного копирования
• Разностное резервное копирование следует использовать,
если:
• База данных часто изменяется
• Необходимо сократить время резервного копирования
• Резервное копирование журналов транзакций выполняется
отдельно
понедельник вторник
![Page 15: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/15.jpg)
Стратегия резервного копирования файлов и файловых групп
• Файлы или файловые группы следует использовать, если:
• База данных имеет большой размер
• Полное резервное копирование занимает слишком
много времени
• Резервное копирование журналов транзакций выполняется отдельно
• Возможны сложности с управлением
воскресенье понедельник вторник среда
Файлданных 1
Файлданных 2
Файлданных 3
![Page 16: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/16.jpg)
Service Broker
![Page 17: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/17.jpg)
Системная архитектура Service Broker
Тип объекта Описание
Тип сообщений Определяет допустимые сообщения для обмена между службами
Контракт Задает тип сообщений и их направление в общении
Очередь Хранит сообщения до отправки и после получения как результирующий набор
Служба Отражает адресуемую конечную точку для взаимодействия служб
Служебная программа Обрабатывает сообщения из очередей и применяет бизнес-логику
Служебнаяпрограмма
Контракт
ОчередьТип сообщений
Служба
![Page 18: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/18.jpg)
Архитектура общения Service Broker
Конструкция Описание
Сообщение Данные, которыми обмениваются две службы
Диалоговое общение
Общение, предполагающее отправку и получение сообщений двумя службами
Группа сообщенийГруппа связанных сообщений с уникальным идентификатором
МаршрутСетевой адрес и дополнительное имя службы, используемые для перенаправления сообщений при общении между разными экземплярами SQL Server
Привязка удаленной службы
Связь между пользователем локальной базы данных и удаленной службой
![Page 19: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/19.jpg)
Служба SubmitExpense
Процедура общения Service Broker
Контракт ProcessExpense
Тип сообщения (Initiator)ExpenseClaim
Тип сообщения (Target)ClaimResponse
Служба ProcessExpense
7
3Очередь ExpenseQueue
Хранимая процедураExpenseResult
сообщение
Хранимая процедураSubmitExpense
сообщение
28
Очередь ExpenseQueue
сообщение сообщение
6
Хранимая процедураProcessExpense
5
4
СообщениеExpenseClaim
СообщениеClaimResponse
1
![Page 20: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/20.jpg)
Доставка журнала транзакций
![Page 21: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/21.jpg)
Доставка журнала
https://technet.microsoft.com/ru-ru/library/ms187103(v=sql.120).aspx
![Page 22: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/22.jpg)
Репликация
![Page 23: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/23.jpg)
Роли сервера в репликации
•Издатель
• Распространитель
•Подписчик
Издатель Распространитель
Подписчик
Подписчик
![Page 24: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/24.jpg)
Типы репликации
• Репликация: моментальный снимок
• Отправляет все данные
• Репликация транзакций
• Отправляет изменения данных
• Репликация слиянием
• Изменение данных как на издателе, так и на подписчиках
• Гетерогенная репликация
• Репликация данных между SQL Server и другими продуктами для работы с базами данных
![Page 25: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/25.jpg)
Что такое статьи, публикации и подписки
•Статьи
•Публикации
•Подписки
![Page 26: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/26.jpg)
Что такое агенты репликации
• Типы агентов репликации
• Агент моментальных снимков
• Агент чтения журнала
• Агент чтения очереди
• Агент распространителя
• Агент слияния
Издатель ПодписчикАгент
![Page 27: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/27.jpg)
Сценарии репликации между сервером и клиентом
• Обмен данными с мобильными пользователями
• Приложения для работы с покупателями на
месте продажи
• Интеграция данных с нескольких узлов
![Page 28: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/28.jpg)
HTTP-репликация слиянием
Подписчик Брандмауэр IIS Издатель
XML через HTTP/HTTPS Двоичный формат через TCP/IP
Настройка HTTP-репликациислиянием
Создание репликации слиянием
Установка и настройка служб IIS
Настройка веб-синхронизации
Проверка расширения WebSync ISAPI
Включение веб-синхронизации
Подписка наHTTP-публикацию слиянием
Импорт клиентского сертификата для агентаслияния
Использование веб-синхронизации
Подключение к URL-адресу, используемому для веб-синхронизации
Интернет
![Page 29: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/29.jpg)
Репликация между одноранговыми серверами
Краснодар
Москва
Тюмень
Как работает одноранговая репликация
Настройка одноранговой репликации
![Page 30: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/30.jpg)
Публикация Oracle
Издатель OracleРаспространительSQL Server
Подписчик
Подписчик
![Page 31: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/31.jpg)
Зеркалирование
![Page 32: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/32.jpg)
Что такое зеркальное отображение базы данных?
• Альтернатива
отказоустойчивой
кластеризации
• Зеркальный сервер
• Является сервером горячей
замены
• Следящий сервер
• Осуществляет мониторинг
сервера-источника и
сервера зеркальной базы
данных
• Перенаправление клиента
• Автоматическое
перенаправление клиента
![Page 33: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/33.jpg)
Параметры настройки зеркального отображения базы данных
РежимАвтоматический
переход на другой ресурс
Полная защита от потери данных
Высокая доступность
Высокая защита
Высокоуровневая
производительность
![Page 34: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/34.jpg)
Кластеризация
![Page 35: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/35.jpg)
Что такое кластеризация сервера
• Виртуальный
сервер
• Отображается в
сети как
обычный сервер
• Выпуски
• Enterprise Edition
• Developer
Edition
• Standard Edition
![Page 36: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/36.jpg)
Подготовка кластера
Проверка конфигурации исовместимости:
Оборудование
Конфигурация кластера Windows
Общий диск
![Page 37: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/37.jpg)
Как установить сервер SQL Server в кластере
• Виртуальный сервер
• Укажите имя
виртуального
сервера
в программе
установки
SQL Server
• Экземпляры
• Только один
экземпляр
SQL Server
в каждой
группе ресурсов
![Page 38: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/38.jpg)
Always On
![Page 39: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/39.jpg)
AlwaysOn
A
A
A
A
![Page 40: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/40.jpg)
AlwaysOn – Механизм работы
Commit
Запись в локальный Log
Передача данных
Запись в log
Log
Подтверждение
Сохранено в локальном log
Запись данных в базу
Подтверждение
DBDB Log
1
2
2
3
4
5
6
7
![Page 41: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/41.jpg)
AlwaysOn
•Переключение нескольких баз
(концепция Availability Groups)
•Автоматическое переключение
•Несколько копий базы
•Чтение с копий
•Перенаправление соединения
пользователя в случае отказа основной
базы
![Page 42: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/42.jpg)
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
![Page 43: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/43.jpg)
Резервное копирование в облако
Ключевые преимущества
Снижение капитальных и
операционных расходов
Улучшенная защита данных
Восстановление резервной
копии
в ВМ Microsoft Azure
Полное резервное
копирование SQL Server
Microsoft Azure
Хранение
Географическаярепликация
Восстановление в ВМ
Локальная сеть
SQL Server
Полное шифрование данныхПериодические снимки экрана(автоматически или вручную)
![Page 44: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/44.jpg)
Локальная сеть
Аварийное восстановление в облаке
Ключевые преимущества
Снижение капитальных
и операционных расходов
Аварийное восстановление
с низким показателем RTO
Быстрое составление
отчетов BI
"Время восстановления сократилось
с нескольких минут до нескольких
секунд… У нас практически нет
потерь данных".
Представитель компании
Восстановле-
ние за
несколько
секунд
Значительное
снижениерасходов
Microsoft Azure
Вспом. реплика
Запуск резервных копий
Контроллер домена
Основнаяреплика
Асинхронная связь
Запускотчетов BI
Туннель VPN (Microsoft Azure Virtual Network)
Вспом. реплика
Синхронная связь
![Page 45: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/45.jpg)
Разработка новых приложений для облака
Microsoft Azure SQL DatabaseКлючевые преимущества
Динамич. масштабируемость
Быстрый выход на рынок
Управляемая платформа
и инфраструктура
"Microsoft Azure не требует больших
затрат времени и денег, поэтому мы
смогли сосредоточиться на расширении
бизнеса, а не рутинном управлении ИТ".
Уильям К. Смит (William K Smythe), 3M
50% Снижение расходов на управление
Экономноемасштаби-рованиерост
доходов
Мобильные
устройства
Интернет
![Page 46: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/46.jpg)
Создание гибридных приложений
50
Ключевые преимущества
Снижение капитальных
и операционных расходов
Улучшение изоляции
внутренних ресурсов
Более широкий глобальный
охват
"Теперь мы можем добавлять
больше игроков и операторов
без снижения скорости отклика
приложения".
Томас Пуллен (Thomas Pullen), BetOnSoft
Улучшеннаядоступность и масштабиру-емость
Поддержка в 10 раз
более высокой нагрузки
с использованием
аналитики в реальном
времени
Собственный ЦОДМаркетинговые
приложения,
размещаемые
в Microsoft Azure
Переданные
рабочие
нагрузки BI
Показатели
и средства
мониторинга
БД
показателей
БД вирусного
маркетинга
БД OLTP
Основная реплика
AlwaysOn
Синхронные реплики AlwaysOn
Доступные для чтения вспом. реплики
Microsoft Azure
Маркетинговые
приложения в
Microsoft AzureКластер SQL Server 2012 AlwaysOn
![Page 47: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/47.jpg)
Более 158 000 ВМ SQL Server в
Microsoft Azure
Более 750 000 БД Microsoft
Azure SQL
![Page 48: Отказоустойчивые решения SQL](https://reader033.vdocuments.net/reader033/viewer/2022052602/55aa44ba1a28ab90658b46f5/html5/thumbnails/48.jpg)
Вопросы?