Главная » Просмотр файлов » Введение в системы БД

Введение в системы БД (542480), страница 167

Файл №542480 Введение в системы БД (Введение в системы БД) 167 страницаВведение в системы БД (542480) страница 1672015-08-16СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 167)

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

Важно понимать, что, в принципе, любое ограничение целостности может быть использовано для семантической оптимизации. Другими словами, этот прием не ограничен использованием только ограничений целостности. Например, предположим, что в базе данных поставщиков и деталей установлено ограничение, утверждающее, что все красные детали должны храниться в Лондоне. Рассмотрим следующий запрос. Определить всех поставщиков только красных детазей которые !поставщики) на- ходятся в там же городе, где хранится хотя бы одна поставзлеиая иии детазь. Это довольно сложный запрос! Но в силу рассмотренного ограничения целостности его можно привести к такому виду. Опредезнть всех поставщиков из Лондона, поставляющих только красные детали.

Замечание. Насколько известно автору, лишь немногие современные коммерческие продукты в должной мере используют идею семантической оптимизации. Однако, в принципе, семантическая оптимизация способна обеспечивать значительное улучшение производительности (весьма вероятно, намного превышающее то, которое в настоящее время может быть достигнуто с помощью любых традиционных приемов оптимизации). Более подробно идея семантической оптимизации изложена в 117.16], !17.281 — !17.30) и особенно — в !17.27).

652 Часть К Дополнительные аспекты Заключительные замечания В завершение хотелось бы подчеркнуть фундаментальную важность свойства реляционной замкнутости в отношении всех аспектов, обсуждавшихся в этом разделе. Наличие реляционной замкнутости означает, что можно писать вложенные выражения, а это, в свою очередь, означает, что единственный запрос может быть представлен единственным выражением вместо некоторой процедуры, состоящей из нескольких выражений, и поэтому нет необходимости в анализе потоков. Вложенные выражения рекурсивно определяются в терминах подчиненных выражений, что позволяет оптимизатору использовать множество стратегий вычисления по принципу "разделяй и властвуй" (подробности приводятся ниже, в этой же главе).

И конечно же, при отсутствии свойства реляционной замкнутости не имели бы смысла общие законы, такие как правило дистрибутивности и т.п. 17.5. Статистические показатели базы данных На стадиях 3 и 4 общего процесса оптимизации (называемых стадиями выбора пути доступа) используются статистические показатели базы данных, сохраняемые в ее каталоге (ннже кратко описаны способы их применения). В демонстрационных целях ниже кратко рассматриваются (с небольшими дополнительными комментариями) некоторые из основных статистических показателей, используемых в двух коммерческих продуктах — СУБД РВ2 и )ХПКЕБ.

Приведем некоторые из основных статистических показателей, применяемых в СУБД (лВ2з. ° Для каждой базовой таблицы фиксируются следующие показатели: ° кардинальность; ° количество страниц внешней памяти, занятых таблицей; ° доля табличного пространства, занимаемого таблицей. ° Для кажлого столбца каждой базовой таблицы фиксируются следующие показатели: ° количество различных значений в столбце; ° второе наибольшее значение в столбце; ° второе наименьшее значение в столбце; ° десять значений в столбце (только для индексированных столбцов), которые чаше всего встречаются, а также количество вхождений каждого из этих значений.

° Для каждого индекса фиксируются следующие показатели: ° индикатор, указывающий, является ли индекс кластеризованным (т.е. индексом, в котором логический порядок значений ключа совпадает с физическим порядком их размещения в таблице); ° лля кластеризованных индексов — доля индексированной таблицы, находящейся в кластеризующей последовательности; ~ Так как обе названные СУБД поддержиоают стандартныб язык Бйь, при ил обсуждении вместо тер нинов "переменная-отношение" и "атрибут *' будут использоааться термины "таблица" и "столбец" соответственно Также запетом, цто в обе~се СУБД предполагается, цто калсдая базовая таблшцо дол,ясна ол1одра жаться в одну хранимую таблицу. 653 Глава 17. Одтиицэация ° количество листовых страниц в индексе; ° количество уровней в индексе. Замечание.

Перечисленные выше статистические показатели не обновляются при каждом обновлении базы данных из-за больших накладных расходов, связанных с их вычислением. Вместо этого статистические показатели обновляются выборочно, с помощью системной утилиты ЯВМВТйТЯ, которая запускается по требованию администратора базы данных, например после реорганизации базы данных. Аналогичное утверждение применимо и к большинству других коммерческих продуктов, в том числе к системе !ХОКЕБ, где соответствующая утилита называется ОРТ1М18ВВВ. Перечислим некоторые из основных статистических показателей базы данных, накапливаемых в СУБД !ЖОКЕЯ.

Замечание. В системе 1)ч(ОКЕЙ индекс рассматривается как частный случай хранимой таблицы. Поэтому приведенные ниже статистические показатели для базовых таблиц и столбцов вычисляются также для индексов. ° Для каждой базовой таблицы фиксируются следующие показатели: ° кардинальность; ° количество первичных страниц для таблицы; ° количество страниц переполнения для таблицы. ° Для каждого столб~!а в каждой базовой таблице фиксируются следующие показатели: ° количество различных значений в столбце; ° максимальное, минимальное и среднее значения для столбца; ° реальные значения в столбце и частота их вхождений.

17.6. Стратегия по принципу "разделяй и властвуй" Как уже упоминалось выше, в конце раздела!7.4, реляционные выражения рекурсивно определяются в терминах подчиненных выражений, что позволяет оптимизатору применять различные стратегии оптимизации по принципу "разделяй и властвуй".

Заметьте, что использование подобных стратегий особенно привлекательно в средах, поддерживающих параллельные вычисления, в частности в распределенных системах, в которых различные части запроса ма~уз вычисляться параллельно на разных процессорах [17.58] — [17.61]. В данном разделе рассматривается одна из подобных стратегий, получившая название декомпозиции запросов. Впервые она была применена в прототипе системы 1ХОКЕЗ [17.36], [17.37]. Замечание. Дополнительную информацию об оптимизации в СУБД 11чОКЕБ (особенно в ее коммерческой версии, которая в данном контексте несколько отличается от прототипа системы ИЧОКЕэ) можно найти в работе Куи (Коо]) и Франкфорта (ГгапИопп) [17.2], а также в [17.38].

Основная идея метода декомпозиции запросов строится на разбиении запроса со многими переменными диапазоназ на последовательность запросов меньшего размера обычно с одной или двумя такими переменными диапазона. Требуемая декомпозиция достигается с помощью методов отделения и подстановки кортежей. З Напалгним, чта язык запросов ЬЗ(1ЕЕ в системе 1КСйЕЗ использует средства реляционного исчисления.

654 Часть [г. Дополнительные аспекты ° Отделение — это процесс удаления из запроса компонента, который имеет только одну общую переменную с оставшейся частью запроса. ° Подстановка кортежа — это процесс подстановки значения одной переменной в запросе (один кортеж за одну операцию). Использование метода отделения всегда предпочтительней использования метода подстановки кортежей во всех случаях, когда существует возможность выбора (см.

пример, приведенный ниже). Тем не менее рано или поздно декомпозиция методом отделения обязательно приведет к разбиению запроса на множество компонентов, которые больше нельзя будет подвергнуть декомпозиции с помощью этого метода, после чего придется обратиться к методу подстановки кортежей. Ниже рассмотрен пример декомпозиции (основанный на примере из (17Э6)).

Словесное выражение э~ого запроса имеет следующий вид; "Определить имена поставщиков из Лондона, поставляющих некоторые красные детали весом менее 25 фунтов в количестве более 200 штук". Приведем формулировку этого запроса на языке О()ЕЬ, на которую далее будем ссылаться, как на формулировку 00. 00: КЕТК1ЕЧЕ ( Я.ЯИАНЕ) ННЕКЕ Я.С1ТУ = 'Ьопбол' ЕИО Я.Б$ = БР.Б$ йИО БР.ЦТУ > 200 ЕИО ЯР.Р$ = Р.Р$ йИО Р.СОЬОК = 'Кед' йИО Р.НЕ1ОНТ < 25 Здесь подразумеваемый диапазон переменных Б, Р и БР распространяется на всю одноименную переменную-отношение. Исходя из последних двух сравнений в выражении запроса можно заключить, что нас интересуют только красные детали весом менее 25 фунтов. Следовательно, можно отделить подзапрос с одной переменной (на самом деле являющийся проекцией выборки), в котором используется переменная Р.

01: КЕТК1ЕЧЕ 1ИТО Р' (Р.Р$) ИНЕКЕ Р.СОЬОК = 'Кеб' йИО Р ИЕ16НТ < 25 Этот запрос с единственной переменной может быть отделен, так как в нем присутствует только одна переменная (а именно — переменная диапазона Р), совместно используемая с оставшейся частью запроса. Так как запрос 01 связывается с остатком исходного запроса по атрибуту Р$ (в условии БР.Р$ = Р.Р$), атрибут Р$ должен входить в "кортеж-прототип" (см. главу 7) отделенного запроса. Другими словами, отделенный запрос предназначен для выборки номеров ~олько тех красных де~алей, которые весят менее 25 фунтов. Отделенный запрос обозначим как запрос 01, результатом выполнения которого является временная переменная-отношение Р'.

(Назначение предложения 1ИТО состоит в том, чтобы создать новую переменную-отношение Р' с единственным атрибутом Р$. Эта переменная-отношение создается автоматически и содержит результат выполнения операции КЕТК1ЕЧЕ.) И наконец заменим ссылки на переменную-отношение Р в сокращенной версии запроса 00 ссылками на переменную-отношение Р'. Эту новую сокращенную версию исходного запроса обозначим как 01. 655 Глава 17.

Характеристики

Тип файла
DJVU-файл
Размер
10,05 Mb
Тип материала
Предмет
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6447
Авторов
на СтудИзбе
306
Средний доход
с одного платного файла
Обучение Подробнее