Лекция «Физические аспекты проектирования бд» (на примере Oracle) icon

Лекция «Физические аспекты проектирования бд» (на примере Oracle)


Скачать 13.08 Kb.
НазваниеЛекция «Физические аспекты проектирования бд» (на примере Oracle)
Размер13.08 Kb.
ТипЛекция


Лекция «Физические аспекты проектирования БД» (на примере Oracle)




Введение


Цель физического проектирования – реализация БД в целевой СУБД.

Эффективное физическое проектирование непосредственно влияет на производительность БД.


Задачи этапа физического проектирования:


  • принятие решения о физических параметрах хранения информации (выбор и обоснование параметров хранения, использование кластеров, физическое размещение файлов с информацией разных типов и т.д.);

  • определение текущих и прогнозируемых размеров объектов БД (таблиц, индексов, сегментов отката и т.д.);

  • определение размера системной глобальной области (SGA);

  • планирование реализации и т.д.


Размещение объектов и выбор параметров их хранения осуществляется так, чтобы обеспечить:


  • восстанавливаемость;

  • оптимальную производительность;

  • гибкость.


Блок данных – наименьшая логическая единица хранения в БД Oracle.

Экстент – набор смежных блоков БД.

Сегмент – набор экстентов, выделенных для структуры данных конкретного типа в пределах одной логической области хранения (табличное пространство).

Например, данные каждой таблицы хранятся в её сегменте данных, а данные индекса – в сегменте индекса.

Когда существующие экстенты одного сегмента заполняются, Oracle выделяет другой экстент для этого сегмента. Так как экстенты для каждого сегмента выделяются по мере необходимости, они не обязательно занимают непрерывное пространство на диске.





Рис. 1. Соотношение между сегментами, экстентами и блоками


^ Блоки данных


Блок данных соответствует определённому числу байтов на диске, кратен блоку ОС и задаётся при создании БД.

Независимо от того, что хранится в блоке (таблица, индекс или кластер) его формат одинаков.





Заголовок – содержит общую информацию блока: адрес блока, тип сегмента (данные, индекс, откат и т.д.).

Каждая строка требует 2 байта в заголовок.

^ Директория таблиц – содержит информацию о таблицах, имеющих строки в этом блоке.

Директория строк – содержит информацию о реальных строках в блоке: число строк, ROWID строки, адрес каждого атрибута в области данных строки и др.

Пространство, которое выделяется для директории строк в заголовке блока, не освобождается, когда эта строка удаляется, поэтому блок, который в данный момент пуст, а ранее имел, например, 50 строк, продолжает сохранять 100 байтов, выделенных в заголовке для директории строк. Это пространство можно повторно использовать, когда в блок вставляются новые строки.

^ Данные строки – содержит данные таблицы или индекса (строки могут расщепляться на несколько блоков).

Свободное пространство – используется для добавления и обновления строк, а также для точек входа транзакций, обращающихся к строкам из этого блока (для большинства ОС этот размер равен 23 байтам).


^ Управление свободным пространством блока


Для управления свободным пространством блока существуют два параметра команды CREATE TABLE:

  • PCTFREE;

  • PCTUSED.

Параметры задаются при создании или изменении таблиц (индексов).

Параметр PCTFREE устанавливает процент зарезервированного в блоке пространства для последующих возможных обновлений строк этого блока.

Параметр PCTUSED устанавливает процент использованного пространства, по достижению которого возможно добавление новых строк в блок (предполагается, что пространство блока предварительно заполнено до значения PCTFREE, а затем блок постепенно освобождался).





^ Совместная работа PCTFREE и PCTUSED


Оба параметра подбираются таким образом, чтобы оптимизировать утилизацию пространства в блоках данных.

Пространство для обновления во вновь выделяемом блоке:





Обновление существующих данных может использовать всё доступное пространство блока, оно может сделать свободное пространство в блоке меньше, чем зарезервированное PCTFREE.

Для каждого сегмента данных и индексов Oracle ведёт список свободных блоков, имеющих свободное пространство больше, чем PCTFREE. Блок перемещается в начало списка свободных блоков и становится первым доступным для использования, если свободное пространство стало меньше, чем PCTUSED.

Свободное пространство в блок возвращают команды DELETE и UPDATE. При этом освобождённое пространство необязательно непрерывно. Пространство объединяется только в том случае, когда свободного пространства в блоке достаточно, чтобы поместить туда результат команды, но это пространство фрагментировано.

Это делается для того, чтобы не снижать производительность системы, выполняя, возможно, ненужные сжатия после каждой команды DELENE и UPDATE.

Естественно, если сумма значений PCTFREE и PCTUSED слишком близка к 100, то блоки будут включаться в список свободных и исключаться из него очень часто.

Самым эффективным способом вернуть в работу пространство, занятое в таблице удалёнными строками – вывести таблицу из работы и реорганизовать.


^ Расщеплённые и мигрирующие строки


Расщеплённая строка – строка, части которой находятся в разных блоках данных.

Для расщеплённых строк создаются цепочки блоков. Идентификатор строки (ROWID) и столбцов этой части строки хранятся в заголовке блока.

^ Мигрирующая строка – строка, которая перемещена в другой блок. Эта проблема может быть связана с выбором PCTFREE, а также размером блока.

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


Экстенты


Экстент – логическая единица БД, состоящая из непрерывного набора блоков.

Любой сегмент состоит, как минимум, из одного (кроме сегмента отката) экстента, в котором хранятся его данные. Этот экстент называется начальным.

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

Если блоки начального экстента сегмента заполняются, Oracle автоматически выделит дополнительный экстент для этого сегмента.

Дополнительный экстент – это следующий экстент того же или большего размера.

Из соображений оптимизации хранения, каждый сегмент БД содержит блок заголовка сегмента, который описывает характеристики этого сегмента и директорию (список) его экстентов.





Рис. 2. Выделение экстентов

Похожие:

Лекция «Физические аспекты проектирования бд» (на примере Oracle) iconЛекция «Физические аспекты проектирования бд» (на примере Oracle)
Эффективное физическое проектирование непосредственно влияет на производительность бд
Лекция «Физические аспекты проектирования бд» (на примере Oracle) iconЛекция Методы защиты металлов от коррозии (3 ч)
Защитные мероприятия начинают на стадиях проектирования и производства изделий и продолжают в процессе их эксплуатации
Лекция «Физические аспекты проектирования бд» (на примере Oracle) iconТерминологический диктант Перечислить физические параметры воздуха
Дисциплина: Гигиена и экология человека Лекция 3 Тема 1 Источники загрязнения и принципы защиты воздушной среды
Лекция «Физические аспекты проектирования бд» (на примере Oracle) iconРасписание занятий проректор по учебной работе 3 курса фэ м. В. Дубков весенний семестр 2011/2012 уч год 2012 г время
Лекция Физические основы технологии производства приборов и устройств промышленной электроники
Лекция «Физические аспекты проектирования бд» (на примере Oracle) iconЛекция 7 Синергетика
При этом аппарат неравновесной термодинамики стал основным аппаратом синергетики. В курсе физики мы естественно наиболее подробно...
Лекция «Физические аспекты проектирования бд» (на примере Oracle) iconЭкзаменационные билеты по курсу "Проектирование судов" в группе 1690
Методы теории проектирования и ее связи с другими дисциплинами Стадии проектирования судов
Лекция «Физические аспекты проектирования бд» (на примере Oracle) iconЭтапы и правила проектирования гис
Применение гис для решения различных задач, в разных организационных схемах и с разными требованиями, обуславливает разные подходы...
Лекция «Физические аспекты проектирования бд» (на примере Oracle) iconДанные БД Oracle логически хранятся в табличных пространствах, а физически – в файлах данных (файлах ОС).
Данные бд oracle логически хранятся в табличных пространствах, а физически – в файлах данных (файлах ос)
Лекция «Физические аспекты проектирования бд» (на примере Oracle) iconУрок Тема : Определение, строение, гомологический ряд, изомерия,номенклатура, получение, физические свойства
Планируемые результаты обучения: Знать строение, изомерию, номенклатуру, способы получения и физические свойства одноосновных карбоновых...
Лекция «Физические аспекты проектирования бд» (на примере Oracle) iconЛекция по дисциплине: «Социология» Тема 13. Культура общества Доктор социологических наук
Понятие «культура» — одно из самых многозначных и многогранных в философии и гуманитарных науках. Существует несколько десятков определений...
Лекция «Физические аспекты проектирования бд» (на примере Oracle) iconЛекция Сопровождение информационной системе Группы задач сопровождения информационной системе
Ис может достигать 80% всех затрат жизненного цикла ис. В то же время задачи этапа сопровождения ис до настоящего времени остаются...
Вы можете разместить ссылку на наш сайт:
Документы


При копировании материала укажите ссылку ©ignorik.ru 2015

контакты
Документы