Фуфаев - Разработка и эксплуатация удалённых БД (1084483), страница 14
Текст из файла (страница 14)
Дополнительные обязанности РВА сводятся, как правило, к оказанию помощи отдельным клиентам и могуг включать в себя следующие задачи администрирования. ° Анализ данных. Проводится для того, чтобы дать отдельным разработчикам или пользователям рекомендации по повышению производительности или эффективности хранения данных. ° Предварительная разработка БД. Поскольку РВА знает систему «изнутри», он может на предварительной стадии разработки структуры БД указать команде разработчиков на потенциальные проблемы и помочь в увеличении производительности программ.
° Оказание консультаций разработчикам по хранимым Яый-процедурам. РВА довольно часто привлекается к разрешению проблем КОЕ-кода и разработке (написанию) хранимых процедур, т.е. он должен быть готов стать консультантом для разработчиков и пользователей. ° Разработка производственных стандартов и соглаиений по именам. Это одна из основных организационных проблем управления. Поскольку в разработке и развертывании приложений могут принимать участие несколько различных групп, РВА должен принимать активное участие в решении проблемы их соответствия производственным стандартам и соглашениям по именам, ° Документирование среды. РВА должен документировать каждый аспект среды СУБД, включая конфигурирование оборудования, обновление и изменение программного обеспечения, вопросы, связанные с изменением системы и ее параметров, и уметь полностью восстановить ее по документации в случае необходимости.
Планирование нагрузки системы и необходимого обьема памяти. Неотьемлемой частью работы РВА является определение необходимости приобретения дополнительных серверов, дополнительной дисковой и оперативной памяти в целях удовлетворения возрастающих потребностей пользователей. Прогнозируя ожидаемую потребность аппаратных средств, администратор обеспечивает надежность работы информационной системы предприятия. 5.3. Физическая архитектура хранения данных СУРБД Огас)е, предназначенная для одновременного доступа к большим обьемам (терабайтам) хранимой информации, скла- 70 дывается из двух составляющих: базы данных (информации) и экземпляра (конкретной реализации системы). База данных. Состоит из физических файлов, хранящихся в системе, и логических файлов (например, схемы БД).
Физические файлы хранятся на диске, а логические файлы являются компонентами физического уровня. Итак, базы данных Огас1е состоят из двух уровней: физического и логического. Физический уровень БД включает в себя три категории файлов: файлы данных, файлы журналов операций, управляющие файлы. ° Файлы данных хранят информацию, имеющуюся в БД. Причем в БД может храниться и один файл данных и сотни.
Информация из одной таблицы может быть распределена по нескольким файлам данных, а также несколько таблиц могут делить между собой пространство одного файла данных. При этом распределение таблиц по нескольким файлам данных может значительно увеличить производительность системы. Количество файлов данных ограничивается параметром шахдагаЯез.
° Файлы журналов операций (геоо 1оя Й!ез) содержат информацию, необходимую для процесса восстановления в случае сбоя системы, и все изменения, которые произошли в базе данных. С помощью журнала операций восстанавливают те изменения, которые были произведены, но не зафиксированы перед сбоем системы, поэтому файлы журналов операций должны быть очень хорошо защищены от аппаратных сбоев (как на программном, так и на аппаратном уровне).
Если информация журнала операций будет утеряна, восстановить систему будет практически невозможно. ° Управляющие 4айлы содержат информацию, необходимую для запуска экземпляра Огас)е (в том числе расположение файлов данных и файлов журналов операций), и они также должны быть хорошо защищены, Логический уровень БД составляют следующие элементы: табличные пространства и схемы БД. ° Табличные пространства — это одна или несколько логических частей, на которые подразделяется база данных и которые используются для логической группировки данных между собой.
Например, можно определить одно табличное пространство для бухгалтерских данных, а другое — для складских. Сегментирование групп по табличным пространствам упрощает администрирование этих групп. Каждое табличное пространство может состоять из одного или многих файлов данных. Используя несколько файлов данных для одного табличного пространства, можно распределить их по разным дискам, увеличив тем самым скорость ввода-вывода и соответственно производительность системы. ° Схемы БД вЂ” специальные логические структуры, с помощью которых в СУРБД Огас!е происходит контроль над дисковым пространством.
Эти структуры состоят из блоков данных, экстентов, сегментов. Бл о к да н н ы х — это наименьшая единица хранения данных в БД Огас1е. Блоки данных, содержащие заголовочную информацию о себе и данные, физически хранятся на диске и в большинстве систем занимают 2 Кбайт (2 048 байт), но для увеличения эффективности работы системы этот размер можно изменить. Э к с т е н т ы состоят из блоков данных и являются строительными блоками сегментов.
Используются они для минимизации неиспользуемо~ о (пустого) пространства хранилища. По мере увеличения количества данных в табличных пространствах экстенты используются для хранения тех данных, которые могут разрастаться. Таким образом, несколько табличных пространств могут делить между собой пространство хранилища без предварительного определения их разделов.
При создании табличного пространства можно указать минимальное число экстент, что позволит контролировать все пространство хранилища БД. Сегменты, в свою очередь, состоят из совокупностей экстентов, содержащих определенный вид данных. БД Огас1е использует четыре типа сегментов: сегмент данных, хранящий пользовательские данные; индексный сегмент, содержащий индексы; сегмент отката, хранящий информацию отката, используемую при возврате к предыдущему состоянию БД; временный (нромезкуточный) сегмент, создаваемый в случае если для выполнения БО1.-выражения необходимо дополнительное рабочее пространство и уничтожаемый сразу после выгюлнения Я)1.-команд.
Промежуточные сегменты используются также в различных операциях с БД, например при сортировке. Экземпляр. Представляет собой конкретный способ доступа к данным и состоит из разделяемой памяти и процессов. Разделяемая память (зйагед гоепюгу) используется для кэширования данных и индексов, а также для хранения программного кода. Разделяемая память подразделяется на несколько частей (или структур памяти), основными из которых являются: системная глобальная область (Буз!ещ О!оЬа1 Агеа) и программная глобальная область (Ргоягагп О!оЬа1 Агеа).
° Системная глобальнал область (ЮбА) — это область разделяемой памяти, которая используется для хранения данных и управляющей информации одного конкретного экземпляра Огас1е. БОА размещается в памяти при запуске экземпляра Огас1е и освобождает память при останове. Каждый запущенный экземпляр Огас!е имеет свою собственную БОА. 72 БОА включает в себя следующие компоненты, создаваемые в памяти при запуске экземпляра: кэш буфер БД, буфер журнала изменений, разделяемый пул.
Кэш буфер БД хранит последние открытые блоки данных. Эти блоки могут содержать данные, которые изменились, но еше не были записаны на диск (грязные блоки), и данные, которые не изменялись либо были записаны на диск после изменения (чистые блоки). Так как кэш буферов БД хранит блоки данных на основе алгоритма последних используемых блоков, то наиболее активно используемые блоки постоянно остаются в памяти (снижая дисковый ввод-вывод и увеличивая производительность системы). Буфер журнала изменений хранит данные об изменениях БД, записываясь в файл журнала изменений, используемого для восстановления экземпляра СУБД Огас1е в случае сбоя системы, настолько быстро и эффективно, насколько это возможно.
Р а зд ел я е м ы й п ул хранит такие структуры разделяемой памяти, как разделяемые ЯОЬ-области в библиотечном кэше и внутренняя информация словаря данных. Состоит из библиотечного кэша и кэша словаря данных. Библиотечный кэш используется для хранения разделяемых Я( Ь- выражений. Здесь для каждого уникального ЯОЬ-выражения строятся дерево разбора строк и план исполнения, которые кэшируются (т.е. сохраняются в библиотечном кэше). Если несколько приложений отправляют одинаковые Я Ь-выражения, то для ускорения работы используется разделяемая БОЬ-область (так как при использовании уже разобранных строк и готового плана исполнения происходит экономия времени).