SQL Server. Безопасное кэширование записи на диск (NVDIMM-N)

По рекомендациям Microsoft, следует отключать кэширование записи на диск,

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

Решение

Теперь, Microsoft, даёт нам возможность включить кэширование записи на диск, но иным способом. В Windows Server 2016 появилась возможность создавать том с выделенной для него памятью NVDIMM-N, которая, в момент потери электропитания, сбрасывает информацию на NAND хранилище, где она может храниться до момента восстановления электропитания (https://www.micron.com/about/blogs/2017/august/nvdimm-n-where-are-we-now). Данная память и будет служить нам кэширующим элементом записи на диск.

Минимальные требования — один дисковый носитель и планка памяти NVDIMM-N, которые вы объедините в один том. Планка памяти добавляется в сервер локально.

Установка

На сайте Microsoft можно посмотреть как настроить данную технологию в отказоустойчивом варианте — ссылка

Сравнение

Предлагаю рассмотреть время отклика различных носителей:

  • HDD время отклика 4 мс+
  • SDD менее 4 мс, обычно около 1 мс
  • PCI NVMe SSD время отклика измеряется в микросекундах
  • NVDIMM измеряется в наносекундах

Обратите внимание, что ускорение дисковых операций часто приводит к большей пропускной способности и как следствие вырастает нагрузка на CPU.

Дополнительная литература

Запись опубликована в рубрике Полезно и интересно с метками . Добавьте в закладки постоянную ссылку.

Добавить комментарий

Войти с помощью: