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


9

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

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

Ответы:


7

Правильный. Теоретически, если у вас есть сотни баз данных, вам нужны сотни дисков, по одному на каждый журнал. На практике, хотя это и не важно для такого случая, потому что, когда у вас есть сотни БД, вы, очевидно, не ожидаете первоклассной производительности TPC для каждой БД. Скорее всего, у вас будут несколько БД с высокой пропускной способностью и строгими соглашениями об уровне обслуживания, и каждый из них может быть размещен на отдельных шпинделях, в то время как многие низкоуровневые соглашения об уровне обслуживания размещаются на нескольких общих дисках.


2

Журнал транзакций это именно то, что ... текущий журнал всех транзакций. Как таковой он непрерывно заполняется в одном направлении, пока контрольная точка не будет перезаписана или не будет усечена и переписана. Перезапись является последовательной.

Рассмотрим ваши файлы данных. Запись клиента может содержать заказ от 5 лет назад и один от 10 лет назад. Если вы удалите эти заказы (скажем, вы архивируете данные в другом месте), в текущем журнале вы удалите 1 и 2 по порядку. Однако в ваших файлах данных вы касались блоков, которые были написаны 5 и 10 лет назад.

Так что это действительно имеет значение :)


2

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.