Важность места установки Microsoft SQL Server

10

У меня есть сервер с дешевым медленным диском и дорогим быстрым диском.

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

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

Теперь мой вопрос: должен ли я установить свой Microsoft SQL Server на медленный или быстрый диск?

(Чтобы было ясно, я помещу свои базы данных на быстрый диск, несмотря ни на что, поэтому мой вопрос касается только места самой установки)

Нильс Бринч
источник
3
Почему бы вам даже подумать об этом, учитывая, что ssd с низкой записью 120 ГБ (а) НЕДОРОГО и (б) супер быстр и (в) достаточно хорош для всех программ на OS +? Я перевел все операционные системы на 120gb ssd 2 года назад, и тогда стоимость действительно не имела значения. Теперь это еще менее актуально.
TomTom
Вы хотите доверить критически важную базу данных SSD-диску? Напомни мне никогда не иметь с тобой дела ...
Шадур
2
@Shadur, что за приманка. Да, я помещу его на диск с RAID-массивом, настроенный на RAID 10, который локально реплицируется на 2 других диска и еженедельно копируется в удаленное место. Добро пожаловать в десятилетие!
Нильс Бринч
@ TomTom Вы, конечно, правы, но в этом случае я нахожусь в довольно чувствительной к издержкам ситуации, поэтому я даже беспокоюсь об этом типе гипероптимизации. Мой вопрос будет становиться все более и более неуместным с каждым годом, как я полагаю, в большинстве случаев здесь.
Нильс Бринч
@NielsBrinch Cent Smart и Pound Foolish. Шутки в сторону.
TomTom

Ответы:

11

Это своего рода мнение, но я бы поместил двоичные файлы SQL Server на медленный диск. Распространено размещение двоичных файлов на диске ОС (хотя некоторые люди ненавидят это) или на более медленном диске.

Однако вы, безусловно, не забудьте поместить свои системные базы данных, особенно tempdb, на более быстрый диск. На самом деле, также обычно ставить tempdb отдельно.

Это соответствует в нескольких из статей я обнаружил , что может быть полезным для вас.

Также нужно подумать о резервных копиях журналов транзакций, и я разрываюсь с этим, потому что вы хотите, чтобы LDF-файлы были на более быстром диске, а также вы хотите, чтобы резервные копии были на другом диске, из которого расположены базы данных, но было бы лучше, если бы они были на быстрее диск. Вам нужно будет сделать суждение, но я, вероятно, вернусь к более медленному диску и пожалуюсь на это. ;)

Кэтрин Вилляр
источник
Спасибо. Вы хотите сказать, что это не влияет на производительность, особенно на том, находится ли установка SQL Server (двоичные файлы и т. Д.) На медленном или быстром диске?
Нильс Бринч
1
Не то чтобы я это заметил. И это довольно распространенная конфигурация.
Кэтрин Вилльярд
6
Кэтрин права, потому что сами двоичные файлы не особенно связаны с IO. Как правило, размещение двоичных файлов на быстром диске сокращает время загрузки, но редко влияет на общую скорость работы, поскольку код выполняется из памяти. Если вы не перезагружаете сервер часто, это не помешает иметь двоичные файлы на более медленном хранилище.
Кори
@Corey большое спасибо за объяснение. Это то, что я искал.
Нильс Бринч
6

Я хотел бы продолжить довольно хороший ответ, который Кэтрин Вилльярд уже вынесла .

Это несколько зависит от предполагаемого использования вашей базы данных.
Если вы ожидаете много операций записи, продолжайте и поместите ваши .mdfи .ndfфайлы на более быстрый диск.

Однако, если ваша база данных является либо одной, которая обычно является довольно статичной (например, для предоставления веб-контента) И запросы не сильно различаются, скорее всего, вы получите большое количество запросов в вашей памяти, или даже кешируется на стороне приложения. В этот момент вы лучше использовать более быстрый диск для .ldf, tempdbи резервных копий.

Точно так же, если вы ожидаете много больших запросов, например для OLAPбазы данных, вы лучше хранить ваши .mdf, tempdbна более быстрый диск. И надевайте .ldfна свои более медленные диски, так как это часто не будет узким местом.

В любом случае, не беспокойтесь о том, чтобы поместить двоичные файлы на быстрый диск, мы обычно помещаем их на медленный (не системный, если этого можно избежать) диск.
Кроме того , не зацикливаться на том , чтобы получить как .ldfи .mdfфайлы на быстрый диск, как правило , они разделены по мере возможности.

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

Reaces
источник
3

У тебя есть вещи задом наперед. Я знаю, что это нелогично, но вы хотите, чтобы резервные копии (особенно включая резервные копии журналов транзакций) на быстром диске и файлы mdf / ldf (с заметным исключением tempdb) на медленном диске.

Вы можете думать об этом, как будто Sql Server хранит два представления ваших данных. Файлы MDF + LDF представляют текущее состояние базы данных, в то время как резервная копия (включая резервные копии журнала транзакций с момента последней полной резервной копии) представляет то, что необходимо для восстановления текущего состояния базы данных в случае сбоя. Вы хотите, чтобы эти два представления были отделены друг от друга, поэтому событие, которое уничтожает одно представление, также не повредит другое представление.

Оказывается, производительность Sql Server имеет тенденцию зависеть МНОГО более того, насколько быстро вы можете записывать файлы журнала транзакций и их резервные копии над тем, как быстро вы можете получить доступ к файлам МДФ. Это означает, что вам необходимо рассмотреть возможность размещения резервных копий на быстром диске (в идеале вы должны добавить небольшой SSD на сервер, который вы можете использовать для файлов ldf, чтобы дать им скорость, сохраняя при этом отделение от ваших резервных копий). К сожалению, это оставляет медленный диск для ваших файлов MDF, но опять же: это не так важно, как вы думаете.

Стоит отметить, что вышеизложенное предполагает, что у вас достаточно ОЗУ, что вы следуете типичным рабочим нагрузкам и планируете использовать режим полного восстановления вместо простого. Кроме того, операционная система и сама установленная программа Sql Server могут быть размещены на медленном диске, хотя, конечно, вы, вероятно, захотите столько, сколько у вас есть места для жизни на быстром диске.

Джоэл Коэль
источник
Под резервными копиями я подразумеваю файлы, которые не используются, но просто хранятся. Я бы положил на быстрый диск и mdf, и ldf файлы. Для меня новость, что mdf можно поставить на медленный диск, это была интересная и неожиданная информация.
Нильс Бринч
1
Вы не хотите mdf на том же диске, что и резервные копии / журналы. MDF представляет текущее состояние базы данных. Резервное копирование + LDF представляют собой то, что вам нужно для восстановления базы данных до ее текущего состояния. Вы хотите, чтобы два представления были отделены друг от друга, поэтому событие, которое уничтожает одно, также не повредит другому. А так как журналы и резервные копии должны быть на быстрый диск (производительность зависит во много больше , как быстро вы можете записать в файл LDF , чем как быстро вы можете записать в файл мдф), это означает , что мдф должен идти к медленному диску.
Джоэл Коэль
Я собираюсь отредактировать большую часть вышеприведенного комментария в ответ.
Джоэл Коэль
1
Я не уверен, почему вы говорите об этом .ldfи .mdfдолжны быть разделены в случае аварии ... Обычно не предполагается, что вы будете использовать любой из них для аварийного восстановления, для этого и нужны резервные копии. Если вы не хотите, чтобы потеря данных была почти равна нулю, вы получаете очень частые резервные копии журналов, вы не полагаетесь на сам файл журнала.
Reaces
@ Reaces Ты прав. У меня был пердит мозг, и я писал пальцами файлы LDF, думая о резервных копиях TRN в моей голове. Общие мысли сохраняются, но мне нужно значительно пересмотреть, чтобы прояснить это (работая над этим сейчас).
Джоэл Коэль