3.6. Кластеризация
Кластеризация использует принцип близкого размещения во внешней памяти логически связанных данных. Этим обеспечиваются быстрый поиск и извлечение необходимой информации.
Физически кластеризация достигается размещением логически связанных записей на одной странице (если сделать это позволяют размеры страниц и записей) или на страницах, расположенных рядом. Если из таблицы Сведения о поставках товаров в магазин часто извлекаются сведения для товаров с одинаковыми названиями, а на каждой странице во внешней памяти размещаются две записи, структура хранения может иметь вид (табл. 3.7):
Таблица 3.7
Сведения о поставках товаров в магазин
Номер накладной | Название товара | Артикул | Количество | Дата поставки | Номер страницы |
37 | Костюм | 500 | 50 | 10.12.05 | 1 |
60 | Костюм | 500 | 35 | 11.12.05 | 1 |
28 | Костюм | 300 | 20 | 12.12.05 | 2 |
74 | Костюм | 400 | 50 | 12.12.05 | 2 |
54 | Сапоги | 200 | 75 | 10.12.05 | 5 |
18 | Туфли | 100 | 120 | 11.12.05 | 9 |
80 | Туфли | 100 | 100 | 12.12.05 | 9 |
В результате из множества страниц формируются блоки, называемые кластерами, в каждом из которых хранятся записи с одинаковыми названиями товаров.
Новая запись, вводимая в базу данных, должна быть размещена в конкретном кластере. Этот процесс может быть выполнен на уже имеющейся странице (в рассматриваемом примере, если товар называется Сапоги, на странице с номером 5) или при отсутствии на ней свободного места, на странице физически наиболее близкой (товар Костюм – на странице с номером 3).
Для кластеризированных таблиц можно создать неплотные индексы (см. п. 3.4) с указателями на первые записи, входящие в каждый кластер (блок).
Рассмотренный способ кластеризации реализуется для одного логического объекта (файла) базы данных. Такая кластеризация называется внутрифайловой [ 2 ]. Иногда применяется межфайловая кластеризация, когда на одной странице во внешней памяти размещаются записи из нескольких логических объектов (файлов) базы данных [ 2 ]. Например, на страницах, где содержатся сведения о поставках товаров в магазин с конкретными названиями и артикулами, может храниться информация о таких характеристиках этих товаров, как производитель, поставщик, цена, цвет изделия и т. д. из другого логического объекта. Такой принцип хранения данных может существенно ускорить выполнение запросов, включающих критерии отбора для характеристик, хранимых совместно, но он замедляет поиск информации для всех других запросов. Поэтому кластеризация является оправданной, если к базе данных наиболее часто выполняются запросы одного типа. При этом следует иметь в виду, что одновременно можно реализовать только один вариант кластеризации базы данных, так как речь идет о физическом хранении информации.
- Содержание
- Предисловие
- Введение
- 1. Основные понятия баз данных
- 1.1. Банк данных и его компоненты
- Пользователи
- Прикладные
- 1.2. Модели данных
- 2. Целостность баз данных
- Условие на значение “Парус” or “Волна” or “Лотос”
- 3. Внутренняя организация субд
- 3.1. Общие положения
- 3.2. Линейный список
- 3.3. Инвертированный список
- 3.4. Индексы
- 3.5. Хеширование
- Область переполнения
- 3.6. Кластеризация
- 4. Распределенная обработка данных
- 4.1. Режимы работы с базой данных
- Параллельный
- 4.2. Архитектура «клиент-сервер»
- Приложения
- 4.3. Модели «клиент-сервер»
- 4.4. Управление распределенными данными
- 5. Восстановление баз данных
- 5.1. Транзакции
- 5.2. Журнал транзакций
- 5.3. Выполнение транзакций в многопользовательских системах
- 6. Защита баз данных
- 7. Основы проектирования реляционных баз данных
- 7.1. Этапы проектирования
- 7.2. Построение концептуальной модели предметной области
- 7.3. Логическое проектирование базы данных
- 7.4. Нормализация отношений
- 7.5. Автоматизированные технологии проектирования баз данных
- Заключение
- Библиографический список