Экстенты
Экстент области хранения – это физический файл базы данных на диске. В областях хранения второго типа (Type II) каждый экстент содержит множество кластеров, о которых вы узнаете чуть позже.
По умолчанию максимальный размер файла экстента может достигать размера 2 Гб. Но если вы используете файловую систему, которая поддерживает большие файлы, а иных в наше время вероятно уже не используется, и если у вас лицензия СУБД OpenEdge Enterprise, то вы можете активировать поддержку больших файлов в базе данных. В этом случае максимальный размер одного экстента будет 1024 Гб или 1 Тб.
Некоторые преимущества использования экстентов:
- Вы можете контролировать размер, тип и местоположение ваших экстентов используя файл описания физической структуры (.st).
- Вы можете оптимизировать нагрузку на оборудование, путём размещения экстентов на отдельных, быстрых дисках. Например, разместив на таких дисках наиболее интенсивно используемые таблицы и индексы.
- Вы можете уменьшить нагрузку на диск и повысить производительность базы данных, разместив экстенты одной и той же области хранения на разных дисках или даже файловых системах.
Существует два типа экстентов:
- Фиксированный – имеет заранее предопределённый зафиксированный размер; позволяет контролировать использование дискового пространства каждым экстентом. Улучшает производительность базы данных, так как экстенты предварительно отформатированы до требуемого размера.
- Переменный – экстент форматируется по мере накопления данных; по умолчанию размер экстента будет расти до тех пор, пока не будет достигнут максимальный размер файла или пока экстент не использует всё доступное дисковое пространство. Может иметь предопределённый размер, но это не означает, что произойдёт предварительное его форматирование, как у фиксированного экстента, это просто указание его максимальной длины.
Рекомендации для создания экстентов:
- Создавайте фиксированными все экстенты области хранения, за исключением последнего экстента, который должен быть переменным.
- СУБД OpenEdge требует, чтобы все не конечные экстенты были фиксированными.
- Фиксированные экстенты предварительно форматируются, и, следовательно, СУБД OpenEdge работает с ними быстрее.
- Переменные экстенты одновременно со снижением производительности обеспечивают гибкость. Например, если последний экстент области хранения переменный, то в случае резкого всплеска пользовательской активности, вызвавший увеличение объёма хранимых данных, последний фиксированный экстент может быстро заполниться, но вместо ошибки записи начнёт заполняться переменный экстент.
- Если последний экстент будет фиксированного размера, то после его заполнения произойдёт ошибка записи и база данных будет остановлена.
- Для улучшения производительности размещайте BI-экстенты на отдельных дисках от экстентов с данными.
- Область Before-Image – это наиболее активная область базы данных, так как СБУД постоянно сохраняет BI-заметки в BI-файлы. Поэтому диск с BI-экстентами наиболее загружен, и это «мешает» работе с экстентами, содержащими пользовательские данные.
- Чтобы обеспечить возможность восстановления базы данных после сбоя носителя, размещайте AI-экстенты на отдельном от BI-экстентов и экстентов с прикладными данными диске.
- Лучше иметь немного экстентов большого размера, чем много экстентов маленького размера в каждой области. Такой подход обеспечивает лучшую производительность и упрощает администрирование базы данных.