Системы управления базами данных реализуют свое собственное журналирование через журналы базы данных, поэтому установка такой СУБД в журнализированную файловую систему снижает производительность благодаря двум механизмам:
Избыточное журналирование увеличивает объем дисковой активности
Структура физического диска может быть фрагментирована (хотя некоторые журнализируемые файловые системы действительно имеют механизмы для ее очистки).
Много дисковой активности может заполнить журнал, вызывая ложные условия «диск заполнен».
Несколько лет назад я видел пример, когда это делалось в файловой системе LFS при установке Baan на коробке HP / UX. В системе постоянно возникали проблемы с производительностью и повреждением данных, которые не диагностировались до тех пор, пока кто-то не определил, что файловые системы были отформатированы с использованием LFS.
Тома, содержащие файлы базы данных, обычно содержат небольшое количество больших файлов. Серверы СУБД обычно имеют параметр, который определяет, сколько блоков считывается за один ввод / вывод. Меньшие числа будут подходящими для систем обработки транзакций большого объема, поскольку они минимизируют кеширование избыточных данных. Большие числа были бы уместны для систем, таких как хранилища данных, которые выполняли много последовательных чтений. Если возможно, настройте размер блока выделения файловой системы так, чтобы он совпадал с размером многоблочного чтения, установленного для СУБД.
Некоторые системы управления базами данных могут работать с необработанными разделами диска. Это дает разную степень прироста производительности, как правило, меньше в современной системе с большим объемом памяти. В старых системах с меньшим пространством для кэширования метаданных файловой системы экономия на дисковых операциях ввода-вывода была довольно значительной. Необработанные разделы усложняют управление системой, но обеспечивают наилучшую доступную производительность.
Тома RAID-5 требуют больше затрат на запись, чем тома RAID-10, поэтому занятая база данных с большим объемом трафика записи будет работать лучше (часто намного лучше) на RAID-10. В журналы следует помещать физически отдельные тома диска с данными. Если ваша база данных велика и в основном предназначена только для чтения (например, хранилище данных), может возникнуть необходимость поместить ее на тома RAID-5, если это не приведет к чрезмерному замедлению процесса загрузки.
Кэширование с обратной записью на контроллере может дать вам выигрыш в производительности за счет создания некоторых (довольно маловероятных, но возможных) режимов отказов, где данные могут быть повреждены. Наибольший выигрыш в производительности это при нагрузках с очень произвольным доступом. Если вы хотите сделать это, рассмотрите возможность размещения журналов на отдельном контроллере и отключения кэширования обратной записи на томах журналов. В этом случае журналы будут иметь лучшую целостность данных, и один сбой не сможет уничтожить журнал и тома данных. Это позволяет восстановить из резервной копии и выполнить откат от журналов.