Назад | Перейти на главную страницу

Преимущества нескольких файлов SQL Server с одним массивом RAID

Первоначально опубликовано при переполнении стека, но изменено.

Представьте себе сценарий: для базы данных у меня есть RAID-массивы R: (MDF) T: (журнал транзакций) и, конечно, совместное прозрачное использование X: (tempDB).

Я читал вокруг и создается впечатление, что если вы используете RAID, то добавление нескольких файлов SQL Server NDF, находящихся на R: внутри файловой группы, больше не приведет к улучшениям. Конечно, добавление еще одного массива рейдов S: и размещение на нем файла NDF будет.

Однако, будучи достаточно подкованным программистом, вполне возможно предположить, что даже для небольших MDF, находящихся на одном массиве RAID, SQL Server будет выполнять операции роста и блокировки (для записи) на MDF, поэтому добавление NDF в файловую группу даже в том случае, если они сели на R: распределят ли операции блокировки и операции роста, обеспечивая большую пропускную способность? Или время, затрачиваемое на восстановление данных из распределенных файловых групп, перевешивает преимущества уменьшения блокировок?

Я также знаю, что поведение и преимущества могут отличаться для таблиц / индексов / журнала.

Есть ли хороший сайт, который описывает преимущества нескольких файлов, когда RAID уже установлен?

Я недавно ответил на нечто подобное «Несколько файлов данных и несколько групп файлов»

Это также довольно сложно и сложно дать краткий ответ. Это помогает, зная, как SQL Server получает доступ к данным: см. «Основы ввода-вывода SQL Server 2000» который все еще в силе

Производительность чтения зависит от ОЗУ. Вам не нужно обращаться к диску для чтения данных: если вы это сделаете, у вас недостаточно оперативной памяти. В старые времена до 64-битной версии, если у вас была база данных на 500 ГБ, вы могли бы уместить только 64 ГБ ОЗУ, поэтому вы бы разбивали индексы или что-то в этом роде.

Конечно, вам не часто нужна вся БД в ОЗУ, и когда вам нужно ее прочитать, она должна оставаться в кеше до тех пор, пока не будет выселена. Но больше ОЗУ никогда не ошибется

Производительность записи зависит от объема LDF. Посмотрите на запись с упреждающей записью в статье выше

Вы делать разделить файл базы данных для возможности восстановления в случае сбоя тома. Имея хороший план резервного копирования / восстановления, вы можете работать с MDF и LDF отдельно.

Восстанавливаемость - это больше, чем массивы RAID. Что делать, если ваш контроллер диска выйдет из строя? Все ли ваши диски от одного производителя / партии / прошивки? Что, если 2 диска выйдут из строя в RAID 5? Кластер SQL Server? Поврежденные файлы?

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

Вы не можете найти хороший сайт, потому что это еще не сделано: как вы заметили, каждый имеет тенденцию говорить «нет» нескольким файлам в одной файловой группе.

Вы получаете больше выравнивание разделов и правильное форматирование NTFS с кластерами 64kа