БД - есть некоторое количество файлов данных и программ, выполняющих необходимые операции над этими файлами. Файлы данных содержат информацию, хранящуюся в БД. Эту информацию можно разделить на две категории: 1.данные пользователя - используются различными приложениями пользователя; 2.системные данные - информация, необходимая для управления пользовательскими данными и для обеспечения своей работоспособности.
Табличное пространство: Файлы данных группируются в определенных табличных пространствах. Перед вводом информации в БД необходимо сначала создать табличное пространство - table space. А затем только саму таблицу с данными. Пример: Шкаф - это база данных, ящики в шкафу - табличное пространство, папки - файлы данных, листы бумаги - таблицы.
Наличие следующих таблиц пространств обязательно.
1. Системное табличное пространство SYSTEM, в нем содержится информация, необходимая для функционирования БД. Это обязательное табличное пространство.
2. TEMP - временное табличное пространство, в нем все временные таблицы, т.е. oracle при необходимости сохраняет на диске временные файлы (рабочая область на диске для выполнения внутренних транзакций).
|
|
3. Вспомогательное табличное пространство TOOLS, обеспечивает хранение объектов БД, предназначенных для поддержки вспомогательных средств oracle, к которым относится генератор отчетов oracle reports приложение.
4. Пользовательское табличное пространство - USERS - содержит объекты БД, принадлежащие отдельным пользователям.
5. Табличное пространство сегментов отката ROOL BACK, хранится информация, используемая при отмене выполняемых транзакций.
6. (Индекс) INDEX, табличное пространство индексов.
В БД Oracle имеются 2 группы файлов:
1) файлы данных, сгруппированных в табличном пространстве.
2) файлы данных журналов повтора.
Журналы транзакций (повтора): Это специальные файлы операционной системы, в которой Oracle записывает все изменения или транзакции, произведенные в БД при внесении изменений они сохраняются в оперативной памяти сервера для повышения его производительности (дисковый ввод\ вывод в 1000 р. медленнее). На диск записывается только окончательная версия измененных данных, с помощью журналов транзакций можно избежать утраты данных после сбоев. В БД должно быть не менее 2 оперативных журналов повтора, которые работают по жесткому принципу. Пусть есть 2 журнала повтора А и В:
1. По мере того, как транзакции создают, удаляют и модифицируют информацию БД, все изменения заносятся в журнал А.
2. Когда А заполнен целиком происходит переключение журналов и все записывается в журнал В.
Когда В заканчивается, то запись начинается опять в журнал в А и старые записи стираются (вся ранее записанная информация становится недоступной).
|
|
БД Oracle может работать в двух режимах:
1. Arhivelog содержимое всех журналов транзакций сохраняется перед началом их перезаписи, т.е. перед началом заполнения журнала транзакций, его содержимое переписывается в архивную копию.
2. Noarhivelog устанавливается по умолчанию. Сохранения старых журналов транзакций не проводится. Используется для устранения разовых сбоев.
Процессы: Поскольку БД - это набор программ (процессов), обрабатывающих файлы данных, то в ORACLE существует два типа таких программ (процессов):
1. пользовательские (клиентские) - это средства, используемые пользователями для доступа к БД. К ним относятся: среда программирования SQL+, генератор отчетов ORACLE reports, инструментальные средства ORACLE forms.
2. серверные процессы - принимают запросы от пользовательских процессов и непосредственно взаимодействуют с БД при выполнении этих запросов, т.е. с помощью серверных процессов осуществляется доступ пользовательских процессов к содержимому БД.
Различают следующие серверные процессы:
1. системный процесс записи в БД. Database Writer (DBWR) √ обязательный системный процесс, записывающий измененные блоки данных в соответствующие файлы, т.е. вносятся изменения в файлы данных на физическом уровне.
2. генератор контрольных точек. Checkpoint (CKPT) √ необязательный процесс, осуществляет контроль за тем, чтобы все изменения данных были действительно записаны на диск в момент сохранения контрольной точки.
3. процесс записи в журналы. LOG Writer (LGWR) √ обязательный процесс. Записывает данные в журналы повтора.
4. системный монитор. System Monitor (SMON) √ обязательный процесс, выполняющий процедуры восстановления при запуске БД.
5. монитор процессов. Process Monitor (PMON) √ обязательный процесс, освобождает занятые пользователем ресурсы в случае аварийного завершения его сеанса работы.
Необязательные процессы
1. Arhive (архиватор) √ создание архивных копий журнала повторов в режиме Arhivelog;
2. Lock √ процесс блокировки, используется в режиме параллельного сервера (это обязательный процесс);
3. Recoverer (RECO) √ процесс восстановления, необходимый процесс, используемый в режиме распределенного сервера.
Архитектура √ это сборное понятие.
Структура памяти и взаимодействие между процессами:В сервере ORACLE используется два типа областей памяти:
1.Глобальная системная область (System Global Area √ SGA)
2.Глобальная область программ (Program Global Area √ PGA)
SGA называется место в памяти, где БД ORACLE хранит информацию о своей структуре, необходимую для всех выполняющихся процессов.
SGA совместно используется всеми серверными и пользовательскими процессами.
SGA располагается в оперативной памяти.
SGA включает в себя 4 основные части:
1. КЭШ √ буфер данных (Data Cache) √ это область, где БД хранит самые свежие блоки данных, прочитанные с диска. При вводе в БД новой информации, она сначала попадает в КЭШ √ буфер и только затем становится доступной всем пользовательским процессам.
2. КЭШ √ словарь или строковый КЭШ (Dictionary cache) √ содержит строки из словаря БД, в котором записана вся информация, необходимая для нормального функционирования БД. Например, то, каким пользователям разрешен доступ к БД, какие объекты БД принадлежат конкретным пользователям и где эти объекты расположены.
3. Буфер журнала повтора (REDOLOG) √ перед записью транзакции в журнал повтора, она попадает вначале в буфер, который периодически сбрасывается в журнал повтора.
4. Разделяемая SQL √ область (SQLAREA) √ служит КЭШ √ буфером программ пользователей.
Кэш √ словарь Dictionory CACHE | Буфер журнала повтора REDO LDG |
Кэш-буфер данных DATA CACHE | SQL - область SQL - AREA |
Тема 14. Ограничения целостности. Технология оперативной обработки транзакций (OLTP -технология). Информационные хранилища. OLAP - технология. Проблема создания и сжатия больших информационных массивов, информационных хранилищ и складов данных.
|
|
В 60х гг. появились АИС предназначенные для хранения и обработки информации. По мере интеллектуализации АИС появилась возможность обработки текстовых документов на естественном языке (изображения и другие виды и формы представления данных).
Принципы хранения данных в системе обработки фактической и документальной информации схожи, но алгоритмы их обработки различаются. Таким образом выделяют 2 крупных класса информационных систем:
- Документальные
- Фактографические
Документальные системы служат для работы с документами на естественном языке, это монографии, публикации, сообщения, различные тексты. Они обеспечивают их смысловой анализ при неполном представлении смысла. Наиболее распространенный тип документальных систем - это информационно поисковые системы (ИПС), предназначенные для накопления, поиска по разным критериям документов на естественном языке.
Другой большой класс - фактографические системы, они оперируют фактическими сведениями, представлены специальным образом в виде организованных совокупностей формализованных записей данных. Фактографические системы используются не только для реализации справочных функций, но и для решения задач обработки данных и предоставление итоговых данных пользователям в табличной форме.