СУБД Oracle, базы данных, запросы SQL. Обучение, курсы Oracle для чайников, начинающих и профессионалов. Новичкам. Oracle с нуля. Выпуск 1

Источник: oracloid
oracloid

Эта статья предназначена в первую очередь для администраторов СУБД 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 - буферы содержат те блоки данных, к которым недавно обращались. Совокупность буферов составляет кэш буферов данных (database buffer cache). Также в буфере сохраняются временные записи журнала операций, которые затем записываются на диск (буфер журнала операций).

Кэш - область памяти для быстрого доступа к данным. С точки зрения аппаратного обеспечения - это небольшой (применительно к оперативной памяти) объем памяти, который значительно быстрее основной памяти. Этот объем памяти используется для снижения времени, необходимого на частую загрузку данных или инструкций в центральный процессор (ЦП). ЦП сам по себе содержит встроенный кэш. В Oracle кэшем считается набор буферов (block buffers - т.е. блоки данных в оперативной памяти) и разделяемый пул (shared pool), поскольку они служат для хранения данных и инструкций, способствующих быстрому доступу. Кэширование - очень полезный механизм, значительно увеличивающий скорость доступа к данным. Так как обычно не удается уместить все буферы в оперативной памяти, то применяют специальные алгоритмы (самый распространенный - это хранение наиболее часто используемых блоков).

Блок (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.


Страница сайта http://www.interface.ru
Оригинал находится по адресу http://www.interface.ru/home.asp?artId=32992