Руководство администратора баз данных Inrformix.
Добавить в закладки К обложке
- 1. Теоретические основы. - Страница 1
- 1.1.1 Основные функции СУБД - Страница 2
- 1.1.2 Типовая организация современной СУБД - Страница 5
- 1.2 Понятие архитектуры клиент-сервер. - Страница 6
- 2. Теоретические основы СУБД сервера Informix OnLine v.7.X - Страница 7
- 2.1.1 Описание продуктов Informix - Страница 8
- 2.1.2 Типовые конфигурации - Страница 9
- 2.2 Архитектура СУБД сервера Informix OnLine v.7.X - Страница 10
- 2.2.1 . Динамическая масштабируемая архитектура - Страница 11
- 2.2.1.1 Потоки - Страница 12
- 2.2.1.2 Виртуальные процессоры - Страница 13
- 2.2.1.3 Планирование потоков - Страница 14
- 2.2.1.4 Разделение потоков между виртуальными процессорами. - Страница 15
- 2.2.1.5 Экономия памяти и других ресурсов - Страница 16
- 2.2.2 Организация разделяемой памяти - Страница 17
- 2.2.3 Организация операций обмена с дисками - Страница 18
- 2.2.3.1 Управление дисковой памятью - Страница 19
- 2.2.3.2 Асинхронный ввод-вывод - Страница 20
- 2.2.3.3 Опережающее чтение - Страница 21
- 2.2.4 Поддержка фрагментации таблиц и индексов - Страница 22
- 2.2.5 Параллельная обработка запросов - Страница 23
- 2.2.5.1 На чем основана технология PDQ - Страница 24
- 2.2.5.2 Итераторы - Страница 25
- 2.2.5.3 Примеры применения параллелизма - Страница 27
- 2.2.5.4 Баланс между OLTP и DSS-приложениями - Страница 28
- 2.2.6 Оптимизатор выполнения запросов по стоимости - Страница 29
- 2.2.7 Средства обеспечения надежности - Страница 30
- 2.2.7.1 . Зеркалирование дисковых областей - Страница 31
- 2.2.7.2 Тиражирование - Страница 32
- 2.2.7.3 Быстрое восстановление при включении системы - Страница 33
- 2.2.7.4 Архивирование и восстановление данных - Страница 34
- 2.2.8 Динамическое администрирование - Страница 35
- 2.2.8.1 Интерфейс мониторинга системы - Страница 36
- 2.2.8.2 Утилита DB/Cockpit - Страница 37
- 2.2.8.3 Утилита OnPerf - Страница 38
- 2.2.8.4 Утилита параллельной загрузки - Страница 39
- 2.2.9 Распределенные вычисления - Страница 40
- 2.2.9.1 Взаимодействие клиент-сервер - Страница 41
- 2.2.9.2 Прозрачность расположения данных - Страница 42
- 2.2.9.3 Распределенные базы данных и протокол двухфазовой фиксации транзакций - Страница 43
- 2.2.10 Поддержка национальных языков - Страница 44
- 2.2.11 Средства безопасности класса С2 - Страница 45
- 2.3 Дополнительные компоненты компании Informix для выполнения специфических задач. - Страница 46
- 2.3.1 Informix-Enterprise Gateway 7.1 - Страница 47
- 2.3.2 Технология и компоненты EDA/SQL - Страница 48
- 2.3.2.1 EDA API/SQL - Страница 49
- 2.3.2.2 EDA/Link - Страница 50
- 2.3.2.3 EDA/SQL Server - Страница 51
- 2.3.2.4 EDA/Data Drivers - Страница 52
- 2.3.3 Возможности Enterprise Gateway - Страница 53
- 2.3.3.1 Прозрачный доступ для чтения и записи - Страница 54
- 2.3.3.2 Распределенные соединения - Страница 55
- 2.3.3.3 Конфигурирование Enterprise Gateway - Страница 56
- 2.3.3.4 Безопасность - Страница 57
- 2.3.4 Библиотеки сопряжения сервера Informix-OnLine DS с менеджерами транзакций: Informix-TP/XA и Informix-TP/TOOLKIT - Страница 58
- 2.4 Заключение - Страница 59
- 2.5 Литература - Страница 61
2.2.4 Поддержка фрагментации таблиц и индексов
INFORMIX-OnLine DS поддерживает горизонтальную локальную фрагментацию таблиц. Это такой способ хранения таблицы, когда совокупность ее строк разбивается на несколько групп согласно некоторому правилу, и эти группы хранятся на разных дисковых разделах. Фрагментация таблиц способствует достижению следующих целей:
Сокращается время обработки одного запроса. Встроенный в INFORMIX-OnLine DS механизм PDQ при обработке запросов использует информацию о фрагментации таблиц и создает для сканирования таблицы несколько параллельных потоков. Если стратегия фрагментации выбрана удачно, то ускорение при выборке из таблицы практически линейно зависит от числа фрагментов (рис. 3).Снижается уровень конкуренции при одновременном обращении нескольких запросов к одной таблице. INFORMIX-OnLine DS анализирует правило фрагментации таблицы и во многих случаях способен определить, что данный запрос относится только к одному ее фрагменту. Если фрагменты хранятся на разных дисковых устройствах, то разным запросам будут соответствовать обращения к разным дискам.Повышается готовность (доступность) приложений. Даже если некоторые фрагменты таблицы недоступны из-за того, что соответствующие диски вышли из строя, запросы к ней, тем не менее, во многих случаях могут выполняться.Улучшаются характеристики административных операций, таких как архивирование-восстановление, загрузка-выгрузка данных, поскольку они применимы к отдельным фрагментам таблиц. Если таблица разбита на малые фрагменты, то ее восстановление при выходе из строя одного фрагмента выполняется значительно оперативнее, чем полное восстановление нефрагментированной таблицы. Полные операции архивирования, восстановления, загрузки, выгрузки данных также ускоряются, поскольку операции ввода-вывода для фрагментов таблицы выполняются параллельно.
Различаются два типа правил фрагментации таблиц:
Равномерное распределение (round robin) - это встроенный в INFORMIX-OnLine DS механизм фрагментации, который обеспечивает примерно равное число записей в каждом фрагменте.Распределение по выражению (by expression) - для каждого фрагмента задается некоторое выражение, зависящее от значений полей записи; истинность выражения определяет, попадет ли запись в данный фрагмент.
Правило разбиения таблицы задается в SQL-инструкциях CREATE TABLE (создать таблицу), ALTER TABLE (изменить таблицу).
Пример:
CREATE TABLE account ...
FRAGMENT BY EXPRESSION
id_num > 0 AND id_num <= 20 IN dbsp1
id_num >20 AND id_num <= 40 IN dbsp2
REMAINDER IN dbsp3
Здесь dbsp1, dbsp2, dbsp3 - имена областей дискового пространства, выделенного под БД.
INFORMIX-OnLine DS поддерживает также фрагментацию индексов.
Различаются два вида фрагментации индексов - зависимая (соответствующая фрагментации таблицы) и независимая. Фрагментированной таблице может соответствовать нефрагментированный индекс. Создание индекса с правилом фрагментации, не совпадающим с правилом фрагментации таблицы, полезно в тех случаях, когда в разных приложениях выборки из таблицы осуществляются на основе разных подмножеств ее атрибутов.
Стратегия фрагментации таблиц и индексов выбирается в зависимости от цели, которая преследуется, от структуры таблицы и характера запросов к ней. Различные стратегии подробно описаны в документации. Например, если основной целью является уменьшение конкуренции при одновременном доступе к таблице, то оптимальной будет фрагментация таблицы по диапазонам значения ключа (или другого столбца, на основе которого производится основной доступ к таблице) и зависимая фрагментация индекса.
INFORMIX-OnLine DS предоставляет средства наблюдения, позволяющие оценить эффективность фрагментации таблиц и индексов по следующим параметрам:
1. Распределение данных по фрагментам;
2. Баланс запросов на ввод-вывод по фрагментам;
3. Статус дисковых областей, содержащих фрагменты.
Если наблюдения показывают, что выбранная стратегия не удовлетворяет поставленной цели, то правила фрагментации могут быть изменены динамически, без остановки сервера.
Важно, что фрагментация таблиц и индексов прозрачна для приложений, работающих с базой данных. Изменение правила фрагментации не требует никаких изменений в прикладных системах - оно лишь повышает (или снижает) скорость и экономичность их выполнения.