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

Переводы статьи Переводы статьи
Код статьи: 234656 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

Аннотация

За точное хранение и получение данных прежде всего ответственна система базы данных, даже в случае неожиданных сбоев системы.

Система должна гарантировать атомарность и надежность транзакций, одновременно принимая во внимание текущее выполнение, наличие нескольких транзакций и различные точки сбоя. Это часто называется свойствами ACID (атомарность, согласованность, автономность и надежность).

В данной статье рассматриваются стедствия использования кэшей для дисков. Рекомендуется ознакомиться со следующими статьями в базе знаний Майкрософт для более глубого ознакомления с кэшированием и изучения режима сбоя:
86903 SQL Server и контроллеры дисков с кэшированием (Эта ссылка может указывать на содержимое полностью или частично на английском языке)
46091 Использование кэширования контроллера диска с SQL Server (Эта ссылка может указывать на содержимое полностью или частично на английском языке)
230785 Алгоритмы ведения журнала и хранения данных в SQL Server 7.0 и SQL Server 2000 повышают надежность данных (Эта ссылка может указывать на содержимое полностью или частично на английском языке)
Кроме того, рекомендуется ознакомиться со следующими документами.

Дополнительная информация

Microsoft SQL Server 2005, SQL Server 2000, SQL Server 7.0, более ранние версии SQL Server и множество распространенных сегодня продуктов для работы с базами данных используют протокол WAL (Write-Ahead Logging — упреждающее протоколирование).
Протокол WAL
Термин «протокол» отлично подходит для описания понятия WAL. Это определенный и конкретный набор этапов реализации, необходимый для обеспечения правильного хранения и обмена данных, а также восстановления их известного состояния в случае сбоя. Так же, как в сети используется определенный протокол для защищенного и согласованного обмена данными, так и WAL является протоколом для защиты данных.
Во всех версиях SQL Server файлы журнала и данных открываются с помощью функции CreateFile интерфейса Win32. При открытии сервером SQL Server член dwFlagsAndAttributes включает в себя параметр FILE_FLAG_WRITE_THROUGH.
FILE_FLAG_WRITE_THROUGH
Этот параметр определяет выполнение записи сквозь какой-либо промежуточный кэш непосредственно на диск. Система может кэшировать операции записи, но отложенная запись на диск невозможна.

Параметр FILE_FLAG_WRITE_THROUGH обеспечивает правильное сохранение данных в постоянном хранилище после успешного выполнения операции записи. Это выполняется в соответствии со спецификацией протокола WAL для защиты данных.
Во многих дисках (SATA, ATA, SCSI и IDE) имеется встроенный кэш объемом 512 КБ, 1 МБ или больше. Обычно для кэша дисков используется не решение с резервным батарейным питанием, а конденсатор. Такие механизмы кэширования не гарантируют запись во время циклов электропитания или сходных точек сбоя. Они гарантируют только выполнение операций записи секторов. С увеличением емкости дисков увеличивается и размер кэша, и он может вмещать больший объем данных во время сбоя.

Усовершенствованные кэширующие системы контроллеров отключают встроенный кэш диска и предоставляют функциональное решение кэширования с резервным питанием от батарей. В таких кэшах данные могут храниться в течение нескольких дней, а карта кэша может быть даже установлена во втором компьютере. После восстановления питания и до разрешения доступа к даным выполняется сохранение всех незаписанных данных. Многие из них допускают установку соотношения кэшей чтения и записи для достижения оптимальной производительности. Некоторые содержат большие области хранения памяти. Фактически, для небольшого сегмента рынка некоторые поставщики оборудования предоставляют профессиональные системы дискового кэширования с резервным батарейным питанием и объемом кэша в несколько гигабайт. Такие системы могут значительно улучшить производительность баз данных.

Передачи ввода-вывода, выполняемые без использования кэша, могут длиться намного дольше из-за скорости вращения жесткого диска, времени механического перемещения головок диска и других ограничений. SQL Server предназначен для установки на системах с кэширующими контроллерами. Такие контроллеры отключают встроенный кэш дисков и предоставляют стабильный кэш для носителей для удовлетворения требований SQL Server к вводу-выводу. Они предотвращают проблемы производительности, связанные со временем поиска и записи диска, благодаря использованию различных методов оптимизации кэширующего контроллера.

Существует множество типов реализации подсистем. Двумя примерами типов реализации подсистем являются RAID и SAN. Обычно в таких системах используются диски SCSI. Это объясняется следующими причинами. В следующем разделе содержатся общие соображения по поводу дисков.

Диски SCSI.
  • Обычно предназначены для работы в интенсивном режиме.
  • Как правило, предназначены для многопользовательских серверных реализаций.
  • Обычно имеют лучший по сравнению с другими показатель времени безопасной работы.
  • Содержат сложные эвристические функции для прогнозирования возможных сбоев.
Другие реализации дисков, такие как IDE, ATA и SATA:
  • Обычно предназначены для работы в легких и средних режимах.
  • Как правило, предназначены для однопользовательских применений.
  • Некоторые новые реализации содержат сложные эвристические функции для прогнозирования возможных сбоев.
Для контроллеров дисков, отличных от SCSI, для рабочей станции необходима более значительная часть произволительности центрального процессора (ЦП); они также часто ограничены одной активной командой. Например, при выполнении диском, отличным от SCSI, настройки поврежденного блока диск требует, чтобы команды управляющего блока стояли в ожидании. Другим примером является шина ATA. Шина ATA поддерживает 2 устройства, но активной может быть только одна команда. Это приводит к простою одного диска при обработке другим диском ожидающих команд. В системах RAID, основанных на технологиях рабочих станций, могут наблюдаться все описанные симптомы, кроме того, на них может сильно влиять самое медленное отвечающее устройство. Производительность этих систем будет сравнимой с производительностью систем на основе SCSI только при использовании самых передовых технологий.

Существуют ситуации, в которых использование массива или диска на основе рабочей станции является оптимальным экономичным выбором. Например, если настраивается база данных только для чтения для отчетов, то при отключении кэширования множество влияющих на производительность факторов, присущих базе данных OLTP, будет отсутствовать.

Размеры дисков продолжают увеличиваться. Недорогие диски большого размера могут быть очень привлекательными. Однако при настройке диска для SQL Server в соответствие с потребностями бизнеса относительно времени отклика необходимо принять во внимание следующее.
  • Тип пути доступа
  • Необходимость отключения встроенного кэша диска
В следующей таблице содержатся общие комментарии. Комментарии основаны на распространенных конфигурациях производителей.

Свернуть эту таблицуРазвернуть эту таблицу
Тип диска системыКомментарии
IDE и ATA
  • Скорость 7 200 об/мин.
  • Предназначены для рабочих станций и однопользовательских приложений.
  • По умолчанию кэш диска включен. Установка параметра кэширования диска осуществляется на вкладке «Политика» для пункта меню «Свойства» для диска на вкладке «Оборудование» в свойствах системы.

    Примечание. Некоторые диски игнорируют этот параметр. Для отключения кэша таких дисков необходима специальная служебная программа производителя диска.
  • Для использования этого диска при работе с SQL Server кэширование диска должно быть отключено.
  • В системах на основе IDE и ATA при выполнении таких операций, как настройка поврежденных блоков, выполнение команд управляющего блока может откладываться. Это может привести к приостановке операций ввода-вывода на некоторое время.
IDE/портативный компьютер
  • Скорость 5 200 об/мин.
  • Предназначены для портативных компьютеров.
  • См. другие комментарии в разделе «IDE и ATA».
  • ReadyDrive и флэш-память NAND могут обеспечить устойчивость ввода-вывода.
SATA
  • Скорость 7 200 об/мин.
  • Прелназначены для рабочих станций и серверов среднего размера.
  • По умолчанию кэш диска включен. Установка параметра кэширования диска осуществляется на вкладке «Политика» для пункта меню «Свойства» для диска на вкладке «Оборудование» в свойствах системы.

    Примечание. Некоторые диски игнорируют этот параметр. Для отключения кэша таких дисков необходима специальная служебная программа производителя диска.
  • Большая емкость и размер кэша по сравнению с IDE и ATA.
  • Для использования этого диска при работе с SQL Server кэширование диска должно быть отключено.
  • Меньшее количество кабелей и межсоединений.
  • Простое межсоединение с установками и дисками Serial Attached SCSI (SAS).
  • В некоторые модели включены компоненты прогнозирования сбоев.
SCSI
  • Скорость 10 000 и 15 000 об/мин.
  • Предназначены для серверов и многопользовательских приложений.
  • Предназначены для более тяжелых рабочих циклов, меньший процент сбоев.
  • По умолчанию кэш диска включен. Установка параметра кэширования диска осуществляется на вкладке «Политика» для пункта меню «Свойства» для диска на вкладке «Оборудование» в свойствах системы.

    Примечание. Некоторые диски игнорируют этот параметр. Для отключения кэша таких дисков необходима специальная служебная программа производителя диска.
  • Для использования этого диска при работе с SQL Server кэширование диска должно быть отключено.
  • Обычно в массивах и системах SAN используется меньшее количество кабелей и межсоединений.
  • Имеются компоненты прогнозирования сбоев.
В Serial Attached SCSI (SAS) есть расширенная очередь до 256 уровней. В SAS также имеются такие функции, как начало очереди и постановка в очередь не по порядку. Конструкция объединительной панели SAS позволяет использовать в одной системе как диски SAS, так и диски SATA. Преимущества SAS очевидны.

Установка SQL Server зависит от возможностей отключения встроенного кэша диска и обеспечения стабильного кэширования ввода-вывода. Запись данных на различные диски не по порядку не является проблемой для SQL Server, если контроллер предоставляет возможности стабильного кэширования носителей. Сложность конструкции контроллера увеличивается при использовании совершенных приемов обеспечения безопасности данных, таких как зеркалирование.

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

Примечание. Убедитесь, что все дополнительные механизмы кэширования могут правильно обрабатывать различные типы сбоев.

Корпорация Майкрософт произвела тестирование нескольких дисков SCSI и IDE с помощью служебной программы SQLIOStress. Эта программа имитирует интенсивные асинхронные операция чтения и записи на имитируемые устройства данных и журнала. Статистика производительности теста показывает среднее количество операций записи в секунду от 50 и 70 для дисков с отключенным кэшированием записи и скоростью от 5 200 до 7 200 об/мин.

Для получения дополнительных сведения о программе SQLIOStress щелкните следующий номер статьи базы знаний Майкрософт:
231619 ИНФО. Служебная программа SQLIOStress для имитации нагрузки SQL Server на дисковую подсистему (Эта ссылка может указывать на содержимое полностью или частично на английском языке)
(эта ссылка может указывать на содержимое полностью или частично на английском языке). Множество производителей компьютеров (например, Compaq, Dell, Gateway и HP) заказывают диски с отключенным кэшированием записи. Однако тестирование показывает, что это не всегда так, поэтому необходимо всегда выполнять полную проверку.

Примечание. При наличии вопросов оотносительно режима кэширования вашего диска обратитесь к производителю и получите верную служебную программу или сведения о положении перемычек для отключения операций кэширования.

Ссылки

Для ознакомления с подробными сведениями о требованиях SQL Server к вводу-выводу посетите следующий веб-узел Майкрософт: http://www.microsoft.com/sql/AlwaysOn

Свойства

Код статьи: 234656 - Последний отзыв: 29 декабря 2007 г. - Revision: 3.4
Информация в данной статье относится к следующим продуктам.
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2000 Personal Edition
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 2000, Workgroup Edition
  • Microsoft SQL Server 2000 Developer Edition
  • Microsoft SQL Server 2000 Enterprise Edition
  • Microsoft SQL Server 2005 Express Edition
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Workgroup Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
Ключевые слова: 
kbinfo KB234656

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com