Определение размеров областей After-Image
СУБД использует области хранения After-Image для сохранения AI-заметок, описывающих все транзакции базы данных и предназначенных для восстановления базы данных после сбоев на уровне диска. Используя резервные копий базы данных и архивы AI-областей, администратор базы данных может восстановить завершённые транзакции вплоть до момента возникновения сбойной ситуации.
Как и с BI-файлами, сохранение AI-заметок в AI-файлы приводит к издержкам производительности. При правильном выборе размера области хранения After-Image администратор может минимизировать эти издержки и обеспечить производительность базы данных на оптимальном уровне. Для достижения хорошей производительности рекомендуется размещать AI-файлы на диске, отдельном от дисков с BI-файлами и с прикладными данными.
Каждая область хранения After-Image состоит из единственного AI-экстента, поэтому, определение размера областей After-Imaging подразумевает управление размерами AI-экстентов.
Для определения размеров AI-экстентов необходимо ответить на несколько вопросов:
- Какой тип экстентов использовать – фиксированный или переменный?
- Какой размер должен быть у AI-экстентов?
- Какое количество AI-экстентов необходимо?
Фиксированные или переменные AI-экстенты?
Для областей хранения After-Image экстенты могут быть либо фиксированного, либо переменного размера.
Фиксированные AI-экстенты предварительно отформатированы, поэтому они обеспечивают лучшую производительность. Администратор должен точно рассчитать фиксированные размеры таких экстентов отталкиваясь от того, сколько данных допустимо потерять в случае сбойной ситуации. Кроме того, необходимо учитывать различного рода нестандартные ситуации, например, непредвиденные всплески активности пользователей, что как правило приводит к лавинообразному всплеску транзакционной активности и увеличению объёма AI-заметок – весь этот объем должен уместиться в существующие AI-экстенты.
Преимущества от использования фиксированных AI-экстентов не значительное, при этом они требуют большего внимания администратора. И хотя считается, что использование переменных экстентов влияет на производительность из-за того, что СУБД каждый раз при расширении экстента необходимо форматировать 64 новых блока, практика показывает, что влияние на производительность не велика.
Поэтому AI-экстенты переменного размера более распространены в производственных средах, так как требуют меньшего административного контроля за их размерами.
Независимо от того, какой выбор будет сделан, для базы данных должно быть создано минимум три AI-экстента. Так как в один момент времени один экстент должен архивироваться, один заполняться текущими данными и один должен быть пустым и готовым к использованию. Также существует рекомендация о семь AI-экстентах, из расчёта один на каждый день недели на случай, если по каким-то причинам у вас не будет возможности очищать заполненные AI-экстенты.
Управление AI-экстентами может осуществляться как вручную специальными утилитами (RFUTIL), так и с помощью механизма AI File Management. Управление вручную требует от администратора написания собственных скриптов по переключению, архивированию и очищению AI-экстентов. Благодаря AI File Management администратор освобождается от большей части рутинных задач по управлению After-Imaging. С помощью AI File Management СУБД автоматически выполняет переключение экстентов, архивацию заполненных экстентов и их очищение для повторного использования. От администратора только требуется правильно сконфигурировать AI File Management.
Настройка фиксированных AI-экстентов
Для настройки фиксированных AI-экстентов администратор должен правильно рассчитать их размер. Определение размера должно основываться на том, сколько данных допустимо потерять. Если диск, на котором размещены AI-экстенты, будет повреждён, то будут потеряны все данные в AI-экстентах.
Для расчёта размеров фиксированных AI-экстентов используется статистика активности BI-файла. По своей природе BI- и AI-активности одинаковы. Мониторинг должен осуществляться в пиковые периоды, например, в конце месяца или в конце квартала, чтобы гарантировать расчёт достаточного пространства для хранения AI-заметок в периоды повышенной нагрузки.
Предположим, что мы имеем BI-кластеры размером по 32 МБ, переключение которых происходит каждую минуту в пиковый период. Мы предполагаем, что такая же активность будет и для AI-файлов. Допустим, что объем данных, который можно потерять, это объем, накопленный за 5 минут. Для расчёта размера фиксированных AI-экстентов необходимо умножить размер BI-кластера на количество минут, который допускается потерять, и разделить результат на количество минут, необходимых для заполнения каждого кластера:
32 Мб * 5 / 1 = 160 Мб
Далее увеличиваем результат на 25% на случай непредвиденного роста транзакционной активности:
160 Мб * 1,25 = 200 Мб
Итоговая формула для расчёта размера фиксированных AI-экстентов следующая:
FixAIextSize = (BI cluster size * minutes of data willing to lose / minutes of data to fill each BI cluster) * 1.25
Полученное значение (в примере, 200 МБ) должно быть использовано при описании фиксированных AI-экстентов в структурном файле базы данных, а при конфигурировании AI File Management использовать интервал переключения AI-экстентов равный 5 минутам.
После первоначальной настройки фиксированных AI-экстентов необходимо продолжать мониторинг частоты переключения BI-кластеров, то есть отслеживать продолжительность времени, необходимого для заполнения BI-кластера. Если обнаружено, что есть изменение времени, или если размер BI-кластера был изменён, или изменился допустимый объем потери данных, то администратор должен скорректировать размер AI-экстентов.
При использовании утилиты AI File Management администратор должен помнить о следующем:
- Если фиксированный AI-экстент будет заполнен менее чем за заданное время, например, менее чем за 5 минут, то архиватор AI File Management автоматически выполнит переключение на следующий пустой AI-экстент с последующей архивацией заполненного AI-экстента. Тем не менее, слишком частое переключение AI-экстентов приводит к ухудшению производительности, а также к большому количество архивов AI-файлов.
- Архиватор AI File Management архивирует только фактические AI-заметки. То есть, если только часть фиксированного AI-экстента будет заполнена до истечения заданного интервала времени, то сохранены будут только текущие AI-заметки в файле.
Настройке прочих параметров механизма After-Imaging и Before-Imaging посвящены отдельные главы этого пособия.
Настройка переменных AI-экстентов
Если решено использовать AI-экстенты переменного размера, то всё ещё действует правило создания минимум трёх экстентов. Кроме того, по-прежнему необходимо рассчитать время переключения экстентов, определив объём данных, которые допустимо потерять. После этого описать переменные AI-экстенты в структурном файле и задать интервал переключения для утилиты AI File Management.
С точки зрения мониторинга, администратору необходимо следить за работой утилиты AI File Management и обеспечить достаточное количество свободного пространства для заполнения и архивации AI-экстентов.