Определение размеров области Before-Image
СУБД OpenEdge использует область хранения Before-Image (BI) для сохранения BI-заметок, описывающих все транзакции в базе данных и предназначенных для восстановления базы данных после сбоев. Восстановление достигается путём повторения всех транзакций, которые были успешно завершены, и отменой всех транзакций, которые были прерваны, что гарантирует целостность и сохранность базы данных.
Однако сохранение BI-заметок в BI-файлы приводит к издержкам в производительности. При правильном выборе размера области хранения Before-Image администратор может минимизировать эти издержки и обеспечить производительность базы данных на оптимальном уровне.
Для улучшения производительности файлы BI должны размещаться на диске, отдельном от прикладных областей хранения и областей After-Image.
Правильная настройка Before-Image достигается путём постоянного мониторинга за BI-активностью, для этого база данных должна находиться в онлайн.
Для мониторинга размеров области хранения BI используйте следующие рекомендации:
- Начните с создания одного экстента переменного размера для области хранения BI. СУБД OpenEdge требуется переменный BI-экстенты для выполнения операций восстановления после сбоев (crash recovery). Если попытаться создать для BI только один фиксированный экстент без дополнительного переменного, то утилита PROSTRCT CREATE завершится с ошибкой.
- С течением времени контролируйте переменный BI-экстент и отмечайте его размеры, особенно в конце месяца, квартала и года. Как правило в эти периоды наблюдаются всплески BI-активности, важно учитывать их при выборе размера BI-области.
- Основываясь на наблюдениях в течение продолжительного периода времени, выберите самый большой размер BI-файла и увеличьте его на 25% на случай непредвиденного роста. Затем, используя полученный размер, создайте первый BI-экстент фиксированного размер, а второй BI-экстент переменного размера.
- По мере необходимости повторите шаги 2 и 3. Обратите внимание, что с течением времени в базе данных может образоваться несколько фиксированных BI-экстентов, но последний всегда должен быть переменного размера. Со временем активность в базе данных стабилизируется, в этом случае рост BI также стабилизируется и необходимости в добавлении BI-экстентов не будет. Тем не менее, не стоит расслабляться, так как поведение и сценарии использования базы данных могут измениться.