Разделы презентаций


Организация и поиск данных во внешней памяти

Содержание

Организация файловОсновные способы организации файлов:файлы с последовательной организацией;файлы с прямым доступом;индексированные файлы (индексно-последовательные, файлы с индексной организацией);библиотеки.Использование индексов ускоряет поиск данных, но усложняет выполнение операций над ними.

Слайды и текст этой презентации

Слайд 1Организация и поиск данных во внешней памяти
НИУ ВШЭ – Пермь
Факультет

бизнес-информатики
Кафедра информационных технологий в бизнесе
Пермь 2013
Лядова Л.Н.
Материалы курса «Теоретические основы

информатики»
Лекция 17
Организация и поиск данных  во внешней памятиНИУ ВШЭ – ПермьФакультет бизнес-информатикиКафедра информационных технологий в бизнесе Пермь

Слайд 2Организация файлов
Основные способы организации файлов:
файлы с последовательной организацией;
файлы с прямым

доступом;
индексированные файлы (индексно-последовательные, файлы с индексной организацией);
библиотеки.

Использование индексов ускоряет поиск

данных, но усложняет выполнение операций над ними.

Организация файловОсновные способы организации файлов:файлы с последовательной организацией;файлы с прямым доступом;индексированные файлы (индексно-последовательные, файлы с индексной организацией);библиотеки.Использование

Слайд 3Индексированные файлы
Если система сама берет на себя задачу организации вспомогательных

файлов (таблиц), используемых для ускорения доступа, то говорят об индексной

организации файлов.
Файлы с индексной организацией (или индексированные файлы) имеют более сложную организацию: кроме основного файла, представляющего собой массив записей, строится вспомогательная таблица (индекс), содержащая ключевую информацию для поиска, а также данные о местоположении записи в основном файле (смещение соответствующей записи относительно начала файла); кроме того, если записи могут иметь переменную длину, в каждой строке (элементе, записи) индекса содержится и размер записи.
Если поиск выполняется по различным ключам, то для каждого из них строится отдельный индекс. В современных базах данных объем индексов превышает объем собственно данных.
Индексированные файлыЕсли система сама берет на себя задачу организации вспомогательных файлов (таблиц), используемых для ускорения доступа, то

Слайд 4Индексированные файлы: простейший пример индексации

Индексированные файлы: простейший пример индексации

Слайд 5Индексированные файлы: многоуровневые индексы

Индексированные файлы: многоуровневые индексы

Слайд 6Индексированные файлы: поиск и обработка данных
Индексы позволяют ускорить поиск данных на

внешних запоминающих устройствах: индексы отсортированы по ключам (по возрастанию или

убыванию), что позволяет организовать поиск, например, методом «деления пополам» (бинарный поиск).
Однако поддерживать нужный порядок записей в индексе при выполнении операций над данными в файле – трудоёмкая задача:
при добавлении новых записей в файл (данные добавляются в конец файла) необходимо в индекс внести соответствующие изменения – тоже добавить запись, содержащую ключ и информацию о местоположении новой записи в файле, не нарушая порядок сортировки индекса;
при удалении записи из файла необходимо удалить и соответствующую запись из индекса;
при изменении ключевых полей в записи необходимо изменить и соответствующую запись в индексе, при этом может потребоваться изменить порядок записей в нём для сохранения установленного порядка сортировки.
Индексированные файлы: поиск и обработка данныхИндексы позволяют ускорить поиск данных на внешних запоминающих устройствах: индексы отсортированы по

Слайд 7Индексированные файлы: динамические индексы
Динамический индекс строится в оперативной памяти по специальной

команде индексации файла и существует, пока в нём есть необходимость

(он используется для ускорения поиска данных в открытом для работы файле). После завершения работы с файлом или программы индекс уничтожается.
Индекс должен включать всю необходимую для поиска данных информацию: значение ключа и информацию о местоположении соответствующей записи.
Для создания такого индекса обычно используются динамические структуры данных.
Простейшая – бинарное дерево, которое позволяет выполнять бинарный поиск, сокращая количество операций просмотра записей (сравнения ключей).
Это ещё одна область применения деревьев в программировании.
Индексированные файлы: динамические индексыДинамический индекс строится в оперативной памяти по специальной команде индексации файла и существует, пока

Слайд 8Бинарные деревья: использование для индексации

Ссылка на корень индекса
Оперативная память

Бинарные деревья: использование для индексацииСсылка на корень индексаОперативная память

Слайд 9Бинарные деревья: использование для индексации

Ссылка на корень индекса
Оперативная память

Бинарные деревья: использование для индексацииСсылка на корень индексаОперативная память

Слайд 10Бинарные деревья: использование для индексации

Ссылка на корень индекса
Оперативная память

Бинарные деревья: использование для индексацииСсылка на корень индексаОперативная память

Слайд 11Бинарные деревья: использование для индексации

Ссылка на корень индекса
Оперативная память

Бинарные деревья: использование для индексацииСсылка на корень индексаОперативная память

Слайд 12Бинарные деревья: использование для индексации

Ссылка на корень индекса
Оперативная память

Бинарные деревья: использование для индексацииСсылка на корень индексаОперативная память

Слайд 13Бинарные деревья: использование для индексации

Ссылка на корень индекса
Оперативная память

Бинарные деревья: использование для индексацииСсылка на корень индексаОперативная память

Слайд 14Бинарные деревья: использование для индексации

Ссылка на корень индекса
Оперативная память

Бинарные деревья: использование для индексацииСсылка на корень индексаОперативная память

Слайд 15Бинарные деревья: использование для индексации

Ссылка на корень индекса
Оперативная память

Бинарные деревья: использование для индексацииСсылка на корень индексаОперативная память

Слайд 16Бинарные деревья: использование для индексации

Ссылка на корень индекса
Оперативная память

Бинарные деревья: использование для индексацииСсылка на корень индексаОперативная память

Слайд 17Бинарные деревья: использование для индексации

Ссылка на корень индекса
Оперативная память

Бинарные деревья: использование для индексацииСсылка на корень индексаОперативная память

Слайд 18Бинарные деревья: использование для индексации

Ссылка на корень индекса
Оперативная память

Бинарные деревья: использование для индексацииСсылка на корень индексаОперативная память

Слайд 19Бинарные деревья: использование для индексации

Ссылка на корень индекса
Оперативная память

Поиск записи с

ключом «Носкова»

Бинарные деревья: использование для индексацииСсылка на корень индексаОперативная памятьПоиск записи с ключом  «Носкова»

Слайд 20Бинарные деревья: использование для индексации

Ссылка на корень индекса
Оперативная память

Бинарные деревья: использование для индексацииСсылка на корень индексаОперативная память

Слайд 21Бинарные деревья: использование для индексации

Ссылка на корень индекса
Оперативная память

Бинарные деревья: использование для индексацииСсылка на корень индексаОперативная память

Слайд 22Бинарные деревья: использование для индексации

Ссылка на корень индекса
Оперативная память

Бинарные деревья: использование для индексацииСсылка на корень индексаОперативная память

Слайд 23Бинарные деревья: использование для индексации

Ссылка на корень индекса
Оперативная память

Бинарные деревья: использование для индексацииСсылка на корень индексаОперативная память

Слайд 24Бинарные деревья: использование для индексации

Ссылка на корень индекса
Оперативная память

Бинарные деревья: использование для индексацииСсылка на корень индексаОперативная память

Слайд 25Бинарные деревья: использование для индексации
Проблемы при работе с внешней памятью:
Число

уровней в обычном бинарном дереве может быть большим – требуется

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

Выход – использование для индексации другого типа деревьев – B-деревьев.
Бинарные деревья: использование для индексацииПроблемы при работе с внешней памятью: Число уровней в обычном бинарном дереве может

Слайд 26Понятие B-дерева
Базовым «древовидным» аппаратом для поиска данных во внешней памяти

являются B-деревья:
за одно обращение к внешней памяти необходимо считать как

можно больше информации, учитывая при этом необходимость экономного использования основной памяти;
при организации основной памяти в виде набора страниц равного размера естественно считать именно страницу единицей обмена с внешней памятью;
желательно обеспечить такую поисковую структуру во внешней памяти, при использовании которой поиск информации по любому ключу требует заранее известного числа обменов с внешней памятью.
Понятие B-дереваБазовым «древовидным» аппаратом для поиска данных во внешней памяти являются B-деревья:за одно обращение к внешней памяти

Слайд 27Понятие B-дерева: классические B-деревья
B-дерево порядка n представляет собой совокупность иерархически связанных

страниц внешней памяти (каждая вершина дерева – страница), обладающая следующими

свойствами:
Каждая страница содержит не более 2×n элементов (записей с ключом).
Каждая страница, кроме корневой, содержит не менее n элементов.
Если внутренняя (не листовая) вершина B-дерева содержит m ключей, то у нее имеется m+1 страниц-потомков.
Все листовые страницы находятся на одном уровне.
Понятие B-дерева: классические B-деревьяB-дерево порядка n представляет собой совокупность иерархически связанных страниц внешней памяти (каждая вершина дерева

Слайд 28Пример B-дерева степени 2 глубины 3

Пример B-дерева степени 2 глубины 3

Слайд 29Пример B-дерева степени 2 глубины 3
Добавляем:
15, 27, 36, 39,

Пример B-дерева степени 2 глубины 3 Добавляем:15, 27, 36, 39, …

Слайд 30Пример B-дерева степени 2 глубины 3
Добавляем:
15, 27, 36, 39,

Пример B-дерева степени 2 глубины 3 Добавляем:15, 27, 36, 39, …

Слайд 31Пример B-дерева степени 2 глубины 3
Добавляем:
15, 27, 36, 39,

Пример B-дерева степени 2 глубины 3 Добавляем:15, 27, 36, 39, …

Слайд 32Пример B-дерева степени 2 глубины 3
Добавляем:
15, 27, 36, 39,



Пример B-дерева степени 2 глубины 3 Добавляем:15, 27, 36, 39, …

Слайд 33Пример B-дерева степени 2 глубины 3
Добавляем:
15, 27, 36, 39,



Необходимо расщепление страницы

Пример B-дерева степени 2 глубины 3 Добавляем:15, 27, 36, 39, …Необходимо расщепление страницы

Слайд 34Пример B-дерева степени 2 глубины 3
Добавляем:
15, 27, 36, 39,



Необходимо расщепление страницы:
32 33 35 36 37

Пример B-дерева степени 2 глубины 3 Добавляем:15, 27, 36, 39, …Необходимо расщепление страницы:32 33 35 36 37

Слайд 35Пример B-дерева степени 2 глубины 3
Добавляем:
15, 27, 36, 39,

Пример B-дерева степени 2 глубины 3 Добавляем:15, 27, 36, 39, …

Слайд 36Пример B-дерева степени 2 глубины 3
Добавляем:
15, 27, 36, 39,

Пример B-дерева степени 2 глубины 3 Добавляем:15, 27, 36, 39, …

Слайд 37Пример B-дерева степени 2 глубины 3

Пример B-дерева степени 2 глубины 3

Слайд 38Пример B-дерева степени 2 глубины 3

Пример B-дерева степени 2 глубины 3

Слайд 39Пример B-дерева степени 2 глубины 3
Добавляем 68

Пример B-дерева степени 2 глубины 3 Добавляем 68

Слайд 40Пример B-дерева степени 2 глубины 3
Добавляем 68

Пример B-дерева степени 2 глубины 3 Добавляем 68

Слайд 41Пример B-дерева степени 2 глубины 3
Удаляем 25

Выполняется переливание

Пример B-дерева степени 2 глубины 3 Удаляем 25Выполняется переливание

Слайд 42Пример B-дерева степени 2 глубины 3
Удаляем 25

Пример B-дерева степени 2 глубины 3 Удаляем 25

Слайд 43«Комбинированные» методы
Для ускорения поиска используются
«усовершенствованные» деревья (B+-деревья, R-деревья, имеющие

различную структуру листовых вершин и внутренних узлов,…);
сочетание хэширования и деревьев:

в памяти строится дерево, в которое записываются не ключи, а результаты хэширования;


«Комбинированные» методыДля ускорения поиска используются «усовершенствованные» деревья (B+-деревья, R-деревья, имеющие различную структуру листовых вершин и внутренних узлов,…);сочетание

Слайд 44Использованные источники:
КузнецовС.Д. Методы сортировки и поиска. М.: ИСП РАН.
Королёв Л.Н.,

Миков А.И. Информатика. Введение в компьютерные науки. М.: Высшая школа.

Использованные источники:КузнецовС.Д. Методы сортировки и поиска. М.: ИСП РАН.Королёв Л.Н., Миков А.И. Информатика. Введение в компьютерные науки.

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика