Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Системы управления базами данных.
Функции СУБД. План:
История. 70–первая половина 80-х – распространение иерархических и сетевых СУБД на ЕС ЭВМ. Конец 80-х – начало 90-х – широкое распространение псевдо-реляционных СУБД на ПЭВМ, развитие локальных вычислительных сетей. Середина 90-х – распространение реляционно полных серверов на рабочих станциях SUN, DEC, ПЭВМ. Развитие корпоративных вычислительных сетей, технологии «клиент-сервер». Конец 90-х – внедрение ОО подхода в технологию БД, появление ОР СУБД и ОО СУБД. Начало 2000-х – соединение баз данных с Интернет-технологиями, распространение корпоративных порталов, организация хранения XML-документов. За исключением первого этапа, актуальны все направления. Основные функции СУБД:
Управление данными во внешней памяти (физическая модель БД). С точки зрения ОС БД представляет собой один или несколько файлов. Форматирован на блоки (за один шаг доступа к диску считывается один блок памяти, который называется страницей (2, 4, 8, 16, 32 Кб)), объем страницы определяется в конфигурации сервера, страницы объединяются в экстенты – целое число страниц. Таким образом, физическая модель БД определяется понятиями «файл, экстент, страница» (существует и логический уровень для больших серверов БД). Например, для MS SQL Server существует CREATE DATABASE sample ON PRIMARY (NAME = Sample_data, FILENAME = ‘C:\mssql7\data\sample.mdf, SIZE = 10 MB, MAXSIZE = 15 MB, FILE GROWTH = 20 %) LOG ON (NAME = Sample_log, FILENAME = ‘C:\mssql7\data\Sample.ldf, SIZE = 3 MB, MAXSIZE = 5 MB, FILEGROWTH = 1 MB). Действие, выполняемое при сохранении или извлечении записи и файла, называется методом доступа. Различают 3 метода: последовательный, прямой и индексный. При последовательном доступе страницы в ОЗУ выбираются одна за другой последовательно от начала файла. На одной странице может быть расположено несколько логических записей базы, при этом поиск нужной записи идет последовательно. Одновременно в ОЗУ может находиться несколько страниц, с которыми работают информационные системы. Процесс обработки информации в буфере ОЗУ с периодическим сбрасыванием изменений на диск называется кэшированием. Настройку объема кэш-памяти задает администратор.
В основе прямого метода лежит прямое обращение к конкретной странице, при этом по ключу искомой записи строго определяется номер страницы. Если в конкретном приложении отсутствуют ключи, соответствующие определенным номерам страниц, то место все равно выделяется. Но в реальной практике сложно установить однозначное соответствие между ключом и номером страницы. Существуют методы алгоритмического определения номера страницы по ключу. Это методы хеширования, то есть задается хеш-функция, которая по ключу определяет номер страницы (в случае коллизии предусмотрена область переполнения). Прямой метод доступа в серверах является основой выборки информации, но для преобразования ключа в адрес страницы в настоящее время применяются индексы. Индексный метод доступа основан на создании специальных наборов, посредством которых устанавливается соответствие между ключом и номером страницы. Индексы хранятся в файле базы данных вместе с таблицами и состоят из двух полей: упорядоченный ключ поиска и номер страницы. Индексы автоматом создаются по всем первичным, альтернативным и вторичным ключам. Поиск осуществляется методом половинного деления. Кроме того, создаются бинарные деревья, при этом поиск по индексу осуществляется с помощью указателей. Индекс компактный, весь помещается в ОЗУ, поиск по нему идет очень быстро, в случае больших индексов поддерживаются деревья из индексов. Поиск включает 3 этапа:
Индексы по указанию проектировщика могут быть созданы по любому полю или группе полей (CREATE INDEX).
СУБД поддерживают уникальные физические модели баз данных. Рассмотрим 3 уникальные модели:
Управление базой данных.
Оптимизатор запросов логически выводит код программы, оптимизируя его: относительная стоимость запросов оценивается из предполагаемого количества операций с дисками и операций сравнения в памяти. Используется системный каталог, в котором хранится информация о структуре БД, а также статистика базы (количество кортежей, количество блоков памяти, количество уникальных значений атрибутов, число уровней индексов). Для примера рассмотрим варианты выполнения запроса на выборку сведений по деталям, сделанным из стали, весом больше 10 единиц: SELECT * FROM DETAIL d, MATERIAL m WHERE (d.MATERIAL_CODE = m.MATERIAL_CODE) AND (d.DETAIL_WEIGHT>10 AND m.MATERIAL_NAME = ‘Сталь’). Имеют место 3 варианта выполнения:
Чтобы принять решение оптимизатор по системному каталогу оценивает объем таблиц, участвующих в запросе. В современных информационных системах поддерживается еще один уровень метаданных, который позволяет переформулировать запрос в терминах концептуальной модели предметной области в SQL. Преобразование SQL в код программы для доступа к серверу осуществляет СУБД, а переформулирование запроса SQL в концептуальную модель посредством метаданных выполняет информационная система.
Потребительские качества СУБД.
Сервер БД ориентирован на удовлетворение информационных потребностей и работает в многозадачном, многопользовательском режиме. Рассмотрим несколько аспектов работоспособности сервера в таком режиме: · Масштабируемость – свойство ВС, обеспечивающее предсказуемый рост характеристик при возникновении потребностей без отключения работы сервера. Сервер поддерживает конфигурационный файл, посредством которого без остановок можно наладить объем используемой ОП, число занятых процессоров, количество параллельных потоков, выполняющихся на одном процессоре, объем внешней дисковой памяти. · Производительность – достигается поддержкой параллелизма и организация многопоточной архитектуры. Любой запрос делится на атомарные операции, которые выполняются параллельно, и каждый из которых начинает работу не дожидаясь окончания предыдущей (например, считывание записи с диска, выборка по фильтру нужной записи, запись на диск результатов выборки). Этим процессом можно управлять, увеличивая размер буферного пула. При этом большое количество параллельных операций может выполняться в памяти. · Возможность смешанной загрузки разными типами задач – информационные системы решают 3 типа задач: оперативная обработка транзакций – это задачи оперативной обработки данных (расчет зарплаты, кадровый учет); DSS (Decision Support System) – задачи, связанные со стратегическим менеджментом; пакетная обработка. Работа сервера в разных режимах имеет особенности. Работа сервера OLTP можно охарактеризовать следующим образом: часто используются короткие транзакции, которые не использует одинаковые данные, запрос затрагивает небольшое число строк таблицы, используется несколько таблиц большого размера. Пример: получить информацию о регистрационных сведениях поставщика, внести в справочник новую деталь. Требования к серверу: небольшой объем кэш-памяти, простой оптимизатор, с точки зрения приложений исключить конкуренцию запросов. Работа сервера DSS: объем таблиц неограничен, часто требуется просмотр всех строк таблицы, число таблиц, участвующих в транзакции, может быть очень велико, транзакция работает только на чтение, высока вероятность разделения ресурсов между разными задачами. Для такого сервера нужен мощный оптимизатор, эффективная методика сканирования и соединения таблиц, разный механизм параллельного доступа. Сервер пакетной обработки: обрабатывает большие и сверхбольшие таблицы, преобладает значительная продолжительность транзакций, часто используется просмотр и/или модификация всех строк таблицы, преобладает запуск очень небольшого числа задач с высокой загрузкой процессора при заполнении ОП. Перечисленные особенности надо учитывать при определении конфигурации ВС.
· Постоянная доступность данных, включая зеркалирование и тиражирование (репликация). Зеркалирование БД осуществляется на другом сервере, в случае аппаратного сбоя работа автоматически переходит на зеркало. Тиражирование поддерживается удаленно, это по сути копирование базы для дистанционного доступа к информации. Если обновление сервера незначительное, то можно поддерживать репликацию, то есть в определенное время во всех филиалах будут доступны все обновления.
|
|||||||||
Последнее изменение этой страницы: 2017-01-27; просмотров: 381; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.138.114.94 (0.01 с.) |