Настройка базы данных - Database tuning

Настройка базы данных описывает группу действий, используемых для оптимизации и гомогенизации производительности база данных. Обычно это перекрывается с запрос настройка, но относится к дизайну файлов базы данных, выбору система управления базами данных (СУБД) и конфигурация среды базы данных (Операционная система, ЦПУ, так далее.).

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

Настройка ввода / вывода

Оборудование и программного обеспечения рассматривается конфигурация дисковых подсистем: RAID уровни и конфигурация,[1] блокировать и полоса распределение размеров и конфигурация дисков, карты контроллера, шкафы для хранения и внешние системы хранения, такие как SAN. Журналы транзакций а временные пространства являются интенсивными потребителями ввода-вывода и влияют на производительность всех пользователей базы данных. Их правильное размещение имеет решающее значение.

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

Настройка СУБД

Пользователи СУБД и специалисты по DBA

Настройка СУБД относится к настройке СУБД и конфигурации памяти и ресурсов обработки компьютера, на котором запущена СУБД. Обычно это делается путем настройки СУБД, но задействованные ресурсы используются совместно с хост-система.

Настройка СУБД может включать в себя установку интервала восстановления (время, необходимое для восстановления состояния данных на определенный момент времени), назначение параллелизм (разделение работы из одного запроса на задачи, назначенные разным ресурсам обработки), и сетевые протоколы используется для связи с потребителями базы данных.

Память выделена для данных, планы исполнения, кэш процедур и рабочая среда[прояснить ]. Доступ к данным в памяти намного быстрее, чем к данным в хранилище, поэтому тайник данных ускоряет выполнение действий. То же самое внимание уделяется рабочему пространству. Кэширование планов выполнения и процедур означает, что они используются повторно, а не перекомпилируются при необходимости. Важно использовать как можно больше памяти, оставляя достаточно для использования другими процессами и ОС без чрезмерного использования. пейджинг из памяти в хранилище.

Ресурсы обработки иногда назначаются конкретным действиям для улучшения параллелизм. На сервер с восемью процессорами шесть могут быть зарезервированы для СУБД, чтобы максимизировать доступные ресурсы обработки для базы данных.

Автоматическая настройка БД

Использует машинное обучение, чтобы научиться оценивать производительность при различных рабочих нагрузках.[2][3][4]

Обслуживание базы данных

Обслуживание базы данных включает резервные копии, обновления статистики столбца и дефрагментация данных внутри файлов базы данных.[5]

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

Статистика использования СУБД гистограммы для поиска данных в диапазоне по таблице или индексу. Обновления статистики следует планировать часто и отбирать как можно больше базовых данных. Точная и обновленная статистика позволяет механизмам запросов принимать правильные решения о планах выполнения, а также эффективно находить данные.

Дефрагментация данных таблиц и индексов повышает эффективность доступа к данным. Степень фрагментации зависит от характера данных, от того, как они меняются с течением времени, и от количества свободного места на страницах базы данных, которое можно принять. вставки данных без создания дополнительных страниц.

использованная литература

  1. ^ «Настройка производительности для приложений реляционных баз данных». Архивировано из оригинал на 2008-09-05. Получено 2008-09-26.
  2. ^ Rodd, S. F .; Кулькарни, У. П. (2010). «Адаптивный алгоритм настройки для настройки производительности системы управления базами данных». arXiv:1005.0972 [cs.DB ].
  3. ^ https://www.cs.ubc.ca/~bestchai/papers/dbms_tuning.pdf
  4. ^ «Проект Parallel Data Lab: автонастройка СУБД». www.pdl.cmu.edu.
  5. ^ ""Планы обслуживания внутренних баз данных ", Журнал SQL Server". Получено 2008-09-26.