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

Preview:

Citation preview

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

Андрей

Коршиков

korshikov@sqlpass.org

@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

Вопросы?

Recommended