48

Отказоустойчивые решения SQL

Embed Size (px)

Citation preview

Page 1: Отказоустойчивые решения SQL
Page 2: Отказоустойчивые решения SQL

Отказоустойчивые решения SQL

Page 3: Отказоустойчивые решения SQL

Андрей

Коршиков

[email protected]

@AndreyKorshikov

PASS Regional Mentor for

Central Eastern Europe

Page 4: Отказоустойчивые решения SQL

Факторы, влияющие на доступность

Ошибки программного обеспечения

Неисправности компонентов оборудования

Неполадки сети

Пропадание электропитания и природные катаклизмы

Page 5: Отказоустойчивые решения SQL

Высокая доступность

•Индексирование (Indexing)

• Online reorganization

•Секционирование (Partitions)

Page 6: Отказоустойчивые решения SQL

Доступ к данным в SQL Server

Просмотр строк таблицы

SQL Server считывает все страницы таблицы

Индекс

SQL Server использует страницы индексадля поиска строк

https://msdn.microsoft.com/en-us/library/ms175049.aspx

Page 7: Отказоустойчивые решения SQL

Секционирование

https://msdn.microsoft.com/en-us/library/ms190787.aspx

Page 8: Отказоустойчивые решения SQL

Отказоустойчивость

• Backup

• Service Broker

• Log shipping

•Replication

•Mirroring

• Failover clustering

•AlwaysOn Availability Groups

Page 9: Отказоустойчивые решения SQL

Аварийное восстановление(бэкапирование)

Page 10: Отказоустойчивые решения SQL

Типы резервного копирования SQL Server

Тип резервной копии

Описание

Полная Все файлы данных и часть журнала транзакций

Журнал транзакций Любые изменения базы данных, записанные в файлах журнала

Заключительные

фрагменты журналаАктивная часть журнала

РазностнаяЧасти базы данных, которые изменились с момента выполнения полного резервного копирования базы данных

Файл / файловая группа Указанные файлы или файловые группы

ЧастичнаяПервичная файловая группа, все файловые группы, доступные для чтения и записи, и любые указанные файловые группы, доступные только для чтения

Доступная только

для копирования

База данных или журнал (не оказывается влияния на последовательность резервного копирования)

Page 11: Отказоустойчивые решения SQL

Модели восстановления

Модель восстановления

Описание

ПростаяИспользует полные или разностные резервные копии базы данных. Усекает журналы транзакций

ПолнаяВключает резервные копии как базы данных, так и журнала транзакций

С неполным

протоколированием

Включает резервные копии как базы данных, так и журнала транзакций, но использует меньше пространства журнала для некоторых операций

Page 12: Отказоустойчивые решения SQL

Стратегия полного резервного копирования базы данных

• Полное резервное копирование выполняется, если:

• База данных имеет небольшой размер

• База данных подвергается незначительным

изменениям или доступна только для чтения

• Следует периодически очищать журнал транзакций, если

используется полная модель восстановления

воскресенье понедельник вторник

Page 13: Отказоустойчивые решения SQL

Стратегия резервного копирования базы данных и журнала транзакций

• Следует объединить резервное копирование базы

данных и журнала транзакций, если:

• База данных часто изменяется

• Полное резервное копирование занимает слишком

много времени

воскресенье понедельник

Page 14: Отказоустойчивые решения SQL

Стратегия разностного резервного копирования

• Разностное резервное копирование следует использовать,

если:

• База данных часто изменяется

• Необходимо сократить время резервного копирования

• Резервное копирование журналов транзакций выполняется

отдельно

понедельник вторник

Page 15: Отказоустойчивые решения SQL

Стратегия резервного копирования файлов и файловых групп

• Файлы или файловые группы следует использовать, если:

• База данных имеет большой размер

• Полное резервное копирование занимает слишком

много времени

• Резервное копирование журналов транзакций выполняется отдельно

• Возможны сложности с управлением

воскресенье понедельник вторник среда

Файлданных 1

Файлданных 2

Файлданных 3

Page 16: Отказоустойчивые решения SQL

Service Broker

Page 17: Отказоустойчивые решения SQL

Системная архитектура Service Broker

Тип объекта Описание

Тип сообщений Определяет допустимые сообщения для обмена между службами

Контракт Задает тип сообщений и их направление в общении

Очередь Хранит сообщения до отправки и после получения как результирующий набор

Служба Отражает адресуемую конечную точку для взаимодействия служб

Служебная программа Обрабатывает сообщения из очередей и применяет бизнес-логику

Служебнаяпрограмма

Контракт

ОчередьТип сообщений

Служба

Page 18: Отказоустойчивые решения SQL

Архитектура общения Service Broker

Конструкция Описание

Сообщение Данные, которыми обмениваются две службы

Диалоговое общение

Общение, предполагающее отправку и получение сообщений двумя службами

Группа сообщенийГруппа связанных сообщений с уникальным идентификатором

МаршрутСетевой адрес и дополнительное имя службы, используемые для перенаправления сообщений при общении между разными экземплярами SQL Server

Привязка удаленной службы

Связь между пользователем локальной базы данных и удаленной службой

Page 19: Отказоустойчивые решения SQL

Служба 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

Доставка журнала транзакций

Page 21: Отказоустойчивые решения SQL

Доставка журнала

https://technet.microsoft.com/ru-ru/library/ms187103(v=sql.120).aspx

Page 22: Отказоустойчивые решения SQL

Репликация

Page 23: Отказоустойчивые решения SQL

Роли сервера в репликации

•Издатель

• Распространитель

•Подписчик

Издатель Распространитель

Подписчик

Подписчик

Page 24: Отказоустойчивые решения SQL

Типы репликации

• Репликация: моментальный снимок

• Отправляет все данные

• Репликация транзакций

• Отправляет изменения данных

• Репликация слиянием

• Изменение данных как на издателе, так и на подписчиках

• Гетерогенная репликация

• Репликация данных между SQL Server и другими продуктами для работы с базами данных

Page 25: Отказоустойчивые решения SQL

Что такое статьи, публикации и подписки

•Статьи

•Публикации

•Подписки

Page 26: Отказоустойчивые решения SQL

Что такое агенты репликации

• Типы агентов репликации

• Агент моментальных снимков

• Агент чтения журнала

• Агент чтения очереди

• Агент распространителя

• Агент слияния

Издатель ПодписчикАгент

Page 27: Отказоустойчивые решения SQL

Сценарии репликации между сервером и клиентом

• Обмен данными с мобильными пользователями

• Приложения для работы с покупателями на

месте продажи

• Интеграция данных с нескольких узлов

Page 28: Отказоустойчивые решения SQL

HTTP-репликация слиянием

Подписчик Брандмауэр IIS Издатель

XML через HTTP/HTTPS Двоичный формат через TCP/IP

Настройка HTTP-репликациислиянием

Создание репликации слиянием

Установка и настройка служб IIS

Настройка веб-синхронизации

Проверка расширения WebSync ISAPI

Включение веб-синхронизации

Подписка наHTTP-публикацию слиянием

Импорт клиентского сертификата для агентаслияния

Использование веб-синхронизации

Подключение к URL-адресу, используемому для веб-синхронизации

Интернет

Page 29: Отказоустойчивые решения SQL

Репликация между одноранговыми серверами

Краснодар

Москва

Тюмень

Как работает одноранговая репликация

Настройка одноранговой репликации

Page 30: Отказоустойчивые решения SQL

Публикация Oracle

Издатель OracleРаспространительSQL Server

Подписчик

Подписчик

Page 31: Отказоустойчивые решения SQL

Зеркалирование

Page 32: Отказоустойчивые решения SQL

Что такое зеркальное отображение базы данных?

• Альтернатива

отказоустойчивой

кластеризации

• Зеркальный сервер

• Является сервером горячей

замены

• Следящий сервер

• Осуществляет мониторинг

сервера-источника и

сервера зеркальной базы

данных

• Перенаправление клиента

• Автоматическое

перенаправление клиента

Page 33: Отказоустойчивые решения SQL

Параметры настройки зеркального отображения базы данных

РежимАвтоматический

переход на другой ресурс

Полная защита от потери данных

Высокая доступность

Высокая защита

Высокоуровневая

производительность

Page 34: Отказоустойчивые решения SQL

Кластеризация

Page 35: Отказоустойчивые решения SQL

Что такое кластеризация сервера

• Виртуальный

сервер

• Отображается в

сети как

обычный сервер

• Выпуски

• Enterprise Edition

• Developer

Edition

• Standard Edition

Page 36: Отказоустойчивые решения SQL

Подготовка кластера

Проверка конфигурации исовместимости:

Оборудование

Конфигурация кластера Windows

Общий диск

Page 37: Отказоустойчивые решения SQL

Как установить сервер SQL Server в кластере

• Виртуальный сервер

• Укажите имя

виртуального

сервера

в программе

установки

SQL Server

• Экземпляры

• Только один

экземпляр

SQL Server

в каждой

группе ресурсов

Page 38: Отказоустойчивые решения SQL

Always On

Page 39: Отказоустойчивые решения SQL

AlwaysOn

A

A

A

A

Page 40: Отказоустойчивые решения SQL

AlwaysOn – Механизм работы

Commit

Запись в локальный Log

Передача данных

Запись в log

Log

Подтверждение

Сохранено в локальном log

Запись данных в базу

Подтверждение

DBDB Log

1

2

2

3

4

5

6

7

Page 41: Отказоустойчивые решения SQL

AlwaysOn

•Переключение нескольких баз

(концепция Availability Groups)

•Автоматическое переключение

•Несколько копий базы

•Чтение с копий

•Перенаправление соединения

пользователя в случае отказа основной

базы

Page 42: Отказоустойчивые решения SQL

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

Резервное копирование в облако

Ключевые преимущества

Снижение капитальных и

операционных расходов

Улучшенная защита данных

Восстановление резервной

копии

в ВМ Microsoft Azure

Полное резервное

копирование SQL Server

Microsoft Azure

Хранение

Географическаярепликация

Восстановление в ВМ

Локальная сеть

SQL Server

Полное шифрование данныхПериодические снимки экрана(автоматически или вручную)

Page 44: Отказоустойчивые решения SQL

Локальная сеть

Аварийное восстановление в облаке

Ключевые преимущества

Снижение капитальных

и операционных расходов

Аварийное восстановление

с низким показателем RTO

Быстрое составление

отчетов BI

"Время восстановления сократилось

с нескольких минут до нескольких

секунд… У нас практически нет

потерь данных".

Представитель компании

Восстановле-

ние за

несколько

секунд

Значительное

снижениерасходов

Microsoft Azure

Вспом. реплика

Запуск резервных копий

Контроллер домена

Основнаяреплика

Асинхронная связь

Запускотчетов BI

Туннель VPN (Microsoft Azure Virtual Network)

Вспом. реплика

Синхронная связь

Page 45: Отказоустойчивые решения SQL

Разработка новых приложений для облака

Microsoft Azure SQL DatabaseКлючевые преимущества

Динамич. масштабируемость

Быстрый выход на рынок

Управляемая платформа

и инфраструктура

"Microsoft Azure не требует больших

затрат времени и денег, поэтому мы

смогли сосредоточиться на расширении

бизнеса, а не рутинном управлении ИТ".

Уильям К. Смит (William K Smythe), 3M

50% Снижение расходов на управление

Экономноемасштаби-рованиерост

доходов

Мобильные

устройства

Интернет

Page 46: Отказоустойчивые решения SQL

Создание гибридных приложений

50

Ключевые преимущества

Снижение капитальных

и операционных расходов

Улучшение изоляции

внутренних ресурсов

Более широкий глобальный

охват

"Теперь мы можем добавлять

больше игроков и операторов

без снижения скорости отклика

приложения".

Томас Пуллен (Thomas Pullen), BetOnSoft

Улучшеннаядоступность и масштабиру-емость

Поддержка в 10 раз

более высокой нагрузки

с использованием

аналитики в реальном

времени

Собственный ЦОДМаркетинговые

приложения,

размещаемые

в Microsoft Azure

Переданные

рабочие

нагрузки BI

Показатели

и средства

мониторинга

БД

показателей

БД вирусного

маркетинга

БД OLTP

Основная реплика

AlwaysOn

Синхронные реплики AlwaysOn

Доступные для чтения вспом. реплики

Microsoft Azure

Маркетинговые

приложения в

Microsoft AzureКластер SQL Server 2012 AlwaysOn

Page 47: Отказоустойчивые решения SQL

Более 158 000 ВМ SQL Server в

Microsoft Azure

Более 750 000 БД Microsoft

Azure SQL

Page 48: Отказоустойчивые решения SQL

Вопросы?