Решения КРОК для повышения доступности систем обработки данных с применением Microsoft SQL 2005 Емельянов Дмитрий Руководитель направления СУБД, Департамент информационных технологий Основные технологии • Новые технологии повышения отказоустойчивости в SQL Server 2005: – Database Mirroring – Database Snapshots Различия между этими технологиями • Решения КРОК на основе MS SQL 2005 • Отказоустойчивые решения – Database Mirroring / Failover Clusters – Log Shipping / Replication Основные цели бизнеса • Уменьшение времени простоя системы • Сокращение стоимости владения ИТ инфраструктурой • Защита данных от потерь в результате сбоев • Защита данных от кражи • Создание масштабируемой системы, отвечающей темпам роста бизнеса Доступность информации и SQL Server 2005 • Требования бизнеса по постоянной доступности данных • Преодоление барьеров для обеспечения постоянной доступности данных • Многогранность задачи обеспечения постоянной доступности данных Решения КРОК для обеспечения постоянной доступности данных с использованием MS SQL Server 2005 • Автоматическая отказоустойчивость и невозможность утраты данных • • • Повышенная доступность Доступность Ручная отказоустойчивость и потенциальная возможность потери данных • • • Database Mirroring Failover Clustering Репликация транзакций Log Shipping Отсутствие отказоустойчивости и потенциальная возможность потери данных • • Backup / Restore Detach / Copy / Attach Решения КРОК с использованием зеркалирования MS SQL 2005 • Резервный экземпляр • Отказоустойчивый сервер – Компоновочный блок для сложных топологий • Отказоустойчивая БД – Высокая скорость – Невозможность потери данных • Аппаратное обеспечение – Работает на стандартных серверах, дисковых подсистемах – Неразделяемое хранилище Database Mirroring Технология Failover Clustering Microsoft Cluster Services – Горячий резерв – Построен на базе Microsoft Cluster Services (MSCS) • Доступность обеспечивают множество узлов, прозрачных для клиента • Автоматическое обнаружение и восстановление сбоя • Требует сертифицированного аппаратного обеспечения • Поддержка разных сценариев: Active/Active, Failover Cluster N+1, N+I – Нет потери данных, нет влияния на пропускную способность – Одна копия баз данных – Отказоустойчивый экземпляр – система работает как единый модуль Технология Log Shipping «Теплый резерв» • • • • • Основная идея: архивирование, копирование и восстановление лога на другом сервере Не требует дополнительных вложений в написание «скриптов» Работает на уровне базы данных Log Shipping База данных доступна в режиме «только для чтения» Для обработки следующей порции лога пользователи должны отключаться Репликация «Теплый резерв» • • • • • Используется когда необходима доступность в сочетании с возможностью чтения информации с разных серверов Возможность отказоустойчивости; требуется собственное решение Нет ограничения на использование всей БД Копия базы данных постоянно Репликация доступна в режиме «только для чтения» Задержка между источником и копией несколько секунд Отказоустойчивые решения КРОК Два решения уровня предприятия • Выбор зависит от: – стратегического развития информационных технологий в компании, – бюджета, – различий между технологиями; Failover Cluster Database Mirroring Зеркалирование СУБД Основные достоинства для обеспечения постоянной доступности данных • Восстановление менее 3 секунд • Полноценный резерв: – два отдельных сервера, – две отдельных копии данных, – взаимодействие между серверами через стандартное сетевое соединение; • Нет специальных требований на аппаратное обеспечение • Самоконтроль • Высокая доступность для базы данных Схема зеркалирования СУБД Клиенты Основные принципы зеркалирования Подтверждение Фиксация Подтверждение Передача на резервный сервер Запись в локальный журнал DB Непрерывное выполнение на резервном сервере Фиксация в журнале Log Запись в удаленный журнале Log DB Два сценария применения зеркалирования Высокая доступность – Автоматическое восстановление – База данных доступна для работы даже при потере одного из серверов Высокая производительность – DBA контролирует отказоустойчивость – Небольшая потеря данных в случае сбоя Защита от пользовательских ошибок • Пользователи, приложения, а также DBA могут время от времени делать ошибки • Database Snapshots решают эту проблему, возвращая базу данных на момент создания снимка – Данные теряются как только БД откатывается назад на определенный момент времени – Должны быть созданы (кто?) перед возникновением ошибки Технология Snapshot • Большая эффективность использования дискового пространства • Не требуется полная копия данных – Неизмененные страницы БД находятся в совместном доступе – Требуется дополнительное место только для измененных страниц • Используется механизм “копирование при записи” • Снимок оказывает влияние на производительность основной БД Snapshot (Копирование в момент записи) Команда Create Northwind_SS Update Northwind Read Northwind_SS Результат: DD Northwin d Знач ение Знач ение X R D D B H Используемое 12.5 0% место % Northwind_S S J L Y M Отчеты на резервном сервере • Использование снимков базы данных на резервном сервере Database Mirroring OLTP Клиенты Principal Witness Mirror Snapshot2 @ 2PM Snapshot @ Noon Клиенты запускающие отчеты Выбор подхода к построению систем…… Функциональность Горячий резерв Теплый резерв Database Mirroring Failover Clustering Transactional Replication Log Shipping Потеря данных Нет опций потери данных Без потери данных Некоторые данные могут быть потеряны Некоторые данные могут быть потеряны Автоматическое восстановление Да Да Нет Нет Да, автоперенаправление Да, переподсоединение к тому же IP Нет, с помощью NLB Нет, с помощью NLB < 3 секунд 20 сек + восстановлени е БД секунды секунды + восстановление БД Постоянно доступный снимок Нет Постоянно доступна Периодически доступна Прозрачность для клиента Время простоя Доступ на чтение к серверу резерва Доступность Функциональ ность (2 из 2) Горячий резерв Теплый резерв Database Mirroring Failover Clustering Transact. Replication Log Shipping БД Все системные и пользовательские БД Таблица или вид БД Защита от потери дисков Да Нет, диски совместного доступа Да Да Необходи-мость в специальном аппаратном обеспечении Нет, нужна дублирую-щая система Cluster HCL Нет, нужна дублирую-щая система Нет, нужна дублирующая система Больше Больше Больше Уровень детализации данных Сложность Некоторая Специальное аппаратное обеспечение от 64-битная Платформа БД (High-performance computing) масштабируемость Оптимизирована для Windows Server 2003 Поддерживает процессоры управляемость AMD Opteron Intel Itanium Intel EM64T Повышенная производительность системы Увеличен размер адресуемой памяти (до 32 TB) Поддержка неограниченного размера вирт. памяти (до 8 TB) Ускорение операций I/O за счет применения больших по размеров буферных пулов памяти T-SQL код обратно совместим с SQL Server 2000 Поддержка 8-ми узлового кластера Формат записи аналогичен как 32-bit - легко мигрировать 64bit поддержка движка и BI Полная альтернатива дорогих Unix решений экономичность Высоко масштабируемая платформа БД для интенсивных, критичных к производительности бизнес приложений Операция с индексами оnline • Управление индексами online – • • Создание, Реорганизация, Удаление, Добавление constraint Полный параллелизм Поддержка Online/offline состояний Partitioning • • • Партиционирование (Partitioning) разбивает один объект на много маленьких объектов Партиционирование не заметно для приложений Партиционирование применимо к – – • • Таблицам Индексам The row is the unit of partitioning Все партиции могут располагаться в одной базе данных Компания КРОК участвует в бетатестировании MS SQL 2005 • Обучение сотрудников новым технологиям • Существуют разработки заказного ПО на MS SQL 2005 • В наших разработках по новым возможностям BI Реализованный проект • Внутренние сервисы работают на MS SQL 2005 • …. Экспертиза компании КРОК • Применение в решениях полного спектра новых технологий MS SQL 2005 • Проведение нагрузочного тестирования • Выбор и обоснование оптимального аппаратного обеспечения для решения задач на основе MS SQL 2005 • Миграция с предыдущих версий MS SQL и других СУБД • Построение ЦОД • Обучение специалистов • … Решения КРОК для повышения доступности систем обработки данных с применением Microsoft SQL 2005 Емельянов Дмитрий Руководитель направления СУБД, Департамент информационных технологий (095) 974-2274 DEmelyanov@croc.ru