Оптимальное конфигурирование подсистемы хранения базы данных – очень важная задача в большинстве систем. Плохо сконфигурированная подсистема хранения может стать причиной возникновения узких мест ввода-вывода, которые могут существенно снизить скорость работы самой быстрой машины. Поэтому системные администраторы отдают должное конфигурированию внешней памяти и тратят на это очень много времени. Исторически конфигурирование систем хранения базировалось на глубоком понимании приложений базы данных, что приводило к необоснованному усложнению процесса конфигурирования, к уменьшению его управляемости. Альтернативой этого подхода является модель конфигурации внешней памяти SAME (Stripe and Mirror Everything – расщепление и зеркалирование всех данных), в которой предлагается лучший и более управляемый подход. Эта модель была разработана экспертами корпорации Oracle, проделавших значительную исследовательскую работу по определению оптимальной конфигурации внешней памяти систем баз данных Oracle. Модель базируется на четырех простых предложениях:
[Прим. науч. ред. А.П.Соколова. У модели SAME есть серьезные оппоненты. См. например,
http://www.oracle.com/ru/oramag/julyaugust2002/index.html?admin_adams.htm
,http://www.oracle.com/ru/oramag/julyaugust2002/index.html?easy_myth2.html
. Вместе с тем, в данном разделе показано, что большинство высказанных замечаний может быть учтено при корректном использовании модели SAME.]Расщепление всех файлов по всем дискам обеспечивает полное использование пропускной способности всех доступных дисководов для любых операций ввода-ввода. Это позволяет равномерно распределить нагрузку по всем дисководам и устранить “горячие участки”. Параллельное выполнение операций и операций с интенсивным вводом-выводом не обязательно должно приводить к возникновению узких мест из-за дисковой конфигурации. Для реконфигурации дискового пространства могут потребоваться большие усилия, поэтому расщепление данных по всем дисководам представляет собой наиболее безопасный и оптимальный вариант. Другим преимуществом расщепления является простота сопровождения. Администраторам для уменьшения времени выполнения запросов с интенсивным обращением к дискам больше не нужно будет заниматься перемещением файлов (а это – нетривиальная задача администрирования). Наиболее простым способом расщепления является расщепление на уровне томов с помощью диспетчеров томов (volume managers). Диспетчеры томов позволяют выполнить расщепление данных по сотням дисков с незначительными накладными расходами ввода-вывода, поэтому в настоящее время они являются лучшим доступным средством для выполнения такой работы.
В результате реализации данного предложения появляется возможность конфигурирования подсистем хранения не только на основании размера базы данных, но и на требуемой пропускной способности ввода-вывода. Например, если общий размер базы данных – 100 гигабайтов с требуемой пропускной способностью – 2000 операций ввода-вывода в секунду, то система может быть сконфигурирована с использованием 20 дисководов размером 5 гигабайтов каждый или же – с 2 дисководами размером 50 гигабайтов каждый. Обе эти конфигурации обеспечивают требуемый объем данных, но только одна из них удовлетворяет требованию пропускной способности ввода-вывода. Таким образом, подсистемы хранения можно конфигурировать, исходя как из требуемого объема данных, так и требуемой пропускной способности ввода-вывода.
Рекомендация использовать размер полосы расщепления (stripe size), равный одному мегабайту, основана на скорости передачи данных и пропускной способности современных дисководов. Чем меньше размер полосы расщепления, тем больше времени тратится на подвод дисковых головок (по сравнению со временем фактической передачи данных). Ниже в таблице 1 показаны результаты наших измерений скоростей передачи данных при различных размерах полосы расщепления. Для этого исследования использовались диспетчер томов Veritas VxVM и подсистема хранения EMC Symmetrix. Как показано в таблице, размер полосы расщепления, равный одному мегабайту, обеспечивает приемлемую пропускную способность, большие размеры полосы дают только незначительные улучшения. Однако, учитывая современные тенденции совершенствования технологии производства дисков, можно предположить, что размер полосы расщепления нужно будет постепенно увеличивать.
Размер полосы расщепления | Время позиционирования головок | Время передачи данных | % времени передачи данных |
16 K | 10 мсек | 1 мсек | 10% |
64 K | 10 мсек | 3 мсек | 23% |
256 K | 10 мсек | 12 мсек | 55% |
1 M | 10 мсек | 50 мсек | 83% |
2 M | 10 мсек | 100 мсек | 91% |