Производительность базы данных
При проектировании базы данных необходимо добиться, чтобы все важные операции выполнялись правильно и быстро. Некоторые проблемы производительности можно решить после того, как база данных будет помещена в производственную среду. Тем не менее, причиной многих проблем могут стать ошибки при проектировании базы данных, которые можно исправить только путем изменения ее структуры.
При проектировании и реализации базы данных следует выделить большие таблицы и наиболее сложные процессы. При их разработке необходимо уделить особое внимание производительности. Кроме того, следует определить, какое влияние на производительность будет оказывать увеличивающееся количество пользователей, обращающихся к таблицам.
Ниже продемонстрировано несколько примеров изменения структуры базы данных для улучшения производительности.
Если требуется ежедневно вычислять сводные данные по таблице, содержащей сотни тысяч строк, в нее можно добавить столбец или столбцы для хранения предыдущих данных, подвергшихся статистической обработке, и использовать их только при подготовке отчета.
Базы данных могут быть излишне нормализированы. Это означает, что база данных содержит несколько небольших взаимосвязанных таблиц. При обработке данных в этих таблицах требуются дополнительные действия по объединению взаимосвязанных данных. Дополнительная обработка уменьшает производительность базы данных. В этом случае за счет денормализации базы данных можно упростить обработку и слегка увеличить производительность.
Замечания по выбору оборудования
Как правило, чем больше база данных, тем выше требования к оборудованию. Однако другие определяющие факторы включают в себя количество одновременных пользователей и сеансов, пропускную способность транзакций и типы операций, которые выполняются внутри базы данных. Например, требования к базе данных, содержащей редко обновляемые данные школьной библиотеки, будут обычно более скромными, чем к хранилищу данных объемом 1 терабайт, содержащему часто анализируемые сведения о продажах, товарах и клиентах большой корпорации. Кроме пространства на диске, хранилищу данных требуется больше памяти и более быстрые процессоры, чтобы кэшировать в памяти больше данных и быстрее обрабатывать запросы.
Подсистема ввода-вывода или подсистема хранилища является ключевым компонентом любой реляционной базы данных и требует тщательного планирования. Для успешной реализации базы данных требуется тщательное планирование на начальных этапах проектирования. Планирование должно включать рассмотрение следующих вопросов.
Тип дискового оборудования, например устройства RAID. Дополнительные сведения см. в разделе Сведения об аппаратных решениях.
Способ размещения данных на дисках. Дополнительные сведения см. в разделе Работа с файлами и файловыми группами.
Структура индексов, которая обеспечивает максимальную производительность доступа к данным. Дополнительные сведения см. в разделе Проектирование индексов.
Оптимальные для производительности базы данных значения параметров конфигурации. Дополнительные сведения см. в разделе Оптимизация производительности сервера.
См. также