СУБД
Oracle "c нуля"
Выпуск 1.
ВВЕДЕНИЕ.
Приветствую всех,
подключившихся к этой рассылке!
Эта рассылка предназначена в
первую очередь для
администраторов СУБД Oracle (и
желающих ими стать), будет
весьма полезна для разработчиков
-прикладников, а также для
пользователей этой сложной
системы. Нас всех ждет
увлекательное путешествие в мире
Oracle, а я помогу не
заблудиться в нем. Начнем мы с
самых азов, с самого простого и
постепенно будем двигаться
дальше и дальше. Предупреждаю
сразу – это будет непросто. Но
ведь Вы готовы разделить со мною
трудности? Если так – то вперед!
Почему это будет трудно для
Вас? Потому что надо не просто
пробежать глазами по тексту, не
просто получить удовольствие от
процесса чтения, не просто
удовлетвориться чтением заумного
материала, а РАБОТАТЬ над
текстом. Именно РАБОТАТЬ. Я
часто буду описывать сложные
взаимосвязи, если Вы их не
изобразите на бумаге, не
проштудируете каждый пункт, то
останется пробел. Пробелы будут
накапливаться, пока не
образуются огромные пустоты. В
конце концов, Вы зададитесь
вопросом: «Чему я научился?».
Думаю, Вы уже догадались, каков
будет ответ. Поставьте перед
собой цель – «понять ВСЕ», если
все же что-то оказалось
непонятным – скорее всего в этом
виноват я. Пишите мне, и в
следующих выпусках мы рассмотрим
непонятные вопросы значительно
подробнее.
Почему это будет трудно для
меня? Дело в том, что я тоже
буду учиться вместе с моими
подписчиками. А так как на мне
лежит ответственность за Ваше
продвижение вперед, так как я
должен буду отвечать на вопросы,
собирать материал, то я просто
обязан идти на шаг вперед. И,
пока Вы будете изучать текущий
выпуск, мне надо будет готовить
следующий.
Как я и обещал, начнем мы с
самого простого.
КРАТКАЯ ИСТОРИЯ ORACLE.
- В 1977г. Ларри Эллисон,
Боб Майнер и Эд Оуэтс
организовали свое дело,
назвав фирму Relational
Software Incorporated (RSI).
Именно эта компания положила
начало системе управления
реляционными базами данных
(СУРБД) Oracle. Эллисон,
Майнер и Оуэтс решили
разработать СУРБД, используя
язык C и SQL-интерфейс. И
вскоре вышла первая версия
(прототип). Покупателям в
1979г. была представлена
СУРБД Oracle версии 2,
которая работала на Digital
PDP-11, под управлением ОС
RSX-11. Затем была
портирована на систему DEC
VAX.
- 1983г. стал вестником
релиза версии 3, который
привнес изменения в язык
SQL, увеличил
производительность системы и
добавил некоторые другие
улучшения. В отличие от
предыдущих, третья версия
была полностью написана на
С. С этого момента RSI
сменила свое название на
Oracle Corporation.
- Oracle версии 4 был
представлен в 1984г. Эта
версия поддерживала как ОС
VAX, так и IBM VM. Эта
версия предоставляла
возможность
многопользовательского
стабильного чтения данных.
Версия 5 появилась в 1985г.
и стала поворотным пунктом
на рынке СУБД, так как
впервые представила
технологию клиент-сервер,
используя SQL*Net. Пятая
версия стала также одной из
первых MS DOS программ,
перешагнувших через 640Kb-ый
барьер.
- В 1988г. Oracle
представила версию 6. В этой
версии появилась
низкоуровневая блокировка и
множество других изменений,
увеличивших
производительность и
функциональность (включая
генерацию
последовательностей и
отложенные записи). Oracle
работает уже на множестве
платформ и на разных
операционных системах. В
1991г. вышел Сервер
Параллельной Обработки СУРБД
Oracle версии 6.1 для
системы DEC VAX. Вскоре эта
версия стала поддерживать и
другие платформы.
- Релиз Oracle 7 вышел в
1992г., было произведено
множество архитектурных
изменений в области памяти и
операций ввода-вывода.
Oracle 7 – это уже
полноценный СУРБД-продукт, к
какому привыкли пользователи
и используется много лет.
- В 1997г. вышла версия 8,
которая привнесла объектную
модель, новые свойства и
средства администрирования.
- В 1999г. вышла версия 8i
(Oracle 8.1.5) со встроенным
языком Java.
- В 2001г. вышла версия
9i. По словам разработчиков,
было сделано более 400
изменений по сравнению с
предыдущей версией.
Характерные изменения –
«интеллектуализация»
автоматизированных систем и
расширение возможностей для
аналитики.
Как видите, продукту Oracle
уже 25 лет, а нам предстоит
наверстать все эти «упущенные»
годы за значительно более
короткий срок. Последняя версия
продукта включает в себя 75
разных серверных продуктов, но
большинство из них выходят за
рамки нашего курса.
ОСНОВНЫЕ ПОНЯТИЯ И УСЛОВНЫЕ
СОКРАЩЕНИЯ.
Прежде, чем мы начнем
изучение Oracle, необходимо,
чтобы всем были ясны термины,
которые будут встречаться в
тексте. В каждом выпуске
рассылки будет раздел «Основные
понятия», чтобы читатели не
тратили свое время на поиск
определений незнакомых слов.
- БД (DB) – База Данных.
Совокупность данных,
специально организованных
для упрощения их извлечения.
База данных – это
действительные данные.
- СУБД (DBMS) – Система
Управления Базами Данных.
Программное обеспечение
Oracle – это СУБД.
- СУРБД (RDBMS) – Система
Управления Реляционными
Базами Данных. Внутренний
доступ к данным
осуществляется реляционным
способом. Oracle – это
СУРБД.
- Буфер – это некоторый
объем оперативной памяти,
используемый для хранения
данных. Буфер содержит
данные, которые
предполагается использовать,
или которые использовались
совсем недавно. В
большинстве случаев, буфер
содержит копию данных,
которые хранятся на жестком
диске. Данные в буфере могут
быть изменены и записаны на
диск, или могут быть
помещены в буфер для
временного хранения.
Применительно к Oracle –
буферы содержат те блоки
данных, к которым недавно
обращались. Совокупность
буферов составляет кэш
буферов данных. Также в
буфере сохраняются временные
записи журнала изменений,
которые затем записываются
на диск (буфер журнала
изменений).
- Кэш – область памяти для
быстрого доступа к данным. С
точки зрения аппаратного
обеспечения – это небольшой
(применительно к оперативной
памяти) объем памяти,
который значительно быстрее
основной памяти. Этот объем
памяти используется для
снижения времени,
необходимого на частую
загрузку данных или
инструкций в центральный
процессор (ЦП). ЦП сам по
себе содержит встроенный
кэш.
- Блок (Block) – самая
маленькая единица хранения
данных в СУБД Oracle.
Содержит заголовочную
информацию и сам блок
(данные или PL/SQL-код).
Размер блока конфигурируется
от 2 до 16Kb.
- Узкое место (Bottleneck)
– компоненты, ограничивающие
производительность или
эффективность системы.
- Словарь данных (Data
Dictionary) – набор таблиц,
используемых для поддержания
информации о БД.
- Контрольная точка
(Checkpoint) – операция,
приводящая к тому, что все
измененные данные (блоки
данных в памяти)
записываются на диск. Это
ключевой фактор в проблеме
быстрого восстановления базы
данных после сбоя.
- Схема (Schema) –
коллекция объектов БД.
- SGA (System Global Area)
– разделяемая область
памяти, используемая для
хранения данных и
управляющей информации
экземпляра Oracle. SGA
размещается в памяти при
запуске экземпляра Oracle, и
освобождается при завершении
работы. SGA составляют
буферы данных, буфер журнала
изменений и разделяемый пул
(shared pool). Это одно из
самых важных понятий и мы
рассмотрим его более
подробно позднее.
КОНФИГУРАЦИИ ORACLE.
Существует много видов
конфигураций. Давайте рассмотрим
основные из них, проанализируем
и определим характеристики.
- OLTP (Online Transaction
Processing) – оперативная
обработка транзакций. Это
самая распространенная
конфигурация. OLTP-система
состоит из пользователей,
которые взаимодействуют с
системой. Эти системы обычно
используются для
оперативного ввода первичной
информации (заполнение
контрактов, проверка номеров
кредитных карт, асинхронные
транзакции и др.).
Характерные черты
OLTP-систем: обычно
поддерживает большое число
пользователей, работающих с
СУРБД. Так как пользователи
ждут возвращения данных на
запросы, то большое значение
имеет время ответа.
OLTP-системы сопряжены с
интенсивными процессами
чтения-записи. В зависимости
от приложения рейтинг
чтения-записи может
варьироваться.
- DSS (Decision Support
System) – системы поддержки
принятия решений,
используются в процессах
принятия решений. Эти
решения могут быть основаны
на такой информации, как
интенсивность продаж в
определенных регионах,
выборка покупателей
определенного продукта,
сортированный список
электронных адресов и др.
Характерные черты DSS: долго
выполняющиеся запросы в
противовес большим объемам
данных. Пользователи
DSS-систем вынуждены ждать
ответа на запрос минуты,
часы, а иногда и несколько
дней. Данные обычно
собираются из разных
источников, а затем
происходит их обработка.
DSS-система сопряжена с
интенсивным процессом чтения
(процессы записи происходят
гораздо реже).
- Хранилище данных (Data
Warehouse) – это
крупномасштабная система,
которая состоит как из OLTP,
так и из DSS. Эти системы,
как правило, работают с
сотнями гигабайт данных и
обслуживают огромное
количество пользователей.
Характерные черты хранилища
данных: имеет некоторые
атрибуты DSS-систем, т.е.
долго выполняющиеся запросы,
а также компоненты для
работы в реальном времени.
Эти компоненты часто
используются в качестве
источников данных для
DSS-запросов.
- Информационная лавка
(Data Mart) – это
уменьшенная версия хранилища
данных (ориентирована на
решение
узкоспециализированных
задач), при этом сохраняет
многие особенности Data
Warehouse.
Характерные черты
информационной лавки: обычно
100 гигабайт данных или
менее. Так же, как и
хранилище данных
поддерживает большое
количество пользователей и
позволяет генерировать
сложные решения.
- Видео-сервер: позволяет
поддерживать большое
количество видеопотоков. Эти
видеопотоки могут
использоваться по заказу, в
качестве развлечения и как
обучающие курсы.
Характерные черты
видео-сервера: должен иметь
широкую полосу пропускания,
чтобы поддерживать несколько
видеопотоков. Также, должен
быть способен справляться с
большой нагрузкой
ввода/вывода. При чтении с
устройств, загружаются сразу
большие блоки данных,
которые мало
фрагментированы.
- Веб-сервер: предназначен
для работы со статическими и
динамическими
веб-страницами. Эти страницы
могут быть как очень
простыми, так и
комплексными, генерируемыми
из базы данных. Веб-сервер
Oracle, как правило,
используется для
коммерческих веб-приложений.
Такие приложения позволяют
покупателям просматривать
каталоги, которые содержат
изображения товаров и даже
видео иллюстрации.
Покупатель может приобрести
понравившийся товар.
Характерные черты
веб-сервера Oracle: обычно
поддерживает значительное
число пользователей,
содержит большое число
данных, к которым обращаются
часто, и, в то же время,
данные, к которым обращаются
не очень часто.
Производительность сервера
может улучшить большое
количество оперативной
памяти.
- OLAP(Online Analytical
Processing) – аналитическая
обработка в реальном
времени. Обычно используется
вместе с многомерными
данными. OLAP-пользователи –
это финансовые аналитики или
маркетинговый персонал,
работающий с данными на
глобальном уровне.
Характерные черты
OLAP-систем: требуют
большого объема дисковой
памяти и мощных
вычислительных систем.
OLAP-система может
поддерживать лишь небольшое
количество пользователей.
Однако число пользователей
зависит от конкретной
конфигурации.
ЗАКЛЮЧЕНИЕ.
Итак, мы познакомились с
историей Oracle Corporation,
выучили несколько важных понятий
и узнали важнейшие конфигурации.
Можете поздравить себя – Вы
начали погружение в чудесный мир
Oracle |