- •Иерархия элементов реляционной модели и способов их представления на уровне хранения
- •Предложение select
- •Предложения модификации Предложение delete имеет формат
- •Into {базовая таблица | представление} [(столбец [,столбец] ...)]
- •Values ({константа | переменная} [,{константа | переменная}] ...);
- •Into {базовая таблица | представление} [(столбец [,столбец] ...)]
- •Системный каталог
- •Управление доступом (предложения grant / revoke )
- •Модификация структуры таблицы (атрибутов):
- •Предложения модификации данных средствами sql Предложение delete имеет формат
- •Into {базовая таблица | представление} [(столбец [,столбец] ...)]
- •Values ({константа | переменная} [,{константа | переменная}] ...);
- •Into {базовая таблица | представление} [(столбец [,столбец] ...)]
- •Ddl: Операторы создания/удаления индексов.
- •Особенности обновления представлений
- •Ограничения (constraints) логической целостности
- •Целостность сущностей.
- •Объявление первичного ключа :
- •Целостность ссылок
- •Объявление внешнего ключа:
- •Триггеры.
- •Любое клиентское приложение может быть подключено к бд одним из двух способов:
- •С использованием специализированной библиотеки доступа (db-dll);
- •С использованием odbc-драйвера (см. Далее).
- •Into переменная [[indicator] индикаторная_переменная]
- •Into переменная [[indicator] индикаторная_переменная]
- •1. «Тупой» : объявление курсора в режиме «только чтение»
- •2. «Продвинутый» : объявление «нечувствительного» курсора (для нашей таблицы s ):
- •Безопасность и управление доступом средствами sql.
- •Понятие транзакций. Уровни изоляции. Проблема отката (rollback) результатов выполнения транзакций.
- •If (обнаружена_ошибка) rollback;
- •If (обнаружена_ошибка) rollback;
- •Структура защищенного хранилища документов «dokyment» Физическая организация нулевого служебного трека нд типа dokyment
- •Физическая организация рабочего трека нд типа dokyment
- •Физическая организация первого трека фд dokyment
- •Физическая организация файлов данных многосуточных архивов arxiv
- •Метод многоуровневого динамического хранения данных .
- •Иерархия объектов системы хранения
- •Приемы сегментирования записей переменной длины Пример физической организации блока, содержащего несегментированные записи на дорожке (треке) бд
- •Пример физической организации блока, содержащего сегментированные записи на дорожке (треке) бд
- •Описание структуры индексов (первичных)
- •Структуры вторичных индексов (прямые указатели на запись по каждому ключу)
- •(Последовательный доступ)
- •(Произвольный доступ)
- •(Последовательно- произвольный доступ)
- •1.3. Операции поиска / вставки / удаления записей в блоках k-d-дерева
- •Клиентская библиотека (sql-интерфейс к odbc-источнику данных)
- •I. Организация сеанса
- •II. Прием и компиляция запроса:
- •Агент_субд (локальный процесс – мультиплексирование обслуживания локальных запросов к удаленному sql-источнику данных)
- •Клиент_субд (локальный процесс – мультиплексирование приема и организации выполнения запросов к локальному sql-источнику данных)
- •Сервер_субд (операции с локальными бд)
- •2.1 Без оптимизации 2.2 Оптимизация плана
- •Индексирование элементов данных. Проблема выбора индексов.
- •1.1. Особенности логической организации (временнОй модели данных)
- •Темпоральные свойства данных, учитываемые при организации хранения
- •1.2. Особенности физической организации
- •1.3. Особенности выполнения запросов с использованием атрибута-времени
- •1.3.1. Выборка данных
- •1.3.2. Модификации данных
- •2.1. Первичные и вторичные индексы в темпоральных бд
- •2.2. Моделирование и анализ данных. Парадоксы времени.
- •Распределение бд в пространственно-временном континууме.
- •1. Использование Proxy-шлюза
- •2. Использование Proxy-шлюзования и мсэ
Физическая организация файлов данных многосуточных архивов arxiv
Файл (набор) данных ARXIV разделен на N суточных наборов данных. Имя суточного набора данных имеет вид: HAДДMMГГ, где ДД - день, MM - месяц, ГГ - год. B каждом суточном наборе содержится информация, помещаемая туда регламентными процессами в ходе суточной реорганизации. Заполнение суточных наборов происходит циклически, т.e. после заполнения N-гo суточного набора будет заполняться первый (самый «старый»).
Суточные наборы данных можно разделить на «прошлые» и «фьючерсные».
«Прошлые» – истекшие (прошедшие) сутки, в которых хранится архивная информация переписанная в ходе суточных реорганизаций и занесённая пользователями.
«Фьючерсные» – за будущие сутки, в которые пользователи могут помещать «информационные заготовки» на будущее. «Фьючерсные» НД состоят из наборов данных будущих суток и набора данных текущих суток. Рано или поздно «фьючерсные» НД становятся «прошлыми». НД прошедших суток и текущих суток должны быть всегда.
Например, пускай сегодня 10 февраля 2007 г. При создании НД ARXIV было определено 29 НД под «прошлые» и 2 под «фьючерсные». Т.е. у нас будут «прошлые» НД: …. НА100207,… и «фьючерсные» НД: НА090507.
Каждый НД HAДДMMГГ имеет свой надсписок и списки.
HД ARXIV
…….
НА100207
…….
НА090507
ARXIV – сегментированный физический НД, НАДДММГГ – логический ФД.
Информация может вноситься и пользователями системы при переключении на соответствующий «суточный» ФД.
Иерархия устройств хранения информации. Решение типовых задач организации хранения данных. Массивы RAID.
Метод многоуровневого динамического хранения данных .
Описание задачи.
В процессе функционирования системы в обслуживаемых специализированных БД (документального типа) постепенно скапливается значительное количество документов либо разового назначения, либо утративших актуальность, необходимости в долговременном хранении и оперативном доступе к которым нет. Объекты хранения (документы или отдельные записи) выборочному удалению не подлежат. В случае востребованности хранимый объект должен быть предоставлен в оперативный доступ должностным лицам при помощи используемых в системе общих методов работы с хранимыми информационными объектами. Иными словами, конечный пользователь не должен ощущать специфику работы с часто и редко используемыми данными. Должно осуществляться автоматическое распределение (перераспределение) множества информационных объектов по иерархическим уровням (областям) системы хранения в зависимости от востребованности каждого объекта со стороны прикладных задач и используемых режимов запросов (чтение/обновление).
Способ решения.
Предлагается способ борьбы с переполнением информационных хранилищ путем автоматического перераспределения данных по иерархическим уровням хранения. В результате на самом нижнем уровне автоматически накапливаются информационные объекты записи (документы или записи таблиц БД), не используемые системой в процессе функционирования и подлежащие перемещению в долговременный архив или (в перспективе) удалению.
Опишем дисциплину хранения информации.
1. Внутри единого пространства БД выделяются 3 иерархические непересекающиеся области размещения информационных объектов (см. схему ниже):
- область типа "М" - содержит только обновляемые (модифицируемые) объекты ;
- область типа "R" - содержит объекты, к которым обращаются только в режиме чтения ;
- область типа "V" - содержит записи, к которым не обращались в течение определенного времени (интервала реорганизации).
2. Все информационные объекты, размещаемые в M – области, к которым осуществляется обращение в режиме «чтение» или «обновление» помечаются текущим значением метки (принимает значения “0” или “1”) в служебной части области хранения объекта, если до этого они не были помечены текущим значением (иными словами - если значение поля метки в служебной части области хранения объекта не совпадает с текущим).
Аналогичным образом, информационные объекты, размещаемые в R – области, к которым осуществляется обращение в режиме «чтение» помечаются текущим значением метки в служебной части области хранения объекта, если значение данного поля также не совпадает с текущим (схема ниже)
3. Обеспечивается возможность перемещения хранимых объектов в направлении "снизу - вверх" (обратном представленной на Схеме_ иерархии областей) в следующих случаях:
а) при добавлении (создании) нового объекта, он помещается в M - область c присвоением объекту текущей метки;
б) при модификации (обновлении) объекта, размещенного в областях R или V, он автоматически перемещается в M - область с корректировкой указателя на него и проставлением в служебной части области хранения объекта текущего значения метки;
в) при чтении (выборке) объекта из V - области он также перемещается в область M с корректировкой указателя на него и проставлением в служебной части области хранения объекта текущего значения метки (аналогично предыдущему пункту).
4. Средства регламентного обслуживания хранилищ данных с заданной периодичностью оценивают объем заполнения каждой из областей хранения (M, R, или V) и сигнализирует о необходимости выполнения операции РАЗГРУЗКИ какой - либо из них.
Операция РАЗГРУЗКИ включает 3 основные функции:
- перемещение объектов, не помеченных текущей меткой, с верхнего уровня хранения на нижний, т.е. из области M в R или из R в V. Этот процесс обеспечивается последовательным просмотром (сканированием) всей исходной разгружаемой области до ее исчерпания либо до заполнения выходной (результирующей) области;
- удаление (чистка или освобождение ) перемещенных записей на прежнем месте посредством повторного сканирования разгружаемой области;
- циклическое переключение значения текущей метки(например, "0" / "1") , относящейся к объектам разгруженной области хранения.
После смены текущего значения метки все ВПЕРВЫЕ читаемые (для R -области) или модифицируемые (для M -области) объекты помечаются «новым» значением текущей метки. В процессе очередной реорганизации хранилища данных объекты со «старым» значением метки будут разгружены на нижние уровни хранения, а их место освобождено. В результате цепочки реорганизаций M R V в последней области автоматически накапливается информация, не используемая системой в процессе ее работы за любой достаточно длительный период времени (зависит от физической емкости внешних устройств хранения, выделенных под эту область).
5. По заполнении V -области с ней могут быть проведены следующие операции:
- очистка (полностью или частично) невостребованных данных;
- выгрузка объектов на отчуждаемые носители с преобразованием в формат архива (Схема _);
- расширение области подключением дополнительных устройств хранения.
Примечания:
Важным свойством описанных механизмов реорганизации является возможность их выполнения в автоматическом режиме, при этом увеличение интенсивности пополнения информационных хранилищ приводит лишь к сокращению интервалов запуска процедур разгрузки областей хранения, при этом в M –области всегда будут поддерживаться наиболее активно читаемые и обновляемые данные (включая индексы БД), а R –область будет содержать только запрашиваемые в режиме чтения информационные объекты. Разумеется, интервалы реорганизации M и R – областей могут существенно различаться.
Существенной особенностью предложенной схемы реорганизации информационных хранилищ является возможность выполнения всех операций без остановки вычислительного процесса обработки данных в АС, при этом прерывание самого процесса реорганизации в произвольный момент времени не приводит к потере хранимых данных.
Каждая из областей хранения, за исключением M –области, может быть многотомной, т.е. состоять из нескольких отдельно адресуемых устройств хранения. Это позволяет обслуживать практически неограниченные объемы информации в оперативном режиме.
Массивы RAID
RAID – Redundant Array of Independent Disks
Основные положения концепции RAID:
- набор (коллекция) физически различных дисков, рассматриваемых ОС как единый логический диск
- используются специальные алгоритмы распределения данных по физическим дискам
- резервируется избыточная емкость дисков для хранения контрольной информации
RAID 0 - простое разбиение логического диска на физические без избыточности с последовательным расщеплением дорожек на N-устройствах.
Трек – 2 |
Трек – 5 |
Трек – 8 |
…. |
Трек - 1 |
Трек - 4 |
Трек - 7 |
…. |
Трек - 0 |
Трек - 3 |
Трек - 6 |
…. |
RAID 1 - дублирование RAID-0
Трек – 2 |
Трек – 5 |
Трек – 8 |
…. |
Трек - 1 |
Трек - 4 |
Трек - 7 |
…. |
Трек - 0 |
Трек - 3 |
Трек - 6 |
…. |
Трек – 2 |
Трек – 5 |
Трек – 8 |
…. |
Трек - 1 |
Трек - 4 |
Трек - 7 |
…. |
Трек - 0 |
Трек - 3 |
Трек - 6 |
…. |
RAID 2-4 - избыточное кодирование на доп. диске (с использованием алгоритмов восстановления, например - по расчету четности), всего используется N+1 диск
Трек - 0 |
Трек - 3 |
Трек - 6 |
…. |
Трек - 1 |
Трек - 4 |
Трек - 7 |
…. |
Трек - 2 |
Трек - 5 |
Трек - 8 |
…. |
H (0/1/2) |
H (3/4/5) |
H (6/7/8) |
…. |
Пример: формирование H ( j / j+1 / j+2 ) восстановление после ошибки чтения трека
Трек-j 1 1 1 1 0 0 0 0 …
Трек-j+1 1 0 1 0 1 0 1 0 …
Трек-j+2 0 0 1 1 1 0 0 0 …
---------------------------------------------
H(j / j+1 / j+2) 0 1 1 0 0 0 1 0 …
RAID 5 - распределение H (j / j+1 / j+2) по N+1 диску
Трек - 0 |
Трек - 3 |
Трек - 6 |
…. |
Трек - 1 |
Трек - 4 |
H (6/7/8) |
…. |
Трек - 2 |
H (3/4/5) |
Трек - 7 |
…. |
H (0/1/2) |
Трек – 5 |
Трек – 8 |
…. |
RAID 6 - распределение H (j / j+1 / j+2) != P (j / j+1 / j+2) по N+2 дискам
Примечание: H (j / j+1 / j+2), P (j / j+1 / j+2) – различные алгоритмы восстановления
Трек - 0 |
Трек - 3 |
Трек - 6 |
…. |
Трек - 1 |
Трек - 4 |
H (6/7/8) |
…. |
Трек - 2 |
H (3/4/5) |
P (6/7/8) |
…. |
H (0/1/2) |
P (3/4/5) |
Трек - 7 |
…. |
P (0/1/2) |
Трек - 5 |
Трек - 8 |
…. |
Представление элементов данных в системе хранения (физический уровень). Иерархия объектов системы хранения. Унификация способов представление данных в гетерогенной вычислительной сети.
Представление элементов данных в системе хранения (физический уровень).